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.
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.
Source Code
elemental function str_R8P(n,no_sign,compact)result(str)!< Convert real to string.!<!<```fortran!< use penf!< print "(A)", str(n=-1._R8P)!<```!=> -0.100000000000000E+001 <<<!<!<```fortran!< use penf!< print "(A)", str(n=-1._R8P, no_sign=.true.)!<```!=> 0.100000000000000E+001 <<<!<!<```fortran!< use penf!< print "(A)", str(n=-1._R8P, compact=.true.)!<```!=> -0.1E+1 <<<real(R8P),intent(in)::n!< Real to be converted.logical,intent(in),optional::no_sign!< Flag for leaving out the sign.logical,intent(in),optional::compact!< Flag for *compacting* string encoding.character(DR8P)::str!< Returned string containing input number.write(str,FR8P)n! Casting of n to string.if(n>0._R8P)str(1:1)='+'! Prefixing plus if n>0.if(present(no_sign))str=str(2:)! Leaving out the sign.if(present(compact))then if(compact)call compact_real_string(string=str)endif endfunction str_R8P