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.
Source Code
pure integer(int64)function periodic_operator_checksum(target_nodes,operator)result(checksum)integer(i32),intent(in)::target_nodes(:)real(dp),intent(in)::operator(:,:,:)integer(int8),allocatable::bytes(:)integer::idxchecksum=-3750763034362895579_int64bytes=transfer(target_nodes,bytes,size(target_nodes)*storage_size(0_i32)/8)do idx=1,size(bytes)checksum=ieor(checksum,int(bytes(idx),int64))checksum=checksum*int(z'00000100000001B3',int64)end dobytes=transfer(operator,bytes,size(operator)*storage_size(0.0_dp)/8)do idx=1,size(bytes)checksum=ieor(checksum,int(bytes(idx),int64))checksum=checksum*int(z'00000100000001B3',int64)end do end function periodic_operator_checksum