fury_test_qreal_mul Program

program~~fury_test_qreal_mul~~UsesGraph program~fury_test_qreal_mul fury_test_qreal_mul module~fury fury module~fury->program~fury_test_qreal_mul 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_mul~~CallsGraph program~fury_test_qreal_mul fury_test_qreal_mul qreal64 qreal64 program~fury_test_qreal_mul->qreal64 uom64 uom64 program~fury_test_qreal_mul->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(22)

List of passed tests.


Source Code

program fury_test_qreal_mul
!-----------------------------------------------------------------------------------------------------------------------------------
!< 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(22) !< 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)')=='2.0 kg2.m2.s-4'
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)')=='2.0 kg.m.s-2'
print "(A,L1)", '2._R16P * 1.0 kg.m.s-2 = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(2 )
force3 = force1 * 2._R8P  ; test_passed(3 ) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '2._R8P * 1.0 kg.m.s-2  = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(3 )
force3 = force1 * 2._R4P  ; test_passed(4 ) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '2._R4P * 1.0 kg.m.s-2  = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(4 )
force3 = force1 * 2_I8P   ; test_passed(5 ) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '2_I8P * 1.0 kg.m.s-2   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(5 )
force3 = force1 * 2_I4P   ; test_passed(6 ) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '2_I4P * 1.0 kg.m.s-2   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(6 )
force3 = force1 * 2_I2P   ; test_passed(7 ) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '2_I2P * 1.0 kg.m.s-2   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(7 )
force3 = force1 * 2_I1P   ; test_passed(8 ) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '2_I1P * 1.0 kg.m.s-2   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(8 )
force3 = 2._R16P * force1 ; test_passed(9 ) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 * 2._R16P = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(9 )
force3 = 2._R8P * force1  ; test_passed(10) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 * 2._R8P  = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(10)
force3 = 2._R4P * force1  ; test_passed(11) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 * 2._R4P  = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(11)
force3 = 2_I8P * force1   ; test_passed(12) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 * 2_I8P   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(12)
force3 = 2_I4P * force1   ; test_passed(13) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 * 2_I4P   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(13)
force3 = 2_I2P * force1   ; test_passed(14) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 * 2_I2P   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(14)
force3 = 2_I1P * force1   ; test_passed(15) = force3%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 * 2_I1P   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(15)

call force3%unset

force3 = 3._R16P * u_force ; test_passed(16) = force3%stringify(format='(F3.1)')=='3.0 kg.m.s-2'
print "(A,L1)", '3._R16P * kg.m.s-2 = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(16)
force3 = 3._R8P * u_force  ; test_passed(17) = force3%stringify(format='(F3.1)')=='3.0 kg.m.s-2'
print "(A,L1)", '3._R8P * kg.m.s-2  = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(17)
force3 = 3._R4P * u_force  ; test_passed(18) = force3%stringify(format='(F3.1)')=='3.0 kg.m.s-2'
print "(A,L1)", '3._R4P * kg.m.s-2  = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(18)
force3 = 3_I8P * u_force   ; test_passed(19) = force3%stringify(format='(F3.1)')=='3.0 kg.m.s-2'
print "(A,L1)", '3_I8P * kg.m.s-2   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(19)
force3 = 3_I4P * u_force   ; test_passed(20) = force3%stringify(format='(F3.1)')=='3.0 kg.m.s-2'
print "(A,L1)", '3_I4P * kg.m.s-2   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(20)
force3 = 3_I2P * u_force   ; test_passed(21) = force3%stringify(format='(F3.1)')=='3.0 kg.m.s-2'
print "(A,L1)", '3_I2P * kg.m.s-2   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(21)
force3 = 3_I1P * u_force   ; test_passed(22) = force3%stringify(format='(F3.1)')=='3.0 kg.m.s-2'
print "(A,L1)", '3_I1P * kg.m.s-2   = '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(22)

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