b64_decode_R4 Subroutine

private elemental subroutine b64_decode_R4(code, n)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: code
real(kind=R4P), intent(out) :: n

Calls

proc~~b64_decode_r4~~CallsGraph proc~b64_decode_r4 b64_decode_R4 proc~decode_bits decode_bits proc~b64_decode_r4->proc~decode_bits

Called by

proc~~b64_decode_r4~~CalledByGraph proc~b64_decode_r4 b64_decode_R4 interface~b64_decode b64_decode interface~b64_decode->proc~b64_decode_r4 proc~b64_decode_up b64_decode_up proc~b64_decode_up->proc~b64_decode_r4 proc~decode string%decode proc~decode->interface~b64_decode proc~decode~2 string%decode proc~decode~2->interface~b64_decode program~volatile_doctest~1002 volatile_doctest program~volatile_doctest~1002->interface~b64_decode program~volatile_doctest~1089 volatile_doctest program~volatile_doctest~1089->interface~b64_decode program~volatile_doctest~1091 volatile_doctest program~volatile_doctest~1091->interface~b64_decode program~volatile_doctest~1093 volatile_doctest program~volatile_doctest~1093->interface~b64_decode program~volatile_doctest~1111 volatile_doctest program~volatile_doctest~1111->interface~b64_decode program~volatile_doctest~1127 volatile_doctest program~volatile_doctest~1127->interface~b64_decode program~volatile_doctest~1149 volatile_doctest program~volatile_doctest~1149->interface~b64_decode program~volatile_doctest~1199 volatile_doctest program~volatile_doctest~1199->interface~b64_decode program~volatile_doctest~1218 volatile_doctest program~volatile_doctest~1218->interface~b64_decode program~volatile_doctest~1222 volatile_doctest program~volatile_doctest~1222->interface~b64_decode program~volatile_doctest~1251 volatile_doctest program~volatile_doctest~1251->interface~b64_decode program~volatile_doctest~138 volatile_doctest program~volatile_doctest~138->interface~b64_decode program~volatile_doctest~144 volatile_doctest program~volatile_doctest~144->interface~b64_decode program~volatile_doctest~145 volatile_doctest program~volatile_doctest~145->interface~b64_decode program~volatile_doctest~181 volatile_doctest program~volatile_doctest~181->interface~b64_decode program~volatile_doctest~2 volatile_doctest program~volatile_doctest~2->interface~b64_decode program~volatile_doctest~202 volatile_doctest program~volatile_doctest~202->interface~b64_decode program~volatile_doctest~225 volatile_doctest program~volatile_doctest~225->interface~b64_decode program~volatile_doctest~265 volatile_doctest program~volatile_doctest~265->interface~b64_decode program~volatile_doctest~27 volatile_doctest program~volatile_doctest~27->interface~b64_decode program~volatile_doctest~281 volatile_doctest program~volatile_doctest~281->interface~b64_decode program~volatile_doctest~297 volatile_doctest program~volatile_doctest~297->interface~b64_decode program~volatile_doctest~315 volatile_doctest program~volatile_doctest~315->interface~b64_decode program~volatile_doctest~337 volatile_doctest program~volatile_doctest~337->interface~b64_decode program~volatile_doctest~339 volatile_doctest program~volatile_doctest~339->interface~b64_decode program~volatile_doctest~342 volatile_doctest program~volatile_doctest~342->interface~b64_decode program~volatile_doctest~365 volatile_doctest program~volatile_doctest~365->interface~b64_decode program~volatile_doctest~374 volatile_doctest program~volatile_doctest~374->interface~b64_decode program~volatile_doctest~382 volatile_doctest program~volatile_doctest~382->interface~b64_decode program~volatile_doctest~408 volatile_doctest program~volatile_doctest~408->interface~b64_decode program~volatile_doctest~412 volatile_doctest program~volatile_doctest~412->interface~b64_decode program~volatile_doctest~418 volatile_doctest program~volatile_doctest~418->interface~b64_decode program~volatile_doctest~443 volatile_doctest program~volatile_doctest~443->interface~b64_decode program~volatile_doctest~451 volatile_doctest program~volatile_doctest~451->interface~b64_decode program~volatile_doctest~519 volatile_doctest program~volatile_doctest~519->interface~b64_decode program~volatile_doctest~538 volatile_doctest program~volatile_doctest~538->interface~b64_decode program~volatile_doctest~542 volatile_doctest program~volatile_doctest~542->interface~b64_decode program~volatile_doctest~597 volatile_doctest program~volatile_doctest~597->interface~b64_decode program~volatile_doctest~598 volatile_doctest program~volatile_doctest~598->interface~b64_decode program~volatile_doctest~6 volatile_doctest program~volatile_doctest~6->interface~b64_decode program~volatile_doctest~614 volatile_doctest program~volatile_doctest~614->interface~b64_decode program~volatile_doctest~618 volatile_doctest program~volatile_doctest~618->interface~b64_decode program~volatile_doctest~621 volatile_doctest program~volatile_doctest~621->interface~b64_decode program~volatile_doctest~648 volatile_doctest program~volatile_doctest~648->interface~b64_decode program~volatile_doctest~667 volatile_doctest program~volatile_doctest~667->interface~b64_decode program~volatile_doctest~684 volatile_doctest program~volatile_doctest~684->interface~b64_decode program~volatile_doctest~703 volatile_doctest program~volatile_doctest~703->interface~b64_decode program~volatile_doctest~720 volatile_doctest program~volatile_doctest~720->interface~b64_decode program~volatile_doctest~731 volatile_doctest program~volatile_doctest~731->interface~b64_decode program~volatile_doctest~749 volatile_doctest program~volatile_doctest~749->interface~b64_decode program~volatile_doctest~785 volatile_doctest program~volatile_doctest~785->interface~b64_decode program~volatile_doctest~79 volatile_doctest program~volatile_doctest~79->interface~b64_decode program~volatile_doctest~795 volatile_doctest program~volatile_doctest~795->interface~b64_decode program~volatile_doctest~801 volatile_doctest program~volatile_doctest~801->interface~b64_decode program~volatile_doctest~803 volatile_doctest program~volatile_doctest~803->interface~b64_decode program~volatile_doctest~807 volatile_doctest program~volatile_doctest~807->interface~b64_decode program~volatile_doctest~812 volatile_doctest program~volatile_doctest~812->interface~b64_decode program~volatile_doctest~828 volatile_doctest program~volatile_doctest~828->interface~b64_decode program~volatile_doctest~848 volatile_doctest program~volatile_doctest~848->interface~b64_decode program~volatile_doctest~851 volatile_doctest program~volatile_doctest~851->interface~b64_decode program~volatile_doctest~861 volatile_doctest program~volatile_doctest~861->interface~b64_decode program~volatile_doctest~865 volatile_doctest program~volatile_doctest~865->interface~b64_decode program~volatile_doctest~872 volatile_doctest program~volatile_doctest~872->interface~b64_decode program~volatile_doctest~919 volatile_doctest program~volatile_doctest~919->interface~b64_decode program~volatile_doctest~319 volatile_doctest program~volatile_doctest~319->proc~decode program~volatile_doctest~8 volatile_doctest program~volatile_doctest~8->proc~decode

Source Code

   elemental subroutine b64_decode_R4(code, n)
   !< Decode a base64 code into a scalar number (R4P).
   !<
   !<```fortran
   !< use befor64
   !< use penf
   !< real(R4P) :: scalar_R4
   !< call b64_decode(code='AAAAAA==',n=scalar_R4)
   !< print "(L1)", scalar_R4==0._R4P
   !<```
   !=> T <<<
   character(*), intent(in)  :: code    !< Encoded scalar.
   real(R4P),    intent(out) :: n       !< Number to be decoded.
   integer(I1P), allocatable :: nI1P(:) !< One byte integer array containing n.

   allocate(nI1P(1:BYR4P)) ; nI1P = 0_I1P
   call decode_bits(code=code,bits=nI1P)
   n = transfer(nI1P,n)
   endsubroutine b64_decode_R4