danwi 0.4.2

Zero-cost dimensional analysis library with SI units, compile-time checking, and no_std support
Documentation
use danwi::prelude::*;

fn main() {
    let voltage = 5.0.mA() * 2.0.kOhm();
    assert_eq!(voltage, 10.0.V());
    println!("{}", voltage.display_as(mV)); // 10000 mV

    let length = 100.0.m() + 50.0 * cm + 0.001 * km;
    println!("{}", length.display_as(m)); // 101.5 m
    println!("{}", length.display_as(km)); // 0.1015 km

    let speed = 100.0.m() / 20.0.s();
    assert_eq!(speed, 5.0.mps());

    let temperature = 25.0.celsius();
    println!(
        "{} = {}",
        temperature.display_as(degC),
        temperature.display_as(K)
    );

    let energy = 2.0.kW() * 3.0.hour();
    println!("{}", energy.display_as(MJ)); // 21.6 MJ

    let frequency = 1.0 / 2.0.ms();
    assert_eq!(frequency, 500.0.Hz());
}