Skip to content

Smol and fast version of uom. A Rust library for the International System of Units.

License

Notifications You must be signed in to change notification settings

Stupremee/tiny-uom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tiny-uom

Crates.io Documentation

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

About

Smol and fast version of uom. A Rust library for the International System of Units.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages