| Crates.io | tiny-uom |
| lib.rs | tiny-uom |
| version | 0.1.0 |
| created_at | 2020-11-29 12:45:51.591643+00 |
| updated_at | 2020-11-29 12:45:51.591643+00 |
| description | tiny-uom performs type-safe and zero-cost dimensional analysis. Like `uom` but much smaller. |
| homepage | https://github.com/Stupremee/tiny-uom |
| repository | https://github.com/Stupremee/tiny-uom |
| max_upload_size | |
| id | 317740 |
| size | 16,268 |
tiny-uomsmol 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.
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));
This project is licensed under the MIT license