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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine darray_destroy(handle)integer(int32),intent(in)::handletype(darray_t),pointer::arrif(handle<1.or.handle>MAX_ARRAYS)returnarr=>registry(handle)if(.not.arr%active)return call global_comm%barrier()call arr%win%finalize()! Nullify the appropriate data pointer based on dtypeselect case(arr%dtype)case(DTYPE_DP)nullify(arr%data_dp)case(DTYPE_SP)nullify(arr%data_sp)case(DTYPE_I32)nullify(arr%data_i32)case(DTYPE_I64)nullify(arr%data_i64)end selectarr%active=.false.arr%handle=-1arr%dtype=0end subroutine darray_destroy