Crate trig_const

Source
Expand description

§trig-const

Rust implementation of const trig functions.

This is implemented using a 16-term Taylor series approximation of cosine. Correctness is favored over speed, especially considering the main use case for this crate is to expose trigonometric functions for compile time.

The implemntation was largely inspired by the work of Dr. Austin Henley and Dr. Stephen Marz:

The implementation carries forward the original MIT license contained in the GitHub repo above.

§Requirements

This crate supports any compiler version back to rustc 1.85

[dependencies]
trig-const = "0"

§Examples

const COS_PI: f64 = cos(PI);
float_eq(COS_PI, -1.0);
use std::f64::consts::PI;
use trig_const::{atan2, sin};

const SIN_PI_4: f64 = sin(PI / 2.0);
const ATAN2_0_0: f64 = atan2(0.0, 0.0);

fn main() {
    println!("{SIN_PI_4}\n{ATAN2_0_0}");
}

Functions§

acos
Arccosine
acosh
Inverse hyperbolic cosine
asin
Arcsine
asinh
Inverse hyperbolic sine
atan
Arctangent
atan2
Arctan2
cos
Cosine
cosh
Hyperbolic Cosine
cot
Cotangent
csc
Cosecant
sec
Secant
sin
Sine
sinh
Hyperbolic Sine
tan
Tangent