Skip to main content

Dimension

Type Alias Dimension 

Source
pub type Dimension<T, L, M, I, K, N, J> = (T, L, M, I, K, N, J);
Expand description

Type-level dimension representation.

Type parameters represent exponents for each SI base unit:

  • T: Time (second, s)
  • L: Length (metre, m)
  • M: Mass (kilogram, kg)
  • I: Electric Current (ampere, A)
  • K: Thermodynamic Temperature (kelvin, K)
  • N: Amount of Substance (mole, mol)
  • J: Luminous Intensity (candela, cd)

Custom dimensions are aliases with concrete exponents:

use danwi::dimension::{Dimension, N3, P1, Z0};
use danwi::prelude::*;

// jerk (m/s³) = L·T⁻³
type Jerk = Dimension<N3, P1, Z0, Z0, Z0, Z0, Z0>;

let jerk: Quantity<f64, Jerk> = 4.0.mps2() / 2.0.s();
assert_eq!(jerk.value(), 2.0);

Trait Implementations§

Source§

impl<T: Integer, L: Integer, M: Integer, I: Integer, K: Integer, N: Integer, J: Integer> Dimensions for Dimension<T, L, M, I, K, N, J>

Source§

type T = T

Source§

type L = L

Source§

type M = M

Source§

type I = I

Source§

type K = K

Source§

type N = N

Source§

type J = J