fury_test_qreal_assign Program

program~~fury_test_qreal_assign~~UsesGraph program~fury_test_qreal_assign fury_test_qreal_assign module~fury fury module~fury->program~fury_test_qreal_assign 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_assign~~CallsGraph program~fury_test_qreal_assign fury_test_qreal_assign qreal64 qreal64 program~fury_test_qreal_assign->qreal64 uom64 uom64 program~fury_test_qreal_assign->uom64
Help


Variables

Type AttributesNameInitial
type(qreal64) :: force1

A force.

type(qreal64) :: force2

A force.

type(qreal64) :: force3

A force.

type(qreal32) :: force4

A force.

type(qreal128) :: force5

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(9)

List of passed tests.


Source Code

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

!-----------------------------------------------------------------------------------------------------------------------------------
type(qreal64)  :: force1         !< A force.
type(qreal64)  :: force2         !< A force.
type(qreal64)  :: force3         !< A force.
type(qreal32)  :: force4         !< A force.
type(qreal128) :: force5         !< 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(9) !< 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)
test_passed(1) = force1%stringify(format='(F3.1)')=='1.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 = '//force1%stringify(format='(F3.1)')//', is correct? ', test_passed(1)

force2 = 2._R8P * u_force
test_passed(2) = force2%stringify(format='(F3.1)')=='2.0 kg.m.s-2'
print "(A,L1)", '1.0 kg.m.s-2 = '//force2%stringify(format='(F3.1)')//', is correct? ', test_passed(2)

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

force4 = force1
test_passed(4) = force4%stringify(format='(F3.1)')=='1.0 kg.m.s-2'
print "(A,L1)", 'qreal32 = qreal64 => '//force4%stringify(format='(F3.1)')//', is correct? ', test_passed(4)

call force3%unset
force3 = force4
test_passed(5) = force3%stringify(format='(F3.1)')=='1.0 kg.m.s-2'
print "(A,L1)", 'qreal64 = qreal32 => '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(5)

force5 = force1
test_passed(6) = force5%stringify(format='(F3.1)')=='1.0 kg.m.s-2'
print "(A,L1)", 'qreal128 = qreal64 => '//force4%stringify(format='(F3.1)')//', is correct? ', test_passed(6)

call force3%unset
force3 = force5
test_passed(7) = force3%stringify(format='(F3.1)')=='1.0 kg.m.s-2'
print "(A,L1)", 'qreal64 = qreal128 => '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(7)

call force4%unset
force4 = force5
test_passed(8) = force5%stringify(format='(F3.1)')=='1.0 kg.m.s-2'
print "(A,L1)", 'qreal32 = qreal128 => '//force4%stringify(format='(F3.1)')//', is correct? ', test_passed(8)

call force5%unset
force5 = force3
test_passed(9) = force3%stringify(format='(F3.1)')=='1.0 kg.m.s-2'
print "(A,L1)", 'qreal128 = qreal32 => '//force3%stringify(format='(F3.1)')//', is correct? ', test_passed(9)

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