to_integer_I2P Function

private elemental function to_integer_I2P(self, kind) result(to_number)

Cast string to integer (I2P).

 use penf
 type(string) :: astring
 integer(I2P) :: integer_
 logical      :: test_passed(1)
 astring = '127'
 integer_ = astring%to_number(kind=1_I2P)
 test_passed(1) = integer_==127_I2P
 print '(L1)', all(test_passed)

Type Bound

string

Arguments

Type IntentOptional Attributes Name
class(string), intent(in) :: self

The string.

integer(kind=I2P), intent(in) :: kind

Mold parameter for kind detection.

Return Value integer(kind=I2P)

The number into the string.


Calls

proc~~to_integer_i2p~~CallsGraph proc~to_integer_i2p string%to_integer_I2P proc~is_integer string%is_integer proc~to_integer_i2p->proc~is_integer

Called by

proc~~to_integer_i2p~~CalledByGraph proc~to_integer_i2p string%to_integer_I2P none~to_number string%to_number none~to_number->proc~to_integer_i2p program~stringifor_test_csv_naive_parser stringifor_test_csv_naive_parser program~stringifor_test_csv_naive_parser->none~to_number program~volatile_doctest~101 volatile_doctest program~volatile_doctest~101->none~to_number program~volatile_doctest~25 volatile_doctest program~volatile_doctest~25->none~to_number program~volatile_doctest~30 volatile_doctest program~volatile_doctest~30->none~to_number program~volatile_doctest~34 volatile_doctest program~volatile_doctest~34->none~to_number program~volatile_doctest~35 volatile_doctest program~volatile_doctest~35->none~to_number program~volatile_doctest~49 volatile_doctest program~volatile_doctest~49->none~to_number program~volatile_doctest~51 volatile_doctest program~volatile_doctest~51->none~to_number program~volatile_doctest~52 volatile_doctest program~volatile_doctest~52->none~to_number program~volatile_doctest~64 volatile_doctest program~volatile_doctest~64->none~to_number program~volatile_doctest~71 volatile_doctest program~volatile_doctest~71->none~to_number program~volatile_doctest~74 volatile_doctest program~volatile_doctest~74->none~to_number program~volatile_doctest~76 volatile_doctest program~volatile_doctest~76->none~to_number program~volatile_doctest~79 volatile_doctest program~volatile_doctest~79->none~to_number program~volatile_doctest~83 volatile_doctest program~volatile_doctest~83->none~to_number

Source Code

   elemental function to_integer_I2P(self, kind) result(to_number)
   !< Cast string to integer (I2P).
   !<
   !<```fortran
   !< use penf
   !< type(string) :: astring
   !< integer(I2P) :: integer_
   !< logical      :: test_passed(1)
   !< astring = '127'
   !< integer_ = astring%to_number(kind=1_I2P)
   !< test_passed(1) = integer_==127_I2P
   !< print '(L1)', all(test_passed)
   !<```
   !=> T <<<
   class(string), intent(in) :: self      !< The string.
   integer(I2P),  intent(in) :: kind      !< Mold parameter for kind detection.
   integer(I2P)              :: to_number !< The number into the string.

   if (allocated(self%raw)) then
     if (self%is_integer()) read(self%raw, *) to_number
   endif
   endfunction to_integer_I2P