1#[allow(clippy::excessive_precision)]
4pub mod precise {
5 pub const EPSILON: f64 = 1e-6;
7
8 pub const PI: f64 = 3.141592653589793238462643383279502884197169399375105820974944592;
10
11 pub const E: f64 = 2.718281828459045235360287471352662497757247093699959574966967627;
13
14 pub const PHI: f64 = 1.618033988749894848204586834365638117720309179805762862135448623;
17
18 pub const DEG2RAD: f64 = PI / 180.0;
20
21 pub const RAD2DEG: f64 = 1.0 / DEG2RAD;
23
24 pub const MAX_INT: i64 = i64::MAX;
25}
26
27#[cfg(feature = "fixed_precision")]
28mod constants {
29 pub const EPSILON: crate::Float = crate::Float::from_const(super::precise::EPSILON);
30 pub const PI: crate::Float = crate::Float::from_const(super::precise::PI);
31 pub const E: crate::Float = crate::Float::from_const(super::precise::E);
32 pub const PHI: crate::Float = crate::Float::from_const(super::precise::PHI);
33 pub const DEG2RAD: crate::Float = crate::Float::from_const(super::precise::DEG2RAD);
34 pub const RAD2DEG: crate::Float = crate::Float::from_const(super::precise::RAD2DEG);
35}
36
37#[cfg(not(feature = "fixed_precision"))]
38mod constants {
39 pub const PI: crate::Float = super::precise::PI;
40 pub const E: crate::Float = super::precise::E;
41 pub const PHI: crate::Float = super::precise::PHI;
42 pub const DEG2RAD: crate::Float = super::precise::DEG2RAD;
43 pub const RAD2DEG: crate::Float = super::precise::RAD2DEG;
44}
45
46pub use constants::DEG2RAD;
47pub use constants::E;
48pub use constants::PHI;
49pub use constants::PI;
50pub use constants::RAD2DEG;