# fixed_analytics
Fixed-point mathematical functions using the CORDIC algorithm. Designed for embedded systems and environments without hardware floating-point support.
[](https://crates.io/crates/fixed_analytics)
[](https://github.com/GeEom/fixed_analytics/actions/workflows/ci.yml)
[](https://github.com/GeEom/fixed_analytics/actions/workflows/rust.yml)
[](https://github.com/rust-secure-code/safety-dance/)
[](./LICENSE.txt)
[](https://codecov.io/gh/GeEom/fixed_analytics)
## Examples
```rust
use fixed::types::I16F16;
use fixed_analytics::{sin, cos, sqrt, ln};
let angle = I16F16::from_num(0.5);
let (s, c) = (sin(angle), cos(angle));
let root = sqrt(I16F16::from_num(2.0)); // ≈ 1.414
let log = ln(I16F16::from_num(2.718)).unwrap(); // ≈ 1.0
```
## Installation
Requires Rust 1.88 or later.
```toml
[dependencies]
fixed_analytics = "0.1"
```
For `no_std` environments:
```toml
[dependencies]
fixed_analytics = { version = "0.1", default-features = false }
```
## Details
| Trigonometric | `sin`, `cos`, `tan`, `sin_cos`, `asin`, `acos`, `atan`, `atan2` |
| Hyperbolic | `sinh`, `cosh`, `tanh`, `coth`, `sinh_cosh`, `asinh`, `acosh`, `atanh`, `acoth` |
| Exponential | `exp`, `ln`, `log2`, `log10` |
| Algebraic | `sqrt` |