Skip to content

std.quantities

Generated by sema doc from crates/sema-runtime/assets/stdlib/sema/quantities.sema. Import with from std.quantities import …. For a narrative introduction see std.quantities.

std.quantities - bounded physical dimensions and SI-normalized quantities.

Dimensions use the seven SI base exponents. Quantities store canonical SI values; conversion and arithmetic validate dimensions explicitly. Affine units such as Celsius, symbolic units, uncertainty-bearing quantities, and automatic equation inference are intentionally outside this bounded foundation.

Fields

field type descriptor
length int
mass int
time int
current int
temperature int
amount int
luminosity int

Fields

field type descriptor
symbol str
dimension Dimension
scale_to_si f64

Fields

field type descriptor
si_value f64
dimension Dimension
display_unit Unit
def dimensionless() -> Dimension !{}

Returns Dimension

Effects !{}

def length_dimension() -> Dimension !{}

Returns Dimension

Effects !{}

def mass_dimension() -> Dimension !{}

Returns Dimension

Effects !{}

def time_dimension() -> Dimension !{}

Returns Dimension

Effects !{}

def current_dimension() -> Dimension !{}

Returns Dimension

Effects !{}

def temperature_dimension() -> Dimension !{}

Returns Dimension

Effects !{}

def amount_dimension() -> Dimension !{}

Returns Dimension

Effects !{}

def luminosity_dimension() -> Dimension !{}

Returns Dimension

Effects !{}

def same_dimension(left: Dimension, right: Dimension) -> bool !{}

Parameters

name type
left Dimension
right Dimension

Returns bool

Effects !{}

def multiply_dimensions(left: Dimension, right: Dimension) -> Dimension !{}

Parameters

name type
left Dimension
right Dimension

Returns Dimension

Effects !{}

def divide_dimensions(left: Dimension, right: Dimension) -> Dimension !{}

Parameters

name type
left Dimension
right Dimension

Returns Dimension

Effects !{}

def power_dimension(value: Dimension, exponent: int) -> Dimension !{}

Parameters

name type
value Dimension
exponent int

Returns Dimension

Effects !{}

def unit(symbol: str, scale_to_si: f64, dimension: Dimension) -> Unit !{}

Parameters

name type
symbol str
scale_to_si f64
dimension Dimension

Returns Unit

Effects !{}

def scalar_unit() -> Unit !{}

Returns Unit

Effects !{}

def seconds() -> Unit !{}

Returns Unit

Effects !{}

def milliseconds() -> Unit !{}

Returns Unit

Effects !{}

def meters() -> Unit !{}

Returns Unit

Effects !{}

def kilometers() -> Unit !{}

Returns Unit

Effects !{}

def kilograms() -> Unit !{}

Returns Unit

Effects !{}

def quantity(value: f64, source_unit: Unit) -> Quantity !{}

Parameters

name type
value f64
source_unit Unit

Returns Quantity

Effects !{}

def convert(value: Quantity, target_unit: Unit) -> Quantity !{}

Parameters

name type
value Quantity
target_unit Unit

Returns Quantity

Effects !{}

def display_value(value: Quantity) -> f64 !{}

Parameters

name type
value Quantity

Returns f64

Effects !{}

def canonical_unit(symbol: str, dimension: Dimension) -> Unit !{}

Parameters

name type
symbol str
dimension Dimension

Returns Unit

Effects !{}

def scale(value: Quantity, factor: f64) -> Quantity !{}

Parameters

name type
value Quantity
factor f64

Returns Quantity

Effects !{}

def powi(value: Quantity, exponent: int) -> Quantity !{}

Parameters

name type
value Quantity
exponent int

Returns Quantity

Effects !{}

def derivative_dimension(state: Dimension, independent: Dimension) -> Dimension !{}

Parameters

name type
state Dimension
independent Dimension

Returns Dimension

Effects !{}

def derivative_compatible(state: Dimension, independent: Dimension, derivative: Dimension) -> bool !{}

Parameters

name type
state Dimension
independent Dimension
derivative Dimension

Returns bool

Effects !{}