tiny-uom 0.1.0

tiny-uom performs type-safe and zero-cost dimensional analysis. Like `uom` but much smaller.
# `tiny-uom`

**smol and fast version of [`uom`]**

[Documentation][docs-rs] | [Crate][crates-io] | [Examples][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][SI]
and all quantities that are specified in the [International System of Quantities][ISQ].

## Usage

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

```toml
[dependencies]
tiny-uom = "0.1.0"
```

```rust
#![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] license

[`uom`]: https://docs.rs/uom
[docs-rs]: https://docs.rs/tiny-uom
[crates-io]: https://crates.io/crates/tiny-uom
[examples]: https://github.com/Stupremee/tiny-uom/tree/main/examples
[license]: https://github.com/Stupremee/tiny-uom/tree/main/LICENSE
[this]: https://docs.rs/const_unit_poc
[dimensional-analysis]: https://en.wikipedia.org/wiki/Dimensional_analysis
[SI]: https://jcgm.bipm.org/vim/en/1.16.html
[ISQ]: https://jcgm.bipm.org/vim/en/1.6.html