#quantities #units #physics #unit #simulation

unitforge

A library for unit and quantity consistent computations in Rust

5 releases

new 0.1.4 Feb 20, 2025
0.1.3 Feb 20, 2025
0.1.2 Feb 20, 2025
0.1.1 Feb 18, 2025
0.1.0 Feb 17, 2025

#207 in Science

30 downloads per month

MIT license

73KB
2K 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
~29K SLoC