b64_decode_up Subroutine

public subroutine b64_decode_up(code, up)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: code
class(*), intent(out) :: up

Calls

proc~~b64_decode_up~2~~CallsGraph proc~b64_decode_up~2 b64_decode_up proc~b64_decode_r8~2 b64_decode_R8 proc~b64_decode_up~2->proc~b64_decode_r8~2 proc~b64_decode_i2~2 b64_decode_I2 proc~b64_decode_up~2->proc~b64_decode_i2~2 proc~b64_decode_i8~2 b64_decode_I8 proc~b64_decode_up~2->proc~b64_decode_i8~2 proc~b64_decode_string~2 b64_decode_string proc~b64_decode_up~2->proc~b64_decode_string~2 proc~b64_decode_r4~2 b64_decode_R4 proc~b64_decode_up~2->proc~b64_decode_r4~2 proc~b64_decode_i4~2 b64_decode_I4 proc~b64_decode_up~2->proc~b64_decode_i4~2 proc~b64_decode_i1~2 b64_decode_I1 proc~b64_decode_up~2->proc~b64_decode_i1~2 proc~decode_bits~2 decode_bits proc~b64_decode_r8~2->proc~decode_bits~2 proc~b64_decode_i2~2->proc~decode_bits~2 proc~b64_decode_i8~2->proc~decode_bits~2 proc~b64_decode_string~2->proc~decode_bits~2 interface~byte_size byte_size proc~b64_decode_string~2->interface~byte_size proc~b64_decode_r4~2->proc~decode_bits~2 proc~b64_decode_i4~2->proc~decode_bits~2 proc~b64_decode_i1~2->proc~decode_bits~2 proc~byte_size_i1p byte_size_I1P interface~byte_size->proc~byte_size_i1p proc~byte_size_r4p byte_size_R4P interface~byte_size->proc~byte_size_r4p proc~byte_size_i4p byte_size_I4P interface~byte_size->proc~byte_size_i4p proc~byte_size_i8p byte_size_I8P interface~byte_size->proc~byte_size_i8p proc~byte_size_r8p byte_size_R8P interface~byte_size->proc~byte_size_r8p proc~byte_size_i2p byte_size_I2P interface~byte_size->proc~byte_size_i2p proc~byte_size_chr byte_size_chr interface~byte_size->proc~byte_size_chr

Contents

Source Code


Source Code

   subroutine b64_decode_up(code, up)
   !< Decode an unlimited polymorphic scalar from base64.
   !<
   !<```fortran
   !< use befor64
   !< use penf
   !< integer(I4P) :: scalar_I4
   !< call b64_decode_up(code='5wcAAA==',up=scalar_I4)
   !< print "(L1)", scalar_I4==2023_I4P
   !<```
   !=> T <<<
   character(*), intent(in)  :: code !< Encoded scalar.
   class(*),     intent(out) :: up   !< Unlimited polymorphic variable to be decoded.

   select type(up)
   type is(real(R8P))
      call b64_decode_R8(code=code,n=up)
   type is(real(R4P))
      call b64_decode_R4(code=code,n=up)
   type is(integer(I8P))
      call b64_decode_I8(code=code,n=up)
   type is(integer(I4P))
      call b64_decode_I4(code=code,n=up)
   type is(integer(I2P))
      call b64_decode_I2(code=code,n=up)
   type is(integer(I1P))
      call b64_decode_I1(code=code,n=up)
   type is(character(*))
      call b64_decode_string(code=code,s=up)
   endselect
   endsubroutine b64_decode_up