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().castto(); let mass : Gram = mass.castto(); 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(); ```