fury_test_uom_aliases Program

program~~fury_test_uom_aliases~~UsesGraph program~fury_test_uom_aliases fury_test_uom_aliases module~fury fury module~fury->program~fury_test_uom_aliases module~fury_uom_symbol128 fury_uom_symbol128 module~fury_uom_symbol128->module~fury module~fury_mixed_kinds fury_mixed_kinds module~fury_uom_symbol128->module~fury_mixed_kinds module~fury_uom128 fury_uom128 module~fury_uom_symbol128->module~fury_uom128 module~fury_uom_reference128 fury_uom_reference128 module~fury_uom_symbol128->module~fury_uom_reference128 module~penf~3 penf module~penf~3->module~fury module~penf~3->module~fury_uom_symbol128 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~fury_qreal128 fury_qreal128 module~penf~3->module~fury_qreal128 module~fury_uom_symbol32 fury_uom_symbol32 module~penf~3->module~fury_uom_symbol32 module~fury_uom64 fury_uom64 module~penf~3->module~fury_uom64 module~stringifor stringifor module~penf~3->module~stringifor module~fury_system_abstract128 fury_system_abstract128 module~penf~3->module~fury_system_abstract128 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_uom_symbol64 fury_uom_symbol64 module~penf~3->module~fury_uom_symbol64 module~fury_system_abstract64 fury_system_abstract64 module~penf~3->module~fury_system_abstract64 module~fury_qreal64 fury_qreal64 module~penf~3->module~fury_qreal64 module~fury_uom32 fury_uom32 module~penf~3->module~fury_uom32 module~penf~3->module~fury_uom128 module~fury_uom_reference32 fury_uom_reference32 module~penf~3->module~fury_uom_reference32 module~fury_uom_converter fury_uom_converter module~penf~3->module~fury_uom_converter module~penf~3->module~fury_uom_reference128 module~fury_system_si32 fury_system_si32 module~penf~3->module~fury_system_si32 module~stringifor_string_t stringifor_string_t module~penf~3->module~stringifor_string_t module~befor64 befor64 module~penf~3->module~befor64 module~befor64_pack_data_m~2 befor64_pack_data_m module~penf~3->module~befor64_pack_data_m~2 module~fury_system_si64->module~fury iso_fortran_env iso_fortran_env iso_fortran_env->module~fury iso_fortran_env->module~fury_uom_symbol128 iso_fortran_env->module~fury_qreal128 iso_fortran_env->module~fury_uom_symbol32 iso_fortran_env->module~fury_uom64 iso_fortran_env->module~fury_mixed_kinds iso_fortran_env->module~fury_uom_reference64 iso_fortran_env->module~fury_qreal32 iso_fortran_env->module~fury_uom_symbol64 iso_fortran_env->module~fury_qreal64 iso_fortran_env->module~fury_uom32 iso_fortran_env->module~fury_uom128 iso_fortran_env->module~fury_uom_reference32 iso_fortran_env->module~fury_uom_reference128 module~penf_stringify~3 penf_stringify iso_fortran_env->module~penf_stringify~3 module~fury_system_si128->module~fury module~fury_qreal128->module~fury module~fury_qreal128->module~fury_system_si128 module~fury_qreal128->module~fury_system_abstract128 module~fury_qreal128->module~fury_mixed_kinds 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 module~fury_uom64->module~fury_system_si64 module~fury_uom64->module~fury_mixed_kinds module~fury_uom64->module~fury_system_abstract64 module~fury_uom64->module~fury_qreal64 module~stringifor->module~fury 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_system_abstract128 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_uom_symbol64 module~stringifor->module~fury_system_abstract64 module~stringifor->module~fury_qreal64 module~stringifor->module~fury_uom32 module~stringifor->module~fury_uom128 module~stringifor->module~fury_uom_reference32 module~stringifor->module~fury_uom_reference128 module~stringifor->module~fury_system_si32 module~fury_system_abstract128->module~fury module~fury_system_abstract128->module~fury_system_si128 module~fury_mixed_kinds->module~fury module~fury_uom_reference64->module~fury module~fury_uom_reference64->module~fury_uom64 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_uom_symbol64->module~fury module~fury_uom_symbol64->module~fury_uom64 module~fury_uom_symbol64->module~fury_mixed_kinds module~fury_uom_symbol64->module~fury_uom_reference64 module~fury_system_abstract64->module~fury module~fury_system_abstract64->module~fury_system_si64 module~fury_qreal64->module~fury module~fury_qreal64->module~fury_system_si64 module~fury_qreal64->module~fury_mixed_kinds module~fury_qreal64->module~fury_system_abstract64 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 module~fury_uom128->module~fury_system_si128 module~fury_uom128->module~fury_qreal128 module~fury_uom128->module~fury_system_abstract128 module~fury_uom128->module~fury_mixed_kinds 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_uom_converter->module~fury 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_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~fury_uom_reference128->module~fury module~fury_uom_reference128->module~fury_system_abstract128 module~fury_uom_reference128->module~fury_mixed_kinds module~fury_uom_reference128->module~fury_uom128 module~fury_system_si32->module~fury 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_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 module~stringifor_string_t->module~stringifor module~befor64->module~stringifor_string_t module~befor64_pack_data_m~2->module~befor64
Help


FURY test of uom.

Calls

program~~fury_test_uom_aliases~~CallsGraph program~fury_test_uom_aliases fury_test_uom_aliases uom64 uom64 program~fury_test_uom_aliases->uom64 uom_reference64 uom_reference64 program~fury_test_uom_aliases->uom_reference64
Help

Source Code


Variables

Type AttributesNameInitial
type(uom64) :: si_frequency

SI frequency unit.

type(uom64) :: si_pressure

SI pressure unit.

type(uom64) :: a_unit

A unit.

type(uom_reference64) :: a_unit_reference

A unit reference.

logical :: test_passed(9)

List of passed tests.


Source Code

program fury_test_uom_aliases
!-----------------------------------------------------------------------------------------------------------------------------------
!< FURY test of [[uom]].
!<
!< @TODO fix to success
!-----------------------------------------------------------------------------------------------------------------------------------
use fury
!-----------------------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------------------
type(uom64)           :: si_frequency     !< SI frequency unit.
type(uom64)           :: si_pressure      !< SI pressure unit.
type(uom64)           :: a_unit           !< A unit.
type(uom_reference64) :: a_unit_reference !< A unit reference.
logical               :: test_passed(9)   !< List of passed tests.
!-----------------------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------------------
! test_passed = .false.
test_passed = .true.
print "(A,L1)", new_line('a')//'Are all tests passed? ', all(test_passed)
stop

a_unit = uom64('Pa[pressure] {pascal}')
si_pressure = uom64('kg [mass].m-1 [length-1].s-2 [time-2] (Pa[pressure]) {pascal}')
test_passed(1) = a_unit == si_pressure
print "(A,L1)", 'Pa = '//si_pressure%stringify()//', is correct? ', test_passed(1)

a_unit_reference = uom_reference64('kg')
test_passed(2) = si_pressure%has_reference(reference=a_unit_reference)
print "(A,L1)", si_pressure%stringify(with_aliases=.true.)//' has symbol kg, is correct? ', test_passed(2)

si_frequency = uom64('Hz [frequency]')
call a_unit%unset
a_unit = uom64('s-1 = Hz = hertz [frequency]') / si_frequency
test_passed(3) = a_unit%stringify()=='s0'
print "(A,L1)", 's-1/Hz = '//a_unit%stringify()//', is correct? ', test_passed(3)

call a_unit%unset
a_unit = si_frequency / uom64('s-1 = Hz = hertz [frequency]')
test_passed(4) = a_unit%stringify()=='Hz0'
print "(A,L1)", 'Hz/s-1 = '//a_unit%stringify()//', is correct? ', test_passed(4)

call a_unit%unset
a_unit = uom64('kHz = 1000 * hertz = 1000 * s-1 [frequency]')
test_passed(5) = a_unit%stringify(with_aliases=.true.)==&
                 'kHz = +0.100000000000000E+004 * hertz = +0.100000000000000E+004 * s-1'
print "(A,L1)", 'kHz = 1000 * hertz = 1000 * s-1 [frequency] == '//a_unit%stringify(with_aliases=.true., compact_reals=.true.)//&
  ', is correct? ', test_passed(5)

call a_unit%unset
a_unit = si_frequency / uom64('kHz = 1000 * Hz [frequency]')
test_passed(6) = a_unit%stringify()=='+0.100000000000000E-002 * Hz0'
print "(A,L1)", 'Hz/kHz == '//a_unit%stringify(compact_reals=.true.)//', is correct? ', test_passed(6)

call a_unit%unset
a_unit = uom64('kHz = 1000 * Hz [frequency]') / si_frequency
test_passed(7) = a_unit%stringify()=='kHz0'
print "(A,L1)", 'kHz/Hz == '//a_unit%stringify()//', is correct? ', test_passed(7)

call a_unit%unset
a_unit = si_frequency * uom64('kHz = 1000 * Hz [frequency]')
test_passed(8) = a_unit%stringify()=='+0.100000000000000E+004 * Hz2'
print "(A,L1)", 'Hz*kHz == '//a_unit%stringify(compact_reals=.true.)//', is correct? ', test_passed(8)

call a_unit%unset
a_unit = uom64('kHz = 1000 * Hz [frequency]') * si_frequency
test_passed(9) = a_unit%stringify()=='kHz2'
print "(A,L1)", 'kHz*Hz == '//a_unit%stringify()//', is correct? ', test_passed(9)

print "(A,L1)", new_line('a')//'Are all tests passed? ', all(test_passed)
stop
!-----------------------------------------------------------------------------------------------------------------------------------
endprogram fury_test_uom_aliases