30 return std::max(
min, std::min(val,
max));
65 return std::pow(base, exp);
73 static constexpr ice::f32 one_over_three = 1.0f / 3.0f;
83 guess = (2.0f * guess + val / (guess * guess)) * one_over_three;
89 return std::cbrt(val);
100 return std::numeric_limits<ice::f32>::quiet_NaN();
102 else if (val == 0.0f || val == 1.0f)
110 guess = 0.5f * (guess + val / guess);
112 return sgn(val) * guess;
116 return std::sqrt(val);
136 const f64 muls[]{ 1.0, -1.0 };
138 const f64 val = angle.raw_value();
144 fact *= (n * 2) * ((n * 2) + 1);
146 sum += muls[(n & 1)] * valp / fact;
152 return std::sin(angle.raw_value());
165 const f64 muls[]{ 1.0, -1.0 };
167 const f64 val = angle.raw_value();
175 sum += muls[(n & 1)] * valp / fact;
176 fact *= ((n * 2) + 1);
182 return std::cos(angle.raw_value());
199 return std::tan(
radians.raw_value());
211 return std::tan(
radians.raw_value());
217 return std::atan(angle.raw_value());
222 return std::atan(x.raw_value());
227 return std::atan2(x, y);
232 return std::atan2(x, y);
Definition algorithm.hxx:8
rad32 rad
Definition angles.hxx:170
auto atan(rad x) noexcept -> f32
Definition common.hxx:220
constexpr auto max(arr_t< Size, T > left, arr_t< Size, U > right) noexcept -> arr_t< Size, T >
Definition array_operations.hxx:49
constexpr auto degrees(rad radians) noexcept -> deg
Definition common.hxx:43
constexpr auto min(arr_t< Size, T > left, arr_t< Size, U > right) noexcept -> arr_t< Size, T >
Definition array_operations.hxx:60
auto atan2(f32 x, f32 y) noexcept -> f32
Definition common.hxx:230
deg32 deg
Definition angles.hxx:169
constexpr auto cbrt(f32 val) noexcept -> f32
Definition common.hxx:68
constexpr auto sgn(f32 val) noexcept -> f32
Definition common.hxx:53
constexpr auto sin(rad radians) noexcept -> f32
Definition common.hxx:156
constexpr auto tan(rad radians) noexcept -> f32
Definition common.hxx:203
constexpr auto sum(U first, Args... args) noexcept
Definition algorithm.hxx:22
constexpr auto cos(rad radians) noexcept -> f32
Definition common.hxx:186
auto pow(f32 base, f32 exp) noexcept -> f32
Definition common.hxx:63
constexpr auto sqrt(f32 val) noexcept -> f32
Definition common.hxx:93
constexpr auto abs(f32 val) noexcept -> f32
Definition common.hxx:58
constexpr auto radians(deg degrees) noexcept -> rad
Definition common.hxx:33
constexpr auto clamp(f32 val, f32 min, f32 max) noexcept -> f32
Definition common.hxx:28
constexpr auto factorial(u32 n) noexcept -> u32
Definition common.hxx:120
double f64
Definition types.hxx:17
std::uint32_t u32
Definition types.hxx:26
float f32
Definition types.hxx:16