bctor_R4P Function

private elemental function bctor_R4P(bstr, knd) result(n)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: bstr
real(kind=R4P), intent(in) :: knd

Return Value real(kind=R4P)


Called by

proc~~bctor_r4p~~CalledByGraph proc~bctor_r4p bctor_R4P interface~bcton bcton interface~bcton->proc~bctor_r4p program~volatile_doctest~1001 volatile_doctest program~volatile_doctest~1001->interface~bcton program~volatile_doctest~1062 volatile_doctest program~volatile_doctest~1062->interface~bcton program~volatile_doctest~109 volatile_doctest program~volatile_doctest~109->interface~bcton program~volatile_doctest~1128 volatile_doctest program~volatile_doctest~1128->interface~bcton program~volatile_doctest~1131 volatile_doctest program~volatile_doctest~1131->interface~bcton program~volatile_doctest~1134 volatile_doctest program~volatile_doctest~1134->interface~bcton program~volatile_doctest~1135 volatile_doctest program~volatile_doctest~1135->interface~bcton program~volatile_doctest~1227 volatile_doctest program~volatile_doctest~1227->interface~bcton program~volatile_doctest~1292 volatile_doctest program~volatile_doctest~1292->interface~bcton program~volatile_doctest~1318 volatile_doctest program~volatile_doctest~1318->interface~bcton program~volatile_doctest~1347 volatile_doctest program~volatile_doctest~1347->interface~bcton program~volatile_doctest~1436 volatile_doctest program~volatile_doctest~1436->interface~bcton program~volatile_doctest~145 volatile_doctest program~volatile_doctest~145->interface~bcton program~volatile_doctest~1502 volatile_doctest program~volatile_doctest~1502->interface~bcton program~volatile_doctest~1652 volatile_doctest program~volatile_doctest~1652->interface~bcton program~volatile_doctest~1660 volatile_doctest program~volatile_doctest~1660->interface~bcton program~volatile_doctest~1685 volatile_doctest program~volatile_doctest~1685->interface~bcton program~volatile_doctest~1690 volatile_doctest program~volatile_doctest~1690->interface~bcton program~volatile_doctest~1721 volatile_doctest program~volatile_doctest~1721->interface~bcton program~volatile_doctest~1729 volatile_doctest program~volatile_doctest~1729->interface~bcton program~volatile_doctest~1731 volatile_doctest program~volatile_doctest~1731->interface~bcton program~volatile_doctest~177 volatile_doctest program~volatile_doctest~177->interface~bcton program~volatile_doctest~1775 volatile_doctest program~volatile_doctest~1775->interface~bcton program~volatile_doctest~1778 volatile_doctest program~volatile_doctest~1778->interface~bcton program~volatile_doctest~1889 volatile_doctest program~volatile_doctest~1889->interface~bcton program~volatile_doctest~1914 volatile_doctest program~volatile_doctest~1914->interface~bcton program~volatile_doctest~1935 volatile_doctest program~volatile_doctest~1935->interface~bcton program~volatile_doctest~210 volatile_doctest program~volatile_doctest~210->interface~bcton program~volatile_doctest~221 volatile_doctest program~volatile_doctest~221->interface~bcton program~volatile_doctest~277 volatile_doctest program~volatile_doctest~277->interface~bcton program~volatile_doctest~325 volatile_doctest program~volatile_doctest~325->interface~bcton program~volatile_doctest~332 volatile_doctest program~volatile_doctest~332->interface~bcton program~volatile_doctest~334 volatile_doctest program~volatile_doctest~334->interface~bcton program~volatile_doctest~351 volatile_doctest program~volatile_doctest~351->interface~bcton program~volatile_doctest~425 volatile_doctest program~volatile_doctest~425->interface~bcton program~volatile_doctest~428 volatile_doctest program~volatile_doctest~428->interface~bcton program~volatile_doctest~479 volatile_doctest program~volatile_doctest~479->interface~bcton program~volatile_doctest~544 volatile_doctest program~volatile_doctest~544->interface~bcton program~volatile_doctest~596 volatile_doctest program~volatile_doctest~596->interface~bcton program~volatile_doctest~616 volatile_doctest program~volatile_doctest~616->interface~bcton program~volatile_doctest~631 volatile_doctest program~volatile_doctest~631->interface~bcton program~volatile_doctest~809 volatile_doctest program~volatile_doctest~809->interface~bcton program~volatile_doctest~83 volatile_doctest program~volatile_doctest~83->interface~bcton program~volatile_doctest~836 volatile_doctest program~volatile_doctest~836->interface~bcton program~volatile_doctest~842 volatile_doctest program~volatile_doctest~842->interface~bcton program~volatile_doctest~857 volatile_doctest program~volatile_doctest~857->interface~bcton program~volatile_doctest~90 volatile_doctest program~volatile_doctest~90->interface~bcton program~volatile_doctest~902 volatile_doctest program~volatile_doctest~902->interface~bcton program~volatile_doctest~983 volatile_doctest program~volatile_doctest~983->interface~bcton

Source Code

   elemental function bctor_R4P(bstr, knd) result(n)
   !< Convert bit-string to real.
   !<
   !<```fortran
   !< use penf
   !< print FR4P, bcton('00000000000000001000000000111111', knd=1._R4P)
   !<```
   !=> 0.100000E+01 <<<
   character(*), intent(in) :: bstr      !< String containing input number.
   real(R4P),    intent(in) :: knd       !< Number kind.
   real(R4P)                :: n         !< Number returned.
   integer(I1P)             :: buffer(4) !< Transfer buffer.

   read(bstr, '(4B8.8)') buffer
   n = transfer(buffer, n)
   endfunction bctor_R4P