pbrt_r3/core/base/
constants.rs1use super::types::Float;
2pub const DOUBLE_ONE_MINUS_EPSILON: f64 = 0.99999999999999989;
13pub const FLOAT_ONE_MINUS_EPSILON: f32 = 0.99999994;
14
15#[cfg(not(feature = "float-as-double"))]
16mod detail {
17 use super::*;
18
19 pub const SHADOW_EPSILON: Float = 0.0001;
20 pub const PI: Float = std::f32::consts::PI; pub const INV_PI: Float = std::f32::consts::FRAC_1_PI; pub const INV_2_PI: Float = INV_PI * 0.5;
23 pub const INV_4_PI: Float = INV_PI * 0.25;
24
25 pub const INV_SQRT_PI: Float = 0.5 * std::f32::consts::FRAC_2_SQRT_PI; pub const PI_OVER_2: Float = PI / 2.0; pub const PI_OVER_4: Float = PI / 4.0; pub const SQRT_2: Float = std::f32::consts::SQRT_2;
31
32 pub const ONE_MINUS_EPSILON: f32 = FLOAT_ONE_MINUS_EPSILON;
33}
34
35#[cfg(feature = "float-as-double")]
36mod detail {
37 use super::*;
38
39 pub const SHADOW_EPSILON: Float = 0.0001;
40 pub const PI: Float = std::f64::consts::PI; pub const INV_PI: Float = std::f64::consts::FRAC_1_PI; pub const INV_2_PI: Float = INV_PI * 0.5;
43 pub const INV_4_PI: Float = INV_PI * 0.25;
44
45 pub const INV_SQRT_PI: Float = 0.5 * std::f64::consts::FRAC_2_SQRT_PI; pub const PI_OVER_2: Float = PI / 2.0; pub const PI_OVER_4: Float = PI / 4.0; pub const SQRT_2: Float = std::f64::consts::SQRT_2;
51
52 pub const ONE_MINUS_EPSILON: f64 = DOUBLE_ONE_MINUS_EPSILON;
53}
54
55pub use detail::*;