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 bit_size_chr(i)result(bits)!< Compute the number of bits of a character variable.!<!<```fortran!< use penf!< print FI4P, bit_size('ab')!<```!=> 16 <<<character(*),intent(IN)::i!< Character variable whose number of bits must be computed.integer(I4P)::bits!< Number of bits of c.integer(I1P)::mold(1)!< "Molding" dummy variable for bits counting.bits=size(transfer(i,mold),dim=1,kind=I4P)*8_I4Pendfunction bit_size_chr