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.
elemental function byte_size_I4P(i)result(bytes)!< Compute the number of bytes of an integer variable.!<!<```fortran!< use penf!< print FI1P, byte_size(1_I4P)!<```!=> 4 <<<integer(I4P),intent(in)::i!< Integer variable whose number of bytes must be computed.integer(I1P)::bytes!< Number of bytes of i.bytes=bit_size(i)/8_I1Pendfunction byte_size_I4P