Skip to main content

BaseUnit

Struct BaseUnit 

Source
pub struct BaseUnit {
    pub name: &'static str,
    pub symbol: &'static str,
    pub aliases: &'static [&'static str],
    pub dimension: Dimension,
    pub scale: f64,
    pub offset: f64,
}
Expand description

An irreducible base unit like meter, second, or kilogram.

Fields§

§name: &'static str

Primary name (e.g., “meter”)

§symbol: &'static str

Short symbol (e.g., “m”)

§aliases: &'static [&'static str]

Alternative names/aliases

§dimension: Dimension

The dimension this unit represents

§scale: f64

Scale relative to the canonical SI base unit (1.0 for SI base units)

§offset: f64

Additive offset for converting to SI: SI = (value + offset) * scale. Zero for most units. Celsius has offset 273.15 (K = °C + 273.15).

Implementations§

Source§

impl BaseUnit

Source

pub const fn new( name: &'static str, symbol: &'static str, aliases: &'static [&'static str], dimension: Dimension, scale: f64, ) -> Self

Create a new base unit.

Source

pub const fn with_offset( name: &'static str, symbol: &'static str, aliases: &'static [&'static str], dimension: Dimension, scale: f64, offset: f64, ) -> Self

Create a new base unit with an additive offset. Offset units use affine conversion via their scale and offset.

Source§

impl BaseUnit

Source

pub const fn dimension(&self) -> Dimension

Get the dimension of this unit.

Source

pub fn pow(&self, exp: impl Into<Rational16>) -> Unit

Raise this unit to a power, returning a Unit.

Trait Implementations§

Source§

impl Clone for BaseUnit

Source§

fn clone(&self) -> BaseUnit

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BaseUnit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for BaseUnit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Div<BaseUnit> for &Quantity

Source§

type Output = Quantity

The resulting type after applying the / operator.
Source§

fn div(self, unit: BaseUnit) -> Quantity

Performs the / operation. Read more
Source§

impl Div<BaseUnit> for &Unit

Source§

type Output = Unit

The resulting type after applying the / operator.
Source§

fn div(self, rhs: BaseUnit) -> Unit

Performs the / operation. Read more
Source§

impl Div<BaseUnit> for Quantity

Source§

type Output = Quantity

The resulting type after applying the / operator.
Source§

fn div(self, unit: BaseUnit) -> Quantity

Performs the / operation. Read more
Source§

impl Div<BaseUnit> for Unit

Source§

type Output = Unit

The resulting type after applying the / operator.
Source§

fn div(self, rhs: BaseUnit) -> Unit

Performs the / operation. Read more
Source§

impl Div<Unit> for BaseUnit

Source§

type Output = Unit

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Unit) -> Unit

Performs the / operation. Read more
Source§

impl Div for BaseUnit

Source§

type Output = Unit

The resulting type after applying the / operator.
Source§

fn div(self, rhs: BaseUnit) -> Unit

Performs the / operation. Read more
Source§

impl From<&BaseUnit> for Unit

Source§

fn from(b: &BaseUnit) -> Unit

Converts to this type from the input type.
Source§

impl From<BaseUnit> for Unit

Source§

fn from(b: BaseUnit) -> Unit

Converts to this type from the input type.
Source§

impl Mul<BaseUnit> for &Quantity

Source§

type Output = Quantity

The resulting type after applying the * operator.
Source§

fn mul(self, unit: BaseUnit) -> Quantity

Performs the * operation. Read more
Source§

impl Mul<BaseUnit> for &Unit

Source§

type Output = Unit

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: BaseUnit) -> Unit

Performs the * operation. Read more
Source§

impl Mul<BaseUnit> for Quantity

Source§

type Output = Quantity

The resulting type after applying the * operator.
Source§

fn mul(self, unit: BaseUnit) -> Quantity

Performs the * operation. Read more
Source§

impl Mul<BaseUnit> for Unit

Source§

type Output = Unit

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: BaseUnit) -> Unit

Performs the * operation. Read more
Source§

impl Mul<BaseUnit> for f64

Source§

type Output = Quantity

The resulting type after applying the * operator.
Source§

fn mul(self, unit: BaseUnit) -> Quantity

Performs the * operation. Read more
Source§

impl Mul<Unit> for BaseUnit

Source§

type Output = Unit

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Unit) -> Unit

Performs the * operation. Read more
Source§

impl Mul<f64> for BaseUnit

Source§

type Output = Quantity

The resulting type after applying the * operator.
Source§

fn mul(self, value: f64) -> Quantity

Performs the * operation. Read more
Source§

impl Mul for BaseUnit

Source§

type Output = Unit

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: BaseUnit) -> Unit

Performs the * operation. Read more
Source§

impl PartialEq for BaseUnit

Source§

fn eq(&self, other: &BaseUnit) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for BaseUnit

Source§

impl StructuralPartialEq for BaseUnit

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.