eqiora.units
Shared units for input quantities and explicit presentation.
View sourceExample: dimensional quantities
Section titled “Example: dimensional quantities”import eqiorafrom eqiora import lang as q, units as u
source = eqiora.Module("units_example")component = source.model("Speed")speed = component.field( "speed", role=eqiora.FieldRole.Variable, value_type=eqiora.ValueType.real(eqiora.Dimension(length=1, time=-1)),)component.relation("given", q.equation(speed, q.quantity(3, u.m / u.s)))print(source.to_eqi())model = eqiora.compile(source=source)Dimension gives the field its physical type, and quantity attaches a unit to
a value, so the equation sets the speed to 3 metres per second. If you replace
the unit with u.s, compilation fails with a dimension error.
An immutable unit expression for input and presentation quantities.
@finalclass Unit: def __mul__(self, other: Unit, /) -> Unit: ... def __truediv__(self, other: Unit, /) -> Unit: ... def __pow__(self, exponent: int | Fraction, /) -> Unit: ... def normalize(self, value: int | float | Decimal) -> tuple[float, Dimension]: ... def prefixed(self, prefix: str) -> Unit: ... def present(self, value: float, dimension: Dimension, *, decimal_places: int=6, locale: str='C') -> PresentedQuantity: ...Input-unit symbol.
kg: Final[Unit]Input-unit symbol.
m: Final[Unit]Input-unit symbol.
s: Final[Unit]Input-unit symbol.
A: Final[Unit]Input-unit symbol.
K: Final[Unit]Input-unit symbol.
mol: Final[Unit]Input-unit symbol.
cd: Final[Unit]Input-unit symbol.
Hz: Final[Unit]Input-unit symbol.
N: Final[Unit]Input-unit symbol.
Pa: Final[Unit]Input-unit symbol.
J: Final[Unit]Input-unit symbol.
W: Final[Unit]Input-unit symbol.
C: Final[Unit]Input-unit symbol.
V: Final[Unit]Input-unit symbol.
Ohm: Final[Unit]Input-unit symbol.
S: Final[Unit]Input-unit symbol.
F: Final[Unit]Input-unit symbol.
H: Final[Unit]Input-unit symbol.
Wb: Final[Unit]Input-unit symbol.
T: Final[Unit]Input-unit symbol.
g: Final[Unit]Input-unit symbol.
one: Final[Unit]