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
subroutine b64_decode_up_a(code,up)!< Decode an unlimited polymorphic array from base64.!<!<```fortran!< use befor64!< use penf!< integer(I8P) :: array_I8(1:4)!< call b64_decode_up(code='FwAAAAAAAABEAQAAAAAAABBwhAEAAAAAAgAAAAAAAAA=', up=array_I8)!< print "(L1)", str(n=array_I8)==str(n=[23_I8P,324_I8P,25456656_I8P,2_I8P])!<```!=> T <<<character(*),intent(in)::code!< Encoded array.class(*),intent(out)::up(1:)!< Unlimited polymorphic variable to be decoded.select type(up)type is(real(R8P))call b64_decode_R8_a(code=code,n=up)type is(real(R4P))call b64_decode_R4_a(code=code,n=up)type is(integer(I8P))call b64_decode_I8_a(code=code,n=up)type is(integer(I4P))call b64_decode_I4_a(code=code,n=up)type is(integer(I2P))call b64_decode_I2_a(code=code,n=up)type is(integer(I1P))call b64_decode_I1_a(code=code,n=up)type is(character(*))call b64_decode_string_a(code=code,s=up)endselect endsubroutine b64_decode_up_a