xrunits 0.1.2

A strong type unit library
Documentation
  • Coverage
  • 11.11%
    14 out of 126 items documented1 out of 118 items with examples
  • Size
  • Source code size: 18.8 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 16.25 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • xstater/xrunits
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • xstater

XRUnits

XRUnits is a unit library

My english is NOT very good !!

Motivation

We usually use some real-world unit. If we need to develop a program to deal with these units, like creating a downloader which need to calculate the data transfer speed or set the frequency of MCU,we need do lots of duplicate works to convert these unit, so I want to develop a unit library with STRONG TYPE and Easily using to deal with these situations.

Details

To avoid duplicate code,I use lots of macro to automatically generate code.

Examples

To create 2Kg

# use xrunits::mass::BuildKilogram;
let mass = 2.kg();

Convert it to ton and gram

# use xrunits::mass::{Ton, BuildKilogram, Gram};
# use xrunits::CastTo;
let mass : Ton = 2.kg().cast_to();
let mass : Gram = mass.cast_to();

Print to screen

# use xrunits::time::BuildSecond;
println!("time:{}",3.sec()); //time:3s

Calculate the Frequency from Period

# use xrunits::time::{BuildMicrosecond, IntoFrequency};
# use xrunits::frequency::Megahertz;
let us = 1.us();
let mhz : Megahertz = us.into_frequency();