Math functions and constants used in the base game.
Classes | |
struct | AtanEntry |
struct | BaseAndDec32 |
struct | BaseAndDec64 |
union | c32 |
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) |
static f32 | fres (const f32 val) |
static f32 | finv (f32 x) |
Fused Newton-Raphson operation. | |
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< BaseAndDec64, 32 > | RSQRTE_TABLE |
static constexpr std::array< BaseAndDec32, 32 > | FRES_TABLE |
|
inlinestaticnodiscard0x8022F8C0 |
|
inlinestaticnodiscard0x8022F8E4 |
|
nodiscard0x800853C0 |
|
inlinestaticnodiscard0x8022F86C |
|
inlinestaticnodiscard |
|
inlinestaticnodiscard |
|
inlinestaticnodiscard |
|
inlinestaticnodiscard |
|
inlinestaticnodiscard |
|
nodiscard0x80085040 |
|
inlinestaticnodiscard |
|
inlinestaticnodiscard0x8022F860 |
|
inlinestaticnodiscard0x8022F80C |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr0x80274148 |
|
staticconstexpr |
|
staticconstexpr0x80248010 |