penf Module

module~~penf~3~~UsesGraph module~penf~3 penf module~penf_global_parameters_variables penf_global_parameters_variables module~penf_global_parameters_variables->module~penf~3 module~penf_b_size~4 penf_b_size module~penf_global_parameters_variables->module~penf_b_size~4 module~penf_stringify~3 penf_stringify module~penf_global_parameters_variables->module~penf_stringify~3 module~penf_b_size~4->module~penf~3 module~penf_b_size~4->module~penf_stringify~3 module~penf_stringify~3->module~penf~3 iso_fortran_env iso_fortran_env iso_fortran_env->module~penf_stringify~3
Help

Portability Environment for Fortran poor people.

Used By

module~~penf~3~~UsedByGraph module~penf~3 penf module~fury_uom_symbol128 fury_uom_symbol128 module~penf~3->module~fury_uom_symbol128 program~compact_real compact_real module~penf~3->program~compact_real module~fury_system_si64 fury_system_si64 module~penf~3->module~fury_system_si64 module~fury_system_si128 fury_system_si128 module~penf~3->module~fury_system_si128 module~befor64_pack_data_m~2 befor64_pack_data_m module~penf~3->module~befor64_pack_data_m~2 program~compact_real~2 compact_real module~penf~3->program~compact_real~2 module~fury_qreal128 fury_qreal128 module~penf~3->module~fury_qreal128 module~fury_uom_symbol32 fury_uom_symbol32 module~penf~3->module~fury_uom_symbol32 program~compact_real~3 compact_real module~penf~3->program~compact_real~3 module~fury_uom64 fury_uom64 module~penf~3->module~fury_uom64 module~stringifor stringifor module~penf~3->module~stringifor program~test_all test_all module~penf~3->program~test_all module~befor64~2 befor64 module~penf~3->module~befor64~2 module~fury_uom_converter fury_uom_converter module~penf~3->module~fury_uom_converter module~stringifor_string_t stringifor_string_t module~penf~3->module~stringifor_string_t module~befor64_pack_data_m befor64_pack_data_m module~penf~3->module~befor64_pack_data_m module~fury fury module~penf~3->module~fury module~befor64 befor64 module~penf~3->module~befor64 module~fury_mixed_kinds fury_mixed_kinds module~penf~3->module~fury_mixed_kinds module~fury_uom_reference64 fury_uom_reference64 module~penf~3->module~fury_uom_reference64 module~fury_system_abstract32 fury_system_abstract32 module~penf~3->module~fury_system_abstract32 module~fury_qreal32 fury_qreal32 module~penf~3->module~fury_qreal32 module~fury_qreal64 fury_qreal64 module~penf~3->module~fury_qreal64 module~fury_system_abstract64 fury_system_abstract64 module~penf~3->module~fury_system_abstract64 module~fury_uom_symbol64 fury_uom_symbol64 module~penf~3->module~fury_uom_symbol64 module~fury_uom32 fury_uom32 module~penf~3->module~fury_uom32 module~fury_uom128 fury_uom128 module~penf~3->module~fury_uom128 module~fury_uom_reference32 fury_uom_reference32 module~penf~3->module~fury_uom_reference32 module~fury_system_abstract128 fury_system_abstract128 module~penf~3->module~fury_system_abstract128 program~test_all~2 test_all module~penf~3->program~test_all~2 module~fury_uom_reference128 fury_uom_reference128 module~penf~3->module~fury_uom_reference128 program~test_all~3 test_all module~penf~3->program~test_all~3 module~fury_system_si32 fury_system_si32 module~penf~3->module~fury_system_si32 module~fury_uom_symbol128->module~fury module~fury_uom_symbol128->module~fury_mixed_kinds module~fury_uom_symbol128->module~fury_uom128 module~fury_uom_symbol128->module~fury_uom_reference128 module~fury_system_si64->module~fury module~fury_system_si128->module~fury module~befor64_pack_data_m~2->module~befor64~2 module~befor64_pack_data_m~2->module~befor64 module~fury_qreal128->module~fury_system_si128 module~fury_qreal128->module~fury module~fury_qreal128->module~fury_mixed_kinds module~fury_qreal128->module~fury_system_abstract128 module~fury_uom_symbol32->module~fury module~fury_uom_symbol32->module~fury_mixed_kinds module~fury_uom_symbol32->module~fury_uom32 module~fury_uom_symbol32->module~fury_uom_reference32 module~fury_uom64->module~fury_system_si64 module~fury_uom64->module~fury module~fury_uom64->module~fury_mixed_kinds module~fury_uom64->module~fury_qreal64 module~fury_uom64->module~fury_system_abstract64 module~stringifor->module~fury_uom_symbol128 module~stringifor->module~fury_system_si64 module~stringifor->module~fury_system_si128 module~stringifor->module~fury_qreal128 module~stringifor->module~fury_uom_symbol32 module~stringifor->module~fury_uom64 module~stringifor->module~fury module~stringifor->module~fury_mixed_kinds module~stringifor->module~fury_uom_reference64 module~stringifor->module~fury_system_abstract32 module~stringifor->module~fury_qreal32 module~stringifor->module~fury_qreal64 module~stringifor->module~fury_system_abstract64 module~stringifor->module~fury_uom_symbol64 module~stringifor->module~fury_uom32 module~stringifor->module~fury_uom128 module~stringifor->module~fury_uom_reference32 module~stringifor->module~fury_system_abstract128 module~stringifor->module~fury_uom_reference128 module~stringifor->module~fury_system_si32 program~write_file write_file module~stringifor->program~write_file program~join join module~stringifor->program~join program~decode decode module~stringifor->program~decode program~srepeat srepeat module~stringifor->program~srepeat program~encode encode module~stringifor->program~encode program~to_number to_number module~stringifor->program~to_number program~search search module~stringifor->program~search program~equal equal module~stringifor->program~equal program~reverse reverse module~stringifor->program~reverse program~basename_dir basename_dir module~stringifor->program~basename_dir program~split split module~stringifor->program~split program~escape escape module~stringifor->program~escape program~swapcase swapcase module~stringifor->program~swapcase program~not_equal not_equal module~stringifor->program~not_equal program~slice slice module~stringifor->program~slice program~extension extension module~stringifor->program~extension program~fill fill module~stringifor->program~fill program~free free module~stringifor->program~free program~snakecase snakecase module~stringifor->program~snakecase program~is_real is_real module~stringifor->program~is_real program~read_file read_file module~stringifor->program~read_file program~replace replace module~stringifor->program~replace program~sadjustlr sadjustlr module~stringifor->program~sadjustlr program~read_line read_line module~stringifor->program~read_line program~insert insert module~stringifor->program~insert program~greater_equal_than greater_equal_than module~stringifor->program~greater_equal_than program~is_number is_number module~stringifor->program~is_number program~strim strim module~stringifor->program~strim program~read_lines read_lines module~stringifor->program~read_lines program~sindex sindex module~stringifor->program~sindex program~greater_than greater_than module~stringifor->program~greater_than program~strip strip module~stringifor->program~strip program~startcase startcase module~stringifor->program~startcase program~camelcase camelcase module~stringifor->program~camelcase program~is_integer is_integer module~stringifor->program~is_integer program~sverify sverify module~stringifor->program~sverify program~lower_equal_than lower_equal_than module~stringifor->program~lower_equal_than program~upper_lower upper_lower module~stringifor->program~upper_lower program~partition partition module~stringifor->program~partition program~write_lines write_lines module~stringifor->program~write_lines program~csv_naive_parser csv_naive_parser module~stringifor->program~csv_naive_parser program~is_digit is_digit module~stringifor->program~is_digit program~count_string count_string module~stringifor->program~count_string program~sscan sscan module~stringifor->program~sscan program~assignments assignments module~stringifor->program~assignments program~io_formatted io_formatted module~stringifor->program~io_formatted program~unique unique module~stringifor->program~unique program~slen slen module~stringifor->program~slen program~concatenation concatenation module~stringifor->program~concatenation program~capitalize capitalize module~stringifor->program~capitalize program~io_basic io_basic module~stringifor->program~io_basic program~unescape unescape module~stringifor->program~unescape program~start_end start_end module~stringifor->program~start_end program~lower_than lower_than module~stringifor->program~lower_than module~fury_uom_converter->module~fury_uom_symbol128 module~fury_uom_converter->module~fury_uom_symbol32 module~fury_uom_converter->module~fury_uom64 module~fury_uom_converter->module~fury module~fury_uom_converter->module~fury_mixed_kinds module~fury_uom_converter->module~fury_uom_reference64 module~fury_uom_converter->module~fury_uom_symbol64 module~fury_uom_converter->module~fury_uom32 module~fury_uom_converter->module~fury_uom128 module~fury_uom_converter->module~fury_uom_reference32 module~fury_uom_converter->module~fury_uom_reference128 module~stringifor_string_t->module~stringifor program~fury_test_qreal_div_mixed fury_test_qreal_div_mixed module~fury->program~fury_test_qreal_div_mixed program~fury_test_qreal_eq fury_test_qreal_eq module~fury->program~fury_test_qreal_eq program~fury_test_uom_div fury_test_uom_div module~fury->program~fury_test_uom_div program~fury_test_qreal_eq_mixed fury_test_qreal_eq_mixed module~fury->program~fury_test_qreal_eq_mixed program~fury_test_uom_mul fury_test_uom_mul module~fury->program~fury_test_uom_mul program~fury_test_qreal_mul fury_test_qreal_mul module~fury->program~fury_test_qreal_mul program~fury_test_bolt32 fury_test_bolt32 module~fury->program~fury_test_bolt32 program~fury_test_uom_sub_failure fury_test_uom_sub_failure module~fury->program~fury_test_uom_sub_failure program~fury_test_qreal_mul_mixed fury_test_qreal_mul_mixed module~fury->program~fury_test_qreal_mul_mixed program~fury_test_bolt64 fury_test_bolt64 module~fury->program~fury_test_bolt64 program~fury_test_qreal_not_eq fury_test_qreal_not_eq module~fury->program~fury_test_qreal_not_eq program~fury_test_system_si fury_test_system_si module~fury->program~fury_test_system_si program~fury_test_uom_sub fury_test_uom_sub module~fury->program~fury_test_uom_sub program~fury_test_qreal_not_eq_mixed fury_test_qreal_not_eq_mixed module~fury->program~fury_test_qreal_not_eq_mixed program~fury_test_qreal_sub_failure fury_test_qreal_sub_failure module~fury->program~fury_test_qreal_sub_failure program~fury_test_qreal_pow fury_test_qreal_pow module~fury->program~fury_test_qreal_pow program~fury_test_uom_aliases fury_test_uom_aliases module~fury->program~fury_test_uom_aliases program~fury_test_qreal_sub fury_test_qreal_sub module~fury->program~fury_test_qreal_sub program~fury_test_uom_parse_failure fury_test_uom_parse_failure module~fury->program~fury_test_uom_parse_failure program~fury_test_qreal_add_aliases_failure fury_test_qreal_add_aliases_failure module~fury->program~fury_test_qreal_add_aliases_failure program~fury_test_qreal_add_failure fury_test_qreal_add_failure module~fury->program~fury_test_qreal_add_failure module~dbm_to_mw_converter dBm_to_mW_converter module~fury->module~dbm_to_mw_converter program~fury_test_qreal_sub_mixed fury_test_qreal_sub_mixed module~fury->program~fury_test_qreal_sub_mixed program~fury_test_qreal_add_mixed fury_test_qreal_add_mixed module~fury->program~fury_test_qreal_add_mixed program~fury_test_qreal_add fury_test_qreal_add module~fury->program~fury_test_qreal_add program~fury_test_qreal_sub_mixed_failure fury_test_qreal_sub_mixed_failure module~fury->program~fury_test_qreal_sub_mixed_failure program~fury_test_qreal_add_mixed_failure fury_test_qreal_add_mixed_failure module~fury->program~fury_test_qreal_add_mixed_failure program~fury_test_qreal_aliases fury_test_qreal_aliases module~fury->program~fury_test_qreal_aliases program~fury_test_uom_add fury_test_uom_add module~fury->program~fury_test_uom_add program~fury_test_qreal_assign fury_test_qreal_assign module~fury->program~fury_test_qreal_assign program~fury_test_uom_add_failure fury_test_uom_add_failure module~fury->program~fury_test_uom_add_failure program~fury_test_uom_assign fury_test_uom_assign module~fury->program~fury_test_uom_assign program~fury_test_qreal_conversions_complex fury_test_qreal_conversions_complex module~fury->program~fury_test_qreal_conversions_complex program~fury_test_qreal_conversions_si fury_test_qreal_conversions_si module~fury->program~fury_test_qreal_conversions_si program~fury_test_uom_pow fury_test_uom_pow module~fury->program~fury_test_uom_pow program~fury_test_qreal_conversions_simple fury_test_qreal_conversions_simple module~fury->program~fury_test_qreal_conversions_simple program~fury_test_uom_assign_failure fury_test_uom_assign_failure module~fury->program~fury_test_uom_assign_failure program~fury_test_qreal_div fury_test_qreal_div module~fury->program~fury_test_qreal_div module~befor64->module~stringifor_string_t program~test_driver Test_Driver module~befor64->program~test_driver module~fury_mixed_kinds->module~fury module~fury_uom_reference64->module~fury_uom64 module~fury_uom_reference64->module~fury module~fury_uom_reference64->module~fury_mixed_kinds module~fury_uom_reference64->module~fury_system_abstract64 module~fury_system_abstract32->module~fury module~fury_system_abstract32->module~fury_system_si32 module~fury_qreal32->module~fury module~fury_qreal32->module~fury_mixed_kinds module~fury_qreal32->module~fury_system_abstract32 module~fury_qreal32->module~fury_system_si32 module~fury_qreal64->module~fury_system_si64 module~fury_qreal64->module~fury module~fury_qreal64->module~fury_mixed_kinds module~fury_qreal64->module~fury_system_abstract64 module~fury_system_abstract64->module~fury_system_si64 module~fury_system_abstract64->module~fury module~fury_uom_symbol64->module~fury_uom64 module~fury_uom_symbol64->module~fury module~fury_uom_symbol64->module~fury_mixed_kinds module~fury_uom_symbol64->module~fury_uom_reference64 module~fury_uom32->module~fury module~fury_uom32->module~fury_mixed_kinds module~fury_uom32->module~fury_system_abstract32 module~fury_uom32->module~fury_qreal32 module~fury_uom32->module~fury_system_si32 module~fury_uom128->module~fury_system_si128 module~fury_uom128->module~fury_qreal128 module~fury_uom128->module~fury module~fury_uom128->module~fury_mixed_kinds module~fury_uom128->module~fury_system_abstract128 module~fury_uom_reference32->module~fury module~fury_uom_reference32->module~fury_mixed_kinds module~fury_uom_reference32->module~fury_system_abstract32 module~fury_uom_reference32->module~fury_uom32 module~fury_system_abstract128->module~fury_system_si128 module~fury_system_abstract128->module~fury module~fury_uom_reference128->module~fury module~fury_uom_reference128->module~fury_mixed_kinds module~fury_uom_reference128->module~fury_uom128 module~fury_uom_reference128->module~fury_system_abstract128 module~fury_system_si32->module~fury module~dbm_to_mw_converter->program~fury_test_qreal_conversions_complex
Help


Interfaces

public interface bit_size

Overloading of the intrinsic bit_size function for computing the number of bits of (also) real and character variables.

public interface digit

Compute the number of digits in decimal base of the input integer.

  • private elemental function digit_I8(n) result(digit)

    Compute the number of digits in decimal base of the input integer.

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I8P), intent(in) :: n

    Input integer.

    Return Value integer(kind=I4P)

    Number of digits.

  • private elemental function digit_I4(n) result(digit)

    Compute the number of digits in decimal base of the input integer.

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I4P), intent(in) :: n

    Input integer.

    Return Value integer(kind=I4P)

    Number of digits.

  • private elemental function digit_I2(n) result(digit)

    Compute the number of digits in decimal base of the input integer.

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I2P), intent(in) :: n

    Input integer.

    Return Value integer(kind=I4P)

    Number of digits.

  • private elemental function digit_I1(n) result(digit)

    Compute the number of digits in decimal base of the input integer.

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I1P), intent(in) :: n

    Input integer.

    Return Value integer(kind=I4P)

    Number of digits.


Functions

private elemental function digit_I8(n) result(digit)

Compute the number of digits in decimal base of the input integer.

Arguments

Type IntentOptional AttributesName
integer(kind=I8P), intent(in) :: n

Input integer.

Return Value integer(kind=I4P)

Number of digits.

private elemental function digit_I4(n) result(digit)

Compute the number of digits in decimal base of the input integer.

Arguments

Type IntentOptional AttributesName
integer(kind=I4P), intent(in) :: n

Input integer.

Return Value integer(kind=I4P)

Number of digits.

private elemental function digit_I2(n) result(digit)

Compute the number of digits in decimal base of the input integer.

Arguments

Type IntentOptional AttributesName
integer(kind=I2P), intent(in) :: n

Input integer.

Return Value integer(kind=I4P)

Number of digits.

private elemental function digit_I1(n) result(digit)

Compute the number of digits in decimal base of the input integer.

Arguments

Type IntentOptional AttributesName
integer(kind=I1P), intent(in) :: n

Input integer.

Return Value integer(kind=I4P)

Number of digits.


Subroutines

public subroutine check_endian()

Check the type of bit ordering (big or little endian) of the running architecture.

Arguments

None

public subroutine penf_init()

Initialize PENF's variables that are not initialized into the definition specification.

Arguments

None

public subroutine penf_print(unit, pref, iostat, iomsg)

Print to the specified unit the PENF's environment data.

Arguments

Type IntentOptional AttributesName
integer(kind=I4P), intent(in) :: unit

Logic unit.

character(len=*), intent(in), optional :: pref

Prefixing string.

integer(kind=I4P), intent(out), optional :: iostat

IO error.

character(len=*), intent(out), optional :: iomsg

IO error message.