irox-fixedmath 0.1.0

Fixed Precision Math Primitives
Documentation
IROX-FIXEDMATH
===========

*Fixed Precision Math Primitives*

Wikipedia's article on [Fixed-point arithmetic](https://en.wikipedia.org/wiki/Fixed-point_arithmetic)

All of the fractional components are scaled by the max value of the fractional size.

Works acceptably well:
* `FixedU32` - Q16.16 - `u16`/`u16`
* `FixedI32` - Q15.16 - `i16`/`u16`
  * Each fractional value represents `1/u16::MAX` ~= `1.5259e-5` or `0.000_015_259`, or about `15.3 micro`, and can accurately represent SI-prefixes: `milli/1e-3` with no loss of accuracy.
* `FixedU64` - Q32.32 - `u32`/`u32`
* `FixedI64` - Q31.32 - `i32`/`u32`
  * Each fractional value represents `1/u32::MAX` ~= `2.328306e-10` or `0.000_000_000_238_306`, or about `238.3 pico`, and can accurately represent SI-prefixes `milli/1e-3`, `micro/1e-6`, and `nano/1e-9` with no loss of accuracy.

Beta quality/Some known issues:
* `FixedU128` - Q64.64 - `u64`/`u64` [1]
* `FixedI128` - Q63.64 - `i64`/`u64` [1]
  * Each fractional value represents `1/u64::MAX`] ~= `5.4210e-20` or `0.000_000_000_000_000_000_054_210`, or about `54.2 zepto`, and can accurately represent SI-prefixes `milli/1e-3`, `micro/1e-6`, `nano/1e-9`, `pico/1e-12`, `femto/1e-15`, and `atto/1e-18` with no loss of accuracy.

[1]: Multiplication doesn't roll over properly, so [`FloatExt`]https://docs.rs/irox-tools/latest/irox_tools/f64/trait.FloatExt.html aren't supported.

### No-STD support:


* Fully No-STD, No-Alloc

### Cargo Features:


* None