Skip to main content

Crate use_measure

Crate use_measure 

Source
Expand description

§use-measure

Practical measurement values and conversion helpers.

use-measure provides a lightweight Measurement type plus Conversion helpers for common linear and affine conversions. It is intended to be the practical layer that sits on top of lower-level unit descriptions.

§What this crate provides

ItemPurpose
MeasurementSmall value-plus-unit container
ConversionLinear or affine conversion definition
compose()Helper for chaining compatible conversions

§Installation

[dependencies]
use-measure = "0.1.0"

§Example

use use_measure::{compose, Conversion, Measurement};

let kilometers_to_meters = Conversion::linear("km", "m", 1_000.0);
let meters_to_centimeters = Conversion::linear("m", "cm", 100.0);
let kilometers_to_centimeters = compose(kilometers_to_meters, meters_to_centimeters).unwrap();

let distance = Measurement::new(1.2, "km");

assert_eq!(distance.convert(kilometers_to_centimeters), Some(Measurement::new(120_000.0, "cm")));

§Scope

  • Explicit conversions only.
  • Simple, auditable arithmetic.
  • No automatic unit graph or uncertainty tracking yet.

Modules§

prelude
Common measurement primitives.

Structs§

Conversion
A linear or affine conversion between two unit labels.
Measurement
A measured scalar paired with a unit label.

Functions§

compose
Chains two compatible conversions into one.