#![doc = include_str!("../README.md")]
pub mod core {
pub use unitscale_core::*;
}
pub mod macros {
pub use unitscale_macros::*;
}
pub mod si;
pub mod prelude {
pub use crate::core::{Scaled, ScaledPrimitiveByteSize, UnitScale, UnitScaleError};
pub use crate::macros::{unit_data, unit_scale};
}
#[cfg(test)]
mod tests {
use crate::prelude::*;
#[unit_scale(to = 0.5)]
struct Scale0_5;
#[unit_data]
struct HalfData;
#[test]
fn macro_test() {
let data: HalfData<Scale0_5, u16> = HalfData::try_from(100.0).expect("Unable to convert");
let result: u16 = 200;
assert_eq!(data.scaled_value(), result);
}
}