#units #physics-simulation #quantities #simulation

unitforge

A library for unit and quantity consistent computations in Rust

14 releases

new 0.2.8 Apr 25, 2025
0.2.7 Apr 23, 2025
0.2.3 Mar 28, 2025
0.1.4 Feb 20, 2025

#77 in Science

Download history 415/week @ 2025-02-15 79/week @ 2025-02-22 15/week @ 2025-03-01 76/week @ 2025-03-08 169/week @ 2025-03-15 187/week @ 2025-03-22 123/week @ 2025-03-29 378/week @ 2025-04-05 74/week @ 2025-04-12 209/week @ 2025-04-19

926 downloads per month

MIT license

105KB
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.3–1.8MB
~36K SLoC