fury_test_qreal_div Program

program~~fury_test_qreal_div~~UsesGraph program~fury_test_qreal_div fury_test_qreal_div module~fury fury module~fury->program~fury_test_qreal_div 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 qreal.

Calls

program~~fury_test_qreal_div~~CallsGraph program~fury_test_qreal_div fury_test_qreal_div qreal64 qreal64 program~fury_test_qreal_div->qreal64 uom64 uom64 program~fury_test_qreal_div->uom64
Help

Source Code


Variables

Type AttributesNameInitial
type(qreal64) :: force1

A force.

type(qreal64) :: force2

A force.

type(qreal64) :: force3

A force.

type(uom64) :: u_acceleration

Acceleration unit.

type(uom64) :: u_force

Force unit.

type(uom64) :: u_length

Length unit.

type(uom64) :: u_mass

Mass unit.

type(uom64) :: u_speed

Speed unit.

type(uom64) :: u_time

Time unit.

logical :: test_passed(8)

List of passed tests.


Source Code

program fury_test_qreal_div
!-----------------------------------------------------------------------------------------------------------------------------------
!< FURY test of [[qreal]].
!-----------------------------------------------------------------------------------------------------------------------------------
use fury
!-----------------------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------------------
type(qreal64) :: force1         !< A force.
type(qreal64) :: force2         !< A force.
type(qreal64) :: force3         !< A force.
type(uom64)   :: u_acceleration !< Acceleration unit.
type(uom64)   :: u_force        !< Force unit.
type(uom64)   :: u_length       !< Length unit.
type(uom64)   :: u_mass         !< Mass unit.
type(uom64)   :: u_speed        !< Speed unit.
type(uom64)   :: u_time         !< Time unit.
logical       :: test_passed(8) !< List of passed tests.
!-----------------------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------------------
test_passed = .false.

u_length = uom64(source='m [length]', name='metre')
u_mass = uom64(source='kg [mass]', name='kilogram')
u_time = uom64(source='s [time]', name='second')

u_speed = u_length / u_time
u_acceleration = u_speed / u_time
u_force = u_mass * u_acceleration

force1 = qreal64(magnitude=1._R_P, unit=u_force)
force2 = qreal64(magnitude=2._R_P, unit=u_force)

force3 = force1 / force2
test_passed(1) = force3%stringify(format='(F3.1)')=='0.5 kg0.m0.s0'
print "(A,L1)", '1.0 kg.m.s-2 / 2.0 kg.m.s-2 = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(1)

call force3%unset

force3 = force1 / 2._R16P ; test_passed(2) = force3%stringify(format='(F3.1)')=='0.5 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 / 2._R16P = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(2)
force3 = force1 / 2._R8P  ; test_passed(3) = force3%stringify(format='(F3.1)')=='0.5 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 / 2._R8P  = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(3)
force3 = force1 / 2._R4P  ; test_passed(4) = force3%stringify(format='(F3.1)')=='0.5 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 / 2._R4P  = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(4)
force3 = force1 / 2_I8P   ; test_passed(5) = force3%stringify(format='(F3.1)')=='0.5 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 / 2_I8P   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(5)
force3 = force1 / 2_I4P   ; test_passed(6) = force3%stringify(format='(F3.1)')=='0.5 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 / 2_I4P   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(6)
force3 = force1 / 2_I2P   ; test_passed(7) = force3%stringify(format='(F3.1)')=='0.5 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 / 2_I2P   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(7)
force3 = force1 / 2_I1P   ; test_passed(8) = force3%stringify(format='(F3.1)')=='0.5 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 / 2_I1P   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(8)

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