14 template<concepts::FloatingPo
int T>
18 if constexpr (Endian::Little == Endian::Native) {
24 return (msb &
byte(0b1000'0000)) !=
byte(0);
27 template<concepts::Integral T>
40 template<concepts::FloatingPo
int T>
45 auto& msb = [&] ->
byte& {
46 if constexpr (Endian::Little == Endian::Native) {
53 msb &= ~(
byte(1) << 7);
54 msb |= (
byte(sign) << 7);
59 template<concepts::Integral T>
72 template<concepts::FloatingPo
int T>
79 return T(
i64(x + 0.5));
82 template<concepts::Integral T>
95 template<concepts::FloatingPo
int T>
98 auto quotient =
round(x / y);
99 return x - quotient * y;
102 template<concepts::Integral T>
115 template<concepts::FloatingPo
int T>
125 template<concepts::Integral T>
138 template<concepts::FloatingPo
int T>
141 template<concepts::Integral T>
148 template<concepts::FloatingPo
int T>
151 template<concepts::Integral T>
157template<concepts::FloatingPo
int T>
183 return T(1.0) - x * x / T(2.0) + x * x * x * x / T(24.0) - x * x * x * x * x * x / T(720.0);
186template<concepts::FloatingPo
int T>
213 return x - x * x * x / T(6.0) + x * x * x * x * x / T(120.0);
224 template<concepts::FloatingPo
int T>
225 constexpr static auto operator()(T x, T y, T epsilon = 0.0001) {
226 return x >= y - epsilon && x <= y + epsilon;
constexpr auto abs
Definition abs.h:39
constexpr auto pi_v
Definition constants.h:21
std::byte byte
Definition byte.h:64
double f64
Definition floats.h:5
__INT64_TYPE__ i64
Definition integers.h:17
Definition zstring_parser.h:9
constexpr auto sin
Definition functions.h:219
constexpr auto signbit
Definition functions.h:35
constexpr auto approximately_equal
Definition functions.h:232
constexpr auto as_bytes
Definition as_bytes.h:16
constexpr auto remainder
Definition functions.h:110
constexpr auto fmod
Definition functions.h:133
constexpr auto round
Definition functions.h:90
constexpr auto copysign
Definition functions.h:67
constexpr auto cos
Definition functions.h:218
Definition functions.h:223
static constexpr auto operator()(T x, T y, T epsilon=0.0001)
Definition functions.h:225
Definition functions.h:39
static constexpr auto operator()(T x, T y) -> f64
Definition functions.h:60
static constexpr auto operator()(T x, T y) -> T
Definition functions.h:41
Definition functions.h:137
static constexpr auto operator()(T x) -> f64
Definition functions.h:142
static constexpr auto operator()(T x) -> T
Definition functions.h:158
Definition functions.h:114
static constexpr auto operator()(T x, T y) -> T
Definition functions.h:116
static constexpr auto operator()(T x, T y) -> f64
Definition functions.h:126
Definition functions.h:94
static constexpr auto operator()(T x, T y) -> T
Definition functions.h:96
static constexpr auto operator()(T x, T y) -> f64
Definition functions.h:103
Definition functions.h:71
static constexpr auto operator()(T x) -> T
Definition functions.h:73
static constexpr auto operator()(T x) -> f64
Definition functions.h:83
Definition functions.h:13
static constexpr auto operator()(T x) -> T
Definition functions.h:15
static constexpr auto operator()(T x) -> bool
Definition functions.h:28
Definition functions.h:147
static constexpr auto operator()(T x) -> f64
Definition functions.h:152
static constexpr auto operator()(T x) -> T
Definition functions.h:187
Definition span_fixed_size.h:37