danwi
A dimensional analysis library for Rust with SI units, compile-time type
checking, and no_std support.
Usage
use ;
// create a quantity by multiplying units
let v = * ;
assert_eq!;
assert_eq!; // create a quantity using the extension trait
assert_eq!;
assert_eq!; // create a quantity using type alias
// convert between prefixes
let mv = v.to;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
// divide units
let i = v / 2.0.kOhm;
assert_eq!;
let period = 1.0.s;
let freq = 1.0 / period;
assert_eq!;
assert_eq!;
// add units
let t = 1.0.s + 1e3.ms + 1e6.us + 1e9.ns;
assert_eq!;
assert_eq!;
assert_eq!;
// mixed units
let a = from;
let b = 50.0 * cm;
let c = 0.001 * km;
let len = a + b + c;
println!; // Length: 101.5 m
println!; // Length: 101.5 m
println!; // Length: 10150 cm
println!; // Length: 0.1015 km