Math functions and constants used in the base game.
Classes | |
struct | AtanEntry |
struct | BaseAndDec |
union | c64 |
struct | SinCosEntry |
Functions | |
f32 | frsqrt (f32 x) |
f32 | SinFIdx (f32 fidx) |
f32 | CosFIdx (f32 fidx) |
f32 | AtanFIdx_ (f32 x) |
f32 | Atan2FIdx (f32 y, f32 x) |
static f32 | sqrt (f32 x) |
static f32 | sin (f32 x) |
static f32 | cos (f32 x) |
static f32 | acos (f32 x) |
static f32 | atan2 (f32 y, f32 x) |
static f32 | abs (f32 x) |
static f64 | force25Bit (f64 x) |
This is used to mimic the Wii's floating-point unit. | |
static f32 | fma (f32 x, f32 y, f32 z) |
Fused multiply-add operation. | |
static f32 | fms (f32 x, f32 y, f32 z) |
Fused multiply-subtract operation. | |
static f64 | frsqrte (const f64 val) |
Variables | |
static constexpr SinCosEntry | sSinCosTbl [256+1] |
static constexpr AtanEntry | sArcTanTbl [32+1] |
static constexpr u64 | EXPONENT_SHIFT_F64 = 52 |
static constexpr u64 | MANTISSA_MASK_F64 = 0x000fffffffffffffULL |
static constexpr u64 | EXPONENT_MASK_F64 = 0x7ff0000000000000ULL |
static constexpr u64 | SIGN_MASK_F64 = 0x8000000000000000ULL |
static constexpr std::array< BaseAndDec, 32 > | RSQRTE_TABLE |
|
inlinestaticnodiscard0x8022F8C0 |
|
inlinestaticnodiscard0x8022F8E4 |
|
nodiscard0x800853C0 |
|
inlinestaticnodiscard0x8022F86C |
|
inlinestaticnodiscard |
|
inlinestaticnodiscard |
|
inlinestaticnodiscard |
|
nodiscard0x80085040 |
|
inlinestaticnodiscard |
|
inlinestaticnodiscard0x8022F860 |
|
inlinestaticnodiscard0x8022F80C |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr0x80274148 |
|
staticconstexpr |
|
staticconstexpr0x80248010 |