Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
public function METIS_Free(ptr) result(ierr) bind(C,name="METIS_Free")
Arguments
Type
Intent
Optional
Attributes
Name
type(c_ptr),
value
::
ptr
The pointer to be freed. This pointer should be one of the xadj or adjncy
arrays returned by METIS' API routines.
Return Value integer(kind=idx_t)
METIS_OK - Indicates that the function returned normally.
Description
Frees the memory that was allocated by either the METIS_MeshToDual or the
METIS_MeshToNodal routines for returning the dual or nodal graph of a mesh.
Warning
Memory deallocation should always happen on the same side it was allocated!
Also check the descriptions of the above-mentioned routines.
Example
type(c_ptr)::xadj(:),adjncy(:)call METIS_MeshToNodal(...,xadj,adjncy)! xadj and adjncy should be deallocated on the C side! ;)call METIS_Free(xadj)call METIS_Free(adjncy)