irox_units/
lib.rs

1// SPDX-License-Identifier: MIT
2// Copyright 2025 IROX Contributors
3//
4
5//!
6//! *The little Units Library that could*
7//!
8//! Module Structure:
9//! ------------------
10//!
11//! * [`bounds`] - Bounding Boxes and Range Checks
12//! * [`shapes`] - Ways to define and describe shapes
13//!     * [`shapes::circular`] - `CircularAspect` enum and `CircularDimension` struct, describes a circle by radius or
14//!         diameter with appropriate length units.
15//!     * [`shapes::elliptical`] - `Ellipse` struct, describes an ellipse using two `CircularDimension` axes and an optional
16//!         `CompassDirection` orientation of the first axis
17//! * [`units`] - Physical Quantities
18//!   * [`units::angle`] -  Angle Types, `Angle`, `AngleUnits` for `Degrees` and `Radians`
19//!   * [`units::compass`] - Compass Types, `Compass`, and the absolute types: `Heading`, `Track`, `Bearing`, `Course`,
20//!       `Azimuth`, `CompassOffest`, and the relative type `RelativeBearing`
21//!   * [`units::datasize`] - Computer Data Sizes, `DataSize` representing `Bytes`, `Kilobytes`, etc
22//!   * [`units::length`] - The SI `Length` quantity, representing `Meters`, `Feet`, etc
23//!   * [`units::speed`] - The SI `Speed` quantity, representing `MetersPerSecond`, `Knots`, etc
24//!   * [`units::temperature`] - The SI `Temperature` quantity, representing `Celsius`, `Kelvin`, etc
25
26#![forbid(unsafe_code)]
27#![allow(clippy::cast_possible_truncation)]
28#![allow(clippy::cast_precision_loss)]
29#![allow(clippy::cast_sign_loss)]
30#![allow(clippy::module_name_repetitions)]
31#![cfg_attr(not(feature = "std"), no_std)]
32#![cfg_attr(docsrs, feature(doc_cfg))]
33
34pub mod bounds;
35pub mod shapes;
36#[macro_use]
37pub mod units;
38pub mod prefixes;
39pub mod quantities;