FURY definition of abstract units system with float64 kind.
FURY implementation of abstract units system with generic kind.
Initialize the units system.
Initialize the units system.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(inout) | :: | self | The units system. |
||
| character(len=*), | intent(in), | optional | :: | acronym | Units system acronym, e.g. "SI" for the International System. |
Abstract units system class.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| 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. |
| procedure(initialize_interface), public, pass(self) :: initialize | Initialize the units system. |
| 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, private, pass(self) :: add_constant_qreal | Add a new constant from qreal input. |
| procedure, private, pass(self) :: add_prefix_string | Add a new prefix from string input. |
| procedure, private, pass(self) :: add_prefix_uom_reference | Add a new prefix from uom_reference input. |
| procedure, private, pass(self) :: add_unit_string | Add a new unit from string input. |
| procedure, private, pass(self) :: add_unit_uom | Add a new unit from uom input. |
| procedure, private, pass(self) :: has_constant | Check if a constant is present into the system. |
| procedure, private, pass(self) :: has_prefix | Check if a prefix is present into the system. |
| procedure, private, pass(self) :: has_unit | Check if a unit is present into the system. |
| procedure, private, pass(self) :: qunit_qreal | Return an instance of quantity with the queried unit. |
Return an instance of the queried constant (if defined).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| character(len=*), | intent(in) | :: | c | Constant name. |
The queried constant.
Return the list defined constants.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| logical, | intent(in), | optional | :: | with_dimensions | Flag to activate dimensions printing. |
|
| logical, | intent(in), | optional | :: | with_aliases | Flag to activate aliases printing. |
|
| logical, | intent(in), | optional | :: | with_name | Flag to activate name printing. |
|
| logical, | intent(in), | optional | :: | compact_reals | Flag to activate real numbers compacting. |
|
| character(len=*), | intent(in), | optional | :: | prefix_string | Prefix string. |
Raw characters data.
Return the list defined prefixes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| logical, | intent(in), | optional | :: | with_aliases | Flag to activate alias printing. |
|
| logical, | intent(in), | optional | :: | compact_reals | Flag to activate real numbers compacting. |
|
| character(len=*), | intent(in), | optional | :: | prefix_string | Prefix string. |
Raw characters data.
Return the list defined units.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| logical, | intent(in), | optional | :: | with_dimensions | Flag to activate dimensions printing. |
|
| logical, | intent(in), | optional | :: | with_aliases | Flag to activate aliases printing. |
|
| logical, | intent(in), | optional | :: | protect_aliases | Flag to activate aliases printing in protected mode. |
|
| logical, | intent(in), | optional | :: | with_name | Flag to activate name printing. |
|
| logical, | intent(in), | optional | :: | compact_reals | Flag to activate real numbers compacting. |
|
| character(len=*), | intent(in), | optional | :: | prefix_string | Prefix string. |
Raw characters data.
Return an instance of the queried unit (if defined).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| character(len=*), | intent(in) | :: | u | Unit name or main symbol alias. |
The queried unit.
Return an instance of the queried unit (if defined).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| type(qreal), | intent(in) | :: | const | Constant queried. |
Flag to check if queried constant has been found.
Check if a prefix is present into the system.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| type(uom_reference), | intent(in) | :: | prefix | prefix queried. |
Flag to check if queried prefix has been found.
Check if a unit is present into the system.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| type(uom), | intent(in) | :: | unit | Unit queried. |
Flag to check if queried unit has been found.
Return an instance of quantity (qreal) with the queried unit (if defined).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(in) | :: | self | The system. |
||
| character(len=*), | intent(in) | :: | u | Unit name or main symbol alias. |
The queried quantity.
Free the units system.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(inout) | :: | self | The system. |
Add a new constant from qreal input.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(inout) | :: | self | The system. |
||
| type(qreal), | intent(in) | :: | source | Constant source. |
Add a new prefix from string input.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(inout) | :: | self | The system. |
||
| character(len=*), | intent(in) | :: | source | Prefix source. |
Add a new prefix from uom_reference input.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(inout) | :: | self | The system. |
||
| type(uom_reference), | intent(in) | :: | source | Prefix source. |
Add a new unit from string input.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(inout) | :: | self | The system. |
||
| character(len=*), | intent(in) | :: | source | Unit source. |
Add a new unit from uom input.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(system_abstract), | intent(inout) | :: | self | The system. |
||
| type(uom), | intent(in) | :: | source | Unit source. |