#quantities #units #physics #unit #simulation

unitforge

A library for unit and quantity consistent computations in Rust

7 releases

new 0.2.1 Mar 20, 2025
0.2.0 Mar 14, 2025
0.1.4 Feb 20, 2025

#196 in Science

Download history 147/week @ 2025-02-12 344/week @ 2025-02-19 9/week @ 2025-02-26 13/week @ 2025-03-05 135/week @ 2025-03-12

615 downloads per month

MIT license

95KB
3K SLoC

Unitforge

Overview

Unitforge is a Rust crate designed for safe handling of physical quantities of units. New quantities and relations can be set up via small macros.

Features

  • Quantity inference: Resulting quantities of arithmetic operations are inferred at compile time.
  • Unit conversion: Quantities can be set or read in arbitrary units.
  • Computing Precision Values are stored in exponential format (f64*10^i32) to prevent floating point precision issues.
  • Formating Quantities are displayed with 4 significant digits and configured display unit.
  • ndarray support: Quantities may be used as inner types for ndarray.
  • 3D Vector and matrix operations: Structs for 3D vectors and matrices are included to allow fast and unit-safe work with them.

Contribute

All contributions are welcome! Feel free to implement new quantities or define relations using impl_macros.rs. 🚀

Dependencies

~1.5MB
~30K SLoC