units_implementation Submodule


Uses

  • module~~units_implementation~~UsesGraph module~units_implementation units_implementation module~units_interface units_interface module~units_implementation->module~units_interface module~assertions_interface assertions_interface module~units_implementation->module~assertions_interface module~object_interface object_interface module~units_interface->module~object_interface

Contents


Module Procedures

module procedure add impure elemental module function add(lhs, rhs) result(total)

Require consistent operand units

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: lhs
class(units), intent(in) :: rhs

Return Value type(units)

module procedure assign_units pure module subroutine assign_units(lhs, rhs)

Arguments

Type IntentOptional AttributesName
class(units), intent(inout) :: lhs
class(units), intent(in) :: rhs

module procedure divide elemental module function divide(numerator, denominator) result(ratio)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: numerator
class(units), intent(in) :: denominator

Return Value type(units)

module procedure get_system impure elemental module function get_system(this) result(system_of_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value integer

module procedure get_units module function get_units(this) result(exponents)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value integer (num_fundamental)

module procedure has_density_units elemental module function has_density_units(this) result(density_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_energy_units elemental module function has_energy_units(this) result(energy_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_length_units elemental module function has_length_units(this) result(length_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_mass_units elemental module function has_mass_units(this) result(mass_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_power_units elemental module function has_power_units(this) result(power_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_specific_energy_units elemental module function has_specific_energy_units(this) result(specific_energy_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_stress_units elemental module function has_stress_units(this) result(stress_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_temperature_units elemental module function has_temperature_units(this) result(temperature_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_time_units elemental module function has_time_units(this) result(time_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure has_velocity_units elemental module function has_velocity_units(this) result(velocity_units)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure integer_power impure elemental module function integer_power(this, exponent_) result(this_raised)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this
integer, intent(in) :: exponent_

Return Value type(units)

module procedure is_dimensionless elemental module function is_dimensionless(this) result(nondimensional)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value logical

module procedure multiply elemental module function multiply(lhs, rhs) result(product_)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: lhs
class(units), intent(in) :: rhs

Return Value type(units)

module procedure negate elemental module function negate(this) result(negative_this)

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this

Return Value type(units)

module procedure real_power impure elemental module function real_power(this, exponent_) result(this_raised)

Require dimensionless operand => result is default-initialized as dimensionless

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: this
real, intent(in) :: exponent_

Return Value type(units)

module procedure set_units pure module subroutine set_units(this, exponents, system)

define units exponents

Arguments

Type IntentOptional AttributesName
class(units), intent(inout) :: this
integer, intent(in) :: exponents(num_fundamental)
integer, intent(in) :: system

module procedure subtract impure elemental module function subtract(lhs, rhs) result(difference)

Require consistent operand units

Arguments

Type IntentOptional AttributesName
class(units), intent(in) :: lhs
class(units), intent(in) :: rhs

Return Value type(units)