b64_decode_up Subroutine

public subroutine b64_decode_up(code, up)

Decode an unlimited polymorphic scalar from base64.

 use befor64
 use penf
 integer(I4P) :: scalar_I4
 call b64_decode_up(code='5wcAAA==',up=scalar_I4)
 print "(L1)", scalar_I4==2023_I4P

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: code

Encoded scalar.

class(*), intent(out) :: up

Unlimited polymorphic variable to be decoded.

Calls

proc~~b64_decode_up~~CallsGraph proc~b64_decode_up b64_decode_up proc~b64_decode_r8 b64_decode_R8 proc~b64_decode_up->proc~b64_decode_r8 proc~b64_decode_i8 b64_decode_I8 proc~b64_decode_up->proc~b64_decode_i8 proc~b64_decode_string b64_decode_string proc~b64_decode_up->proc~b64_decode_string proc~b64_decode_i1 b64_decode_I1 proc~b64_decode_up->proc~b64_decode_i1 proc~b64_decode_r4 b64_decode_R4 proc~b64_decode_up->proc~b64_decode_r4 proc~b64_decode_i4 b64_decode_I4 proc~b64_decode_up->proc~b64_decode_i4 proc~b64_decode_i2 b64_decode_I2 proc~b64_decode_up->proc~b64_decode_i2 proc~decode_bits decode_bits proc~b64_decode_r8->proc~decode_bits proc~b64_decode_i8->proc~decode_bits proc~b64_decode_string->proc~decode_bits byte_size byte_size proc~b64_decode_string->byte_size proc~b64_decode_i1->proc~decode_bits proc~b64_decode_r4->proc~decode_bits proc~b64_decode_i4->proc~decode_bits proc~b64_decode_i2->proc~decode_bits
Help

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