reda-unit 0.3.0

physical units
Documentation

#[macro_export]
macro_rules! num {
    ($val:literal k) => {
        $crate::Number::new($val as f64, $crate::Suffix::Kilo)
    };
    ($val:literal K) => {
        $crate::Number::new($val as f64, $crate::Suffix::Kilo)
    };
    ($val:literal M) => {
        $crate::Number::new($val as f64, $crate::Suffix::Mega)
    };
    ($val:literal G) => {
        $crate::Number::new($val as f64, $crate::Suffix::Giga)
    };
    ($val:literal m) => {
        $crate::Number::new($val as f64, $crate::Suffix::Milli)
    };
    ($val:literal u) => {
        $crate::Number::new($val as f64, $crate::Suffix::Micro)
    };
    ($val:literal n) => {
        $crate::Number::new($val as f64, $crate::Suffix::Nano)
    };
    ($val:literal p) => {
        $crate::Number::new($val as f64, $crate::Suffix::Pico)
    };
    ($val:literal) => {
        $crate::Number::new($val as f64, $crate::Suffix::None)
    };

    ($var:ident k) => {
        $crate::Number::new($var as f64, $crate::Suffix::Kilo)
    };
    ($var:ident K) => {
        $crate::Number::new($var as f64, $crate::Suffix::Kilo)
    };
    ($var:ident M) => {
        $crate::Number::new($var as f64, $crate::Suffix::Mega)
    };
    ($var:ident G) => {
        $crate::Number::new($var as f64, $crate::Suffix::Giga)
    };
    ($var:ident m) => {
        $crate::Number::new($var as f64, $crate::Suffix::Milli)
    };
    ($var:ident u) => {
        $crate::Number::new($var as f64, $crate::Suffix::Micro)
    };
    ($var:ident n) => {
        $crate::Number::new($var as f64, $crate::Suffix::Nano)
    };
    ($var:ident p) => {
        $crate::Number::new($var as f64, $crate::Suffix::Pico)
    };
    ($var:ident) => {
        $crate::Number::new($var as f64, $crate::Suffix::None)
    };
}

#[macro_export]
macro_rules! complex {
    ($re:literal $re_suffix:ident , $im:literal $im_suffix:ident) => {
        $crate::Complex::new($crate::num!($re $re_suffix), $crate::num!($im $im_suffix))
    };

    ($re:literal $re_suffix:ident , $im:literal ) => {
        $crate::Complex::new($crate::num!($re $re_suffix), $crate::num!($im))
    };

    ($re:literal , $im:literal $im_suffix:ident) => {
        $crate::Complex::new($crate::num!($re), $crate::num!($im $im_suffix))
    };

    ($re:literal , $im:literal ) => {
        $crate::Complex::new($crate::num!($re), $crate::num!($im))
    };
}

#[macro_export]
macro_rules! v {
    ($($t:tt)*) => {
        $crate::Voltage::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! i {
    ($($t:tt)*) => {
        $crate::Current::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! r {
    ($($t:tt)*) => {
        $crate::Resistance::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! c {
    ($($t:tt)*) => {
        $crate::Capacitance::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! l {
    ($($t:tt)*) => {
        $crate::Inductance::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! q {
    ($($t:tt)*) => {
        $crate::Charge::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! p {
    ($($t:tt)*) => {
        $crate::Power::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! e {
    ($($t:tt)*) => {
        $crate::Energy::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! t {
    ($($t:tt)*) => {
        $crate::Time::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! f {
    ($($t:tt)*) => {
        $crate::Frequency::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! m {
    ($($t:tt)*) => {
        $crate::Length::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! a {
    ($($t:tt)*) => {
        $crate::Area::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! fo {
    ($($t:tt)*) => {
        $crate::Force::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! pr {
    ($($t:tt)*) => {
        $crate::Pressure::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! mf {
    ($($t:tt)*) => {
        $crate::MagneticFlux::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! fd {
    ($($t:tt)*) => {
        $crate::FluxDensity::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! g {
    ($($t:tt)*) => {
        $crate::Conductance::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! vel {
    ($($t:tt)*) => {
        $crate::Velocity::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! acc {
    ($($t:tt)*) => {
        $crate::Accel::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! temp {
    ($($t:tt)*) => {
        $crate::Temperature::new($crate::num!($($t)*))
    };
}

#[macro_export]
macro_rules! ang {
    ($($t:tt)*) => {
        $crate::Angle::new($crate::num!($($t)*))
    };
}