1 macro_rules! impl_float_consts { 2 ([$elem_ty:ident; $elem_count:expr]: $id:ident) => { 3 impl $id { 4 /// Machine epsilon value. 5 pub const EPSILON: $id = $id::splat(core::$elem_ty::EPSILON); 6 7 /// Smallest finite value. 8 pub const MIN: $id = $id::splat(core::$elem_ty::MIN); 9 10 /// Smallest positive normal value. 11 pub const MIN_POSITIVE: $id = 12 $id::splat(core::$elem_ty::MIN_POSITIVE); 13 14 /// Largest finite value. 15 pub const MAX: $id = $id::splat(core::$elem_ty::MAX); 16 17 /// Not a Number (NaN). 18 pub const NAN: $id = $id::splat(core::$elem_ty::NAN); 19 20 /// Infinity (∞). 21 pub const INFINITY: $id = $id::splat(core::$elem_ty::INFINITY); 22 23 /// Negative infinity (-∞). 24 pub const NEG_INFINITY: $id = 25 $id::splat(core::$elem_ty::NEG_INFINITY); 26 27 /// Archimedes' constant (π) 28 pub const PI: $id = $id::splat(core::$elem_ty::consts::PI); 29 30 /// π/2 31 pub const FRAC_PI_2: $id = 32 $id::splat(core::$elem_ty::consts::FRAC_PI_2); 33 34 /// π/3 35 pub const FRAC_PI_3: $id = 36 $id::splat(core::$elem_ty::consts::FRAC_PI_3); 37 38 /// π/4 39 pub const FRAC_PI_4: $id = 40 $id::splat(core::$elem_ty::consts::FRAC_PI_4); 41 42 /// π/6 43 pub const FRAC_PI_6: $id = 44 $id::splat(core::$elem_ty::consts::FRAC_PI_6); 45 46 /// π/8 47 pub const FRAC_PI_8: $id = 48 $id::splat(core::$elem_ty::consts::FRAC_PI_8); 49 50 /// 1/π 51 pub const FRAC_1_PI: $id = 52 $id::splat(core::$elem_ty::consts::FRAC_1_PI); 53 54 /// 2/π 55 pub const FRAC_2_PI: $id = 56 $id::splat(core::$elem_ty::consts::FRAC_2_PI); 57 58 /// 2/sqrt(π) 59 pub const FRAC_2_SQRT_PI: $id = 60 $id::splat(core::$elem_ty::consts::FRAC_2_SQRT_PI); 61 62 /// sqrt(2) 63 pub const SQRT_2: $id = $id::splat(core::$elem_ty::consts::SQRT_2); 64 65 /// 1/sqrt(2) 66 pub const FRAC_1_SQRT_2: $id = 67 $id::splat(core::$elem_ty::consts::FRAC_1_SQRT_2); 68 69 /// Euler's number (e) 70 pub const E: $id = $id::splat(core::$elem_ty::consts::E); 71 72 /// log<sub>2</sub>(e) 73 pub const LOG2_E: $id = $id::splat(core::$elem_ty::consts::LOG2_E); 74 75 /// log<sub>10</sub>(e) 76 pub const LOG10_E: $id = 77 $id::splat(core::$elem_ty::consts::LOG10_E); 78 79 /// ln(2) 80 pub const LN_2: $id = $id::splat(core::$elem_ty::consts::LN_2); 81 82 /// ln(10) 83 pub const LN_10: $id = $id::splat(core::$elem_ty::consts::LN_10); 84 } 85 }; 86 } 87