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 strf_I4P(fm,n)result(str)!< Convert integer to string.!<!<```fortran!< use penf!< print "(A)", str(fm=FI4P, n=1_I4P)!<```!=> 1 <<<character(*),intent(in)::fm!< Format different from the standard for the kind.integer(I4P),intent(in)::n!< Integer to be converted.character(DI4P)::str!< Returned string containing input number.write(str,trim(fm))nendfunction strf_I4P