1#[cfg(feature = "libm")]
2mod libm_math {
3 #[inline(always)]
4 pub(crate) fn acos(f: f32) -> f32 {
5 libm::acosf(f)
6 }
7
8 #[allow(unused)]
9 #[inline(always)]
10 pub(crate) fn sin(f: f32) -> f32 {
11 libm::sinf(f)
12 }
13
14 #[inline(always)]
15 pub(crate) fn sqrt(f: f32) -> f32 {
16 libm::sqrtf(f)
17 }
18}
19
20#[cfg(not(feature = "libm"))]
21mod std_math {
22 #[inline(always)]
23 pub(crate) fn acos(f: f32) -> f32 {
24 f32::acos(f)
25 }
26
27 #[allow(unused)]
28 #[inline(always)]
29 pub(crate) fn sin(f: f32) -> f32 {
30 f32::sin(f)
31 }
32
33 #[inline(always)]
34 pub(crate) fn sqrt(f: f32) -> f32 {
35 f32::sqrt(f)
36 }
37}
38
39#[cfg(feature = "libm")]
40pub(crate) use libm_math::*;
41
42#[cfg(not(feature = "libm"))]
43pub(crate) use std_math::*;