tiny-uom

Crates.iotiny-uom
lib.rstiny-uom
version0.1.0
sourcesrc
created_at2020-11-29 12:45:51.591643
updated_at2020-11-29 12:45:51.591643
descriptiontiny-uom performs type-safe and zero-cost dimensional analysis. Like `uom` but much smaller.
homepagehttps://github.com/Stupremee/tiny-uom
repositoryhttps://github.com/Stupremee/tiny-uom
max_upload_size
id317740
size16,268
Justus K (Stupremee)

documentation

https://docs.rs/

README

tiny-uom

smol and fast version of uom

Documentation | Crate | Examples

This crate is mostly based on this proof-of-concept using const generics. tiny-uom is a port of uom to use const generics and to be a faster and smaller version. It provides type-safe and zero-cost dimensional-analysis. tiny-uom provides all units that are specified in the International System of Units and all quantities that are specified in the International System of Quantities.

Usage

tiny-uom requires nightly Rust compiler (currently it's always tested with nightly-2020-11-25). Add this your Cargo.toml:

[dependencies]
tiny-uom = "0.1.0"
#![feature(const_generics, const_evaluatable_checked)]
#![allow(incomplete_features)]

use tiny_uom::values::{kg, m, s};

let distance = 10.0 * m;
let time = 2.0 * s;

let velocity = distance / time;
assert_eq!(velocity, 5.0 * (m / s));

License

This project is licensed under the MIT license

Commit count: 12

cargo fmt