#units #physics-simulation #quantities #simulation

unitforge

A library for unit and quantity consistent computations in Rust

11 releases

new 0.2.5 Apr 9, 2025
0.2.4 Apr 8, 2025
0.2.3 Mar 28, 2025
0.1.4 Feb 20, 2025

#94 in Science

Download history 33/week @ 2025-02-11 449/week @ 2025-02-18 16/week @ 2025-02-25 12/week @ 2025-03-04 130/week @ 2025-03-11 148/week @ 2025-03-18 242/week @ 2025-03-25 27/week @ 2025-04-01

548 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
~29K SLoC