fury_system_si128 Module

module~~fury_system_si128~~UsesGraph module~fury_system_si128 fury_system_si128 module~fury_uom128 fury_uom128 module~fury_uom128->module~fury_system_si128 module~fury_qreal128 fury_qreal128 module~fury_uom128->module~fury_qreal128 module~fury_system_abstract128 fury_system_abstract128 module~fury_uom128->module~fury_system_abstract128 module~penf~3 penf module~penf~3->module~fury_system_si128 module~penf~3->module~fury_uom128 module~penf~3->module~fury_qreal128 module~stringifor stringifor module~penf~3->module~stringifor module~penf~3->module~fury_system_abstract128 module~fury_uom_symbol128 fury_uom_symbol128 module~penf~3->module~fury_uom_symbol128 module~fury_uom_reference128 fury_uom_reference128 module~penf~3->module~fury_uom_reference128 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 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_qreal128->module~fury_system_si128 module~fury_qreal128->module~fury_system_abstract128 module~stringifor->module~fury_system_si128 module~stringifor->module~fury_uom128 module~stringifor->module~fury_qreal128 module~stringifor->module~fury_system_abstract128 module~stringifor->module~fury_uom_symbol128 module~stringifor->module~fury_uom_reference128 module~fury_system_abstract128->module~fury_system_si128 module~fury_uom_symbol128->module~fury_uom128 module~fury_uom_symbol128->module~fury_uom_reference128 module~fury_uom_reference128->module~fury_uom128 module~fury_uom_reference128->module~fury_system_abstract128 iso_fortran_env iso_fortran_env iso_fortran_env->module~fury_uom128 iso_fortran_env->module~fury_qreal128 iso_fortran_env->module~fury_uom_symbol128 iso_fortran_env->module~fury_uom_reference128 module~penf_stringify~3 penf_stringify iso_fortran_env->module~penf_stringify~3 module~fury_uom_converter->module~fury_uom128 module~fury_uom_converter->module~fury_uom_symbol128 module~fury_uom_converter->module~fury_uom_reference128 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 definition of International System of Units with float128 kind.

FURY implementation of International System of Units with generic kind.

Used By

module~~fury_system_si128~~UsedByGraph module~fury_system_si128 fury_system_si128 module~fury fury module~fury_system_si128->module~fury 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~dbm_to_mw_converter->program~fury_test_qreal_conversions_complex
Help


Derived Types

type, public, extends(system_abstract) :: system_si

International System of Units.

Components

TypeVisibility AttributesNameInitial
character(len=:), public, allocatable:: acronym

Units system acronym, e.g. "SI" for the International System.

type(qreal), public, allocatable:: constants(:)

Defined constants.

integer(kind=I_P), public :: constants_number =0_I_P

Number of constants.

type(uom), public, allocatable:: units(:)

Defined units.

integer(kind=I_P), public :: units_number =0_I_P

Number of units.

type(uom_reference), public, allocatable:: prefixes(:)

Prefixes.

integer(kind=I_P), public :: prefixes_number =0_I_P

Number of prefixes.

Type-Bound Procedures

generic, public :: add_constant => add_constant_qreal

Add a new constant.

generic, public :: add_prefix => add_prefix_string, add_prefix_uom_reference

Add a new prefix.

generic, public :: add_unit => add_unit_string, add_unit_uom

Add a new unit.

procedure, public, pass(self) :: const

Return an instance of the queried constant (if defined).

procedure, public, pass(self) :: free

Free the units system.

procedure, public, pass(self) :: list_constants

Return the list of defined constants.

procedure, public, pass(self) :: list_prefixes

Return the list of defined prefixes.

procedure, public, pass(self) :: list_units

Return the list of defined units.

procedure, public, pass(self) :: unit

Return an instance of the queried unit (if defined).

generic, public :: qunit => qunit_qreal

Return an instance of quantity with the queried unit.

procedure, public, pass(self) :: initialize

Initialize the units system.


Subroutines

private subroutine initialize(self, acronym)

Initialize the units system.

Arguments

Type IntentOptional AttributesName
class(system_si), intent(inout) :: self

The units system.

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

Units system acronym, e.g. "SI" for the International System.