integer_to_string Function

private function integer_to_string(i, with_sign) result(str)

Convert an integer to a string.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i

the integer

logical, intent(in), optional :: with_sign

also include the sign (default is False)

Return Value character(len=:), allocatable

integer converted to a string


Called by

proc~~integer_to_string~~CalledByGraph proc~integer_to_string numerical_differentiation_module::integer_to_string proc~get_formula numerical_differentiation_module::finite_diff_method%get_formula proc~get_formula->proc~integer_to_string proc~set_numdiff_bounds numerical_differentiation_module::numdiff_type%set_numdiff_bounds proc~set_numdiff_bounds->proc~integer_to_string proc~get_finite_diff_formula numerical_differentiation_module::get_finite_diff_formula proc~get_finite_diff_formula->proc~get_formula proc~initialize_numdiff numerical_differentiation_module::numdiff_type%initialize_numdiff proc~initialize_numdiff->proc~set_numdiff_bounds proc~initialize_numdiff_for_diff numerical_differentiation_module::numdiff_type%initialize_numdiff_for_diff proc~initialize_numdiff_for_diff->proc~set_numdiff_bounds

Source Code

    function integer_to_string(i, with_sign) result(str)

    implicit none

    integer,intent(in)           :: i           !! the integer
    logical,intent(in),optional  :: with_sign   !! also include the sign (default is False)
    character(len=:),allocatable :: str         !! integer converted to a string

    integer :: istat !! `iostat` code for write statement
    character(len=100) :: tmp !!
    logical :: sgn !! local copy of `with_sign`

    if (present(with_sign)) then
        sgn = with_sign
    else
        sgn = .false.
    end if

    if (sgn) then
        write(tmp,'(SP,I100)',iostat=istat) i
    else
        write(tmp,'(I100)',iostat=istat) i
    end if

    if (istat == 0) then
        str = trim(adjustl(tmp))
    else
        str = '****'
    end if

    end function integer_to_string