Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
nw4hbm::math Namespace Reference

Namespaces

namespace  convert
 
namespace  detail
 

Classes

struct  _MTX33
 
struct  _MTX34
 
struct  _MTX44
 
struct  _QUAT
 
struct  _VEC2
 
struct  _VEC3
 
struct  _VEC4
 
struct  AABB
 
struct  CAPSULE
 
class  FRUSTUM
 
struct  LINE3
 
struct  MTX33
 
struct  MTX34
 
struct  MTX44
 
struct  PLANE
 
struct  QUAT
 
struct  RAY3
 
struct  SEGMENT3
 
struct  SPHERE
 
struct  VEC2
 
struct  VEC3
 
struct  VEC4
 

Enumerations

enum  IntersectionResult {
  INTERSECTION_NONE = 0 , INTERSECTION_1 = 1 , INTERSECTION_2 = 2 , INTERSECTION_LINE3_ON_PLANE = INTERSECTION_2 ,
  INTERSECTION_RAY3_ON_PLANE = INTERSECTION_2 , INTERSECTION_SEGMENT3_ON_PLANE = INTERSECTION_2 , INTERSECTION_OUTSIDE = 0 , INTERSECTION_INSIDE = 1 ,
  INTERSECTION_INTERSECT = 2
}
 

Functions

f32 FrSqrt (f32 x)
 
f32 Hermite (f32 p1, f32 t1, f32 p2, f32 t2, f32 s)
 
f32 Bezier (f32 p1, f32 p2, f32 p3, f32 p4, f32 s)
 
f32 CatmullRom (f32 p0, f32 p1, f32 p2, f32 p3, f32 s)
 
u32 CntBit1 (u32 x)
 
u32 CntBit1 (u32 const *first, u32 const *last)
 
u32 DistBit (u32 const *first1, u32 const *last1, u32 const *first2)
 
u32 RevBit (u32 x)
 
int IExp (int x, u32 n)
 
u32 ILog10 (u32 x)
 
u32 F32AsU32 (f32 x)
 
f32 U32AsF32 (u32 x)
 
s32 FGetExpPart (f32 f)
 
f32 FGetMantPart (f32 f)
 
f32 FSelect (register f32 cond, register f32 ifPos, register f32 ifNeg)
 
f32 FAbs (register f32 x)
 
f32 FNAbs (register f32 x)
 
f32 AcosRad (f32 x)
 
f32 FCopySign (f32 abs, f32 sign)
 
s16 F32ToS16 (f32 x)
 
u16 F32ToU16 (f32 x)
 
f32 U16ToF32 (u16 x)
 
f32 S16ToF32 (s16 x)
 
f32 FSqrt (f32 x)
 
f32 FCbrt (f32 x)
 
u32 CntLz (register u32 x)
 
u32 DistBit (u32 x, u32 y)
 
int SolveEquation2 (f32 *root, f32 a, f32 b, f32 c)
 
int SolveEquation3 (f32 *root, f32 a, f32 b, f32 c, f32 d)
 
int SolveEquation4 (f32 *root, f32 a, f32 b, f32 c, f32 d, f32 e)
 
f32 DistSqPoint3ToLine3 (VEC3 const *P, LINE3 const *L, f32 *t)
 
f32 DistSqPoint3ToRay3 (VEC3 const *P, RAY3 const *R, f32 *t)
 
f32 DistSqPoint3ToSegment3 (VEC3 const *P, SEGMENT3 const *S, f32 *t)
 
f32 DistSqPoint3ToPlane (VEC3 const *P, PLANE const *J, VEC3 *Q)
 
f32 DistSqSphereToPlane (SPHERE const *S, PLANE const *J)
 
f32 DistSqPoint3ToPolyline3 (VEC3 const *P, VEC3 const *vertices, unsigned nVertices)
 
f32 DistSqLine3ToLine3 (LINE3 const *L0, LINE3 const *L1, f32 *s, f32 *t)
 
f32 DistSqSegment3ToSegment3 (SEGMENT3 const *S1, SEGMENT3 const *S2, f32 *s, f32 *t)
 
f32 DistSqLine3ToRay3 (LINE3 const *L, RAY3 const *R, f32 *s, f32 *t)
 
f32 DistSqLine3ToSegment3 (LINE3 const *L0, SEGMENT3 const *S, f32 *s, f32 *t)
 
f32 DistSqRay3ToRay3 (RAY3 const *R0, RAY3 const *R1, f32 *s, f32 *t)
 
f32 DistSqRay3ToSegment3 (RAY3 const *R0, SEGMENT3 const *S, f32 *s, f32 *t)
 
IntersectionResult IntersectionLine3Plane (LINE3 const *L, PLANE const *J, f32 *t, VEC3 *I)
 
IntersectionResult IntersectionRay3Plane (RAY3 const *R, PLANE const *J, f32 *t, VEC3 *I)
 
IntersectionResult IntersectionSegment3Plane (SEGMENT3 const *S, PLANE const *J, f32 *t, VEC3 *I)
 
IntersectionResult IntersectionLine3Sphere (LINE3 const *L, SPHERE const *sphere, f32 *t0, f32 *t1)
 
IntersectionResult IntersectionRay3Sphere (RAY3 const *R, SPHERE const *sphere, f32 *t0, f32 *t1)
 
bool IntersectionRay3Sphere (RAY3 const *R, SPHERE const *sphere)
 
IntersectionResult IntersectionSegment3Sphere (SEGMENT3 const *S, SPHERE const *sphere, f32 *t0, f32 *t1)
 
bool IntersectionRay3AABB (RAY3 const *R, AABB const *box, f32 *t)
 
bool IntersectionAABB (AABB const *a, AABB const *b)
 
bool IntersectionSphereAABB (SPHERE const *sphere, AABB const *aabb)
 
bool IntersectionSphere (SPHERE const *s0, SPHERE const *s1)
 
bool IntersectionCapsule (CAPSULE const *C0, CAPSULE const *C1)
 
bool IntersectionRay3Capsule (RAY3 const *R, CAPSULE const *C)
 
bool IntersectionLine3Capsule (LINE3 const *L, CAPSULE const *C)
 
bool IntersectionPlaneCapsule (PLANE const *J, CAPSULE const *C)
 
SPHEREMergeSphere (SPHERE *s2, SPHERE const *s0, SPHERE const *s1)
 
AABBMergeAABB (AABB *a2, AABB const *a0, AABB const *a1)
 
f32 SinFIdx (f32 fidx)
 
f32 CosFIdx (f32 fidx)
 
void __deadstrip1 ()
 
f32 Atan2FIdx (f32 y, f32 x)
 
void SinCosFIdx (f32 *s, f32 *c, f32 fidx)
 
f32 AtanFIdx (f32 x)
 
f32 TanFIdx (f32 fidx)
 
f32 CosRad (f32 rad)
 
f32 SinDeg (f32 deg)
 
f32 CosDeg (f32 deg)
 
f32 TanDeg (f32 deg)
 
f32 Atan2Deg (f32 y, f32 x)
 
VEC3VEC3Add (register VEC3 *pOut, register VEC3 const *p1, register VEC3 const *p2)
 
VEC3VEC3Sub (register VEC3 *pOut, register VEC3 const *p1, register VEC3 const *p2)
 
VEC3VEC3Scale (register VEC3 *pOut, register VEC3 const *p, register f32 scale)
 
VEC3VEC3Lerp (register VEC3 *pOut, register VEC3 const *p1, register VEC3 const *p2, register f32 t)
 
f32 VEC3Dot (register VEC3 const *p1, register VEC3 const *p2)
 
f32 VEC3LenSq (register VEC3 const *p)
 
VEC3VEC3Cross (VEC3 *pOut, VEC3 const *p1, VEC3 const *p2)
 
VEC3VEC3Normalize (VEC3 *pOut, VEC3 const *p)
 
f32 VEC3DistSq (VEC3 const *p1, VEC3 const *p2)
 
MTX34MTX34Mult (MTX34 *pOut, MTX34 const *p1, MTX34 const *p2)
 
MTX34MTX34Copy (MTX34 *pOut, const MTX34 *p)
 
MTX34MTX34Identity (MTX34 *pOut)
 
u32 MTX34Inv (MTX34 *pOut, MTX34 const *p)
 
VEC3VEC3TransformCoord (VEC3 *pOut, MTX34 const *pM, VEC3 const *pV)
 
VEC2VEC2Maximize (VEC2 *pOut, VEC2 const *p1, VEC2 const *p2)
 
VEC2VEC2Minimize (VEC2 *pOut, VEC2 const *p1, VEC2 const *p2)
 
VEC2VEC2Normalize (VEC2 *pOut, VEC2 const *p)
 
VEC3VEC3Maximize (VEC3 *pOut, VEC3 const *p1, VEC3 const *p2)
 
VEC3VEC3Minimize (VEC3 *pOut, VEC3 const *p1, VEC3 const *p2)
 
VEC4VEC4Add (VEC4 *pOut, VEC4 const *p1, VEC4 const *p2)
 
VEC4VEC4Sub (VEC4 *pOut, VEC4 const *p1, VEC4 const *p2)
 
VEC4VEC4Scale (VEC4 *pOut, VEC4 const *p, f32 scale)
 
VEC4VEC4Lerp (VEC4 *pOut, VEC4 const *p1, VEC4 const *p2, f32 t)
 
f32 VEC4Dot (VEC4 const *p1, VEC4 const *p2)
 
f32 VEC4LenSq (VEC4 const *p)
 
f32 VEC4Len (VEC4 const *p)
 
VEC4VEC4Normalize (VEC4 *pOut, VEC4 const *p)
 
f32 VEC4DistSq (VEC4 const *p1, VEC4 const *p2)
 
VEC4VEC4Maximize (VEC4 *pOut, VEC4 const *p1, VEC4 const *p2)
 
VEC4VEC4Minimize (VEC4 *pOut, VEC4 const *p1, VEC4 const *p2)
 
MTX33MTX33Copy (MTX33 *pOut, MTX33 const *p)
 
MTX33MTX33Zero (MTX33 *pOut)
 
MTX33MTX33Identity (MTX33 *pOut)
 
MTX33MTX34ToMTX33 (MTX33 *pOut, MTX34 const *pM)
 
MTX33MTX33MAdd (MTX33 *pOut, f32 t, MTX33 const *p1, MTX33 const *p2)
 
u32 MTX34InvTranspose (MTX33 *inv, MTX34 const *src)
 
MTX34MTX34Zero (MTX34 *pOut)
 
bool MTX34IsIdentity (MTX34 const *p)
 
MTX34MTX34Add (MTX34 *pOut, MTX34 const *p1, MTX34 const *p2)
 
MTX34MTX34Sub (MTX34 *pOut, MTX34 const *p1, MTX34 const *p2)
 
MTX34MTX34Mult (MTX34 *pOut, MTX34 const *p, f32 f)
 
MTX34MTX34Scale (MTX34 *pOut, MTX34 const *pM, VEC3 const *pS)
 
MTX34MTX34Trans (MTX34 *pOut, MTX34 const *pM, VEC3 const *pT)
 
MTX34MTX34MAdd (MTX34 *pOut, f32 t, MTX34 const *p1, MTX34 const *p2)
 
MTX34MTX34RotAxisFIdx (MTX34 *pOut, VEC3 const *pAxis, f32 fIdx)
 
MTX34MTX34RotXYZFIdx (MTX34 *pOut, f32 fIdxX, f32 fIdxY, f32 fIdxZ)
 
MTX34MTX34RotXYZTransFIdx (MTX34 *pOut, f32 fIdxX, f32 fIdxY, f32 fIdxZ, VEC3 const *pT)
 
VEC3VEC3TransformNormal (VEC3 *pOut, MTX34 const *pM, VEC3 const *pV)
 
VEC3VEC3TransformNormalArray (VEC3 *pOut, MTX34 const *pM, VEC3 const *pV, u32 count)
 
MTX44MTX44Zero (MTX44 *pOut)
 
MTX44MTX44Identity (MTX44 *pOut)
 
MTX44MTX44Copy (MTX44 *pOut, MTX44 const *p)
 
bool MTX44IsIdentity (MTX44 const *p)
 
VEC4VEC3Transform (VEC4 *pOut, MTX44 const *pM, VEC3 const *pV)
 
VEC3VEC3TransformCoord (VEC3 *pOut, MTX44 const *pM, VEC3 const *pV)
 
VEC4VEC3TransformArray (VEC4 *pOut, MTX44 const *pM, VEC3 const *pV, u32 count)
 
VEC3VEC3TransformCoordArray (VEC3 *pOut, MTX44 const *pM, VEC3 const *pV, u32 count)
 
VEC4VEC4Transform (VEC4 *pOut, MTX44 const *pM, VEC4 const *pV)
 
VEC4VEC4TransformArray (VEC4 *pOut, MTX44 const *pM, VEC4 const *pV, u32 count)
 

Variables

static f32 const Ln2 = 0.69314718056f
 
static f32 const Pi = 3.141592653589f
 
static f32 const Tau = 2.0f * Pi
 

Enumeration Type Documentation

◆ IntersectionResult

Enumerator
INTERSECTION_NONE 
INTERSECTION_1 
INTERSECTION_2 
INTERSECTION_LINE3_ON_PLANE 
INTERSECTION_RAY3_ON_PLANE 
INTERSECTION_SEGMENT3_ON_PLANE 
INTERSECTION_OUTSIDE 
INTERSECTION_INSIDE 
INTERSECTION_INTERSECT 

Function Documentation

◆ __deadstrip1()

void nw4hbm::math::__deadstrip1 ( )
extern

◆ AcosRad()

f32 nw4hbm::math::AcosRad ( f32 x)
inline

◆ Atan2Deg()

f32 nw4hbm::math::Atan2Deg ( f32 y,
f32 x )
inline

◆ Atan2FIdx()

f32 nw4hbm::math::Atan2FIdx ( f32 y,
f32 x )

◆ AtanFIdx()

f32 nw4hbm::math::AtanFIdx ( f32 x)

◆ Bezier()

f32 nw4hbm::math::Bezier ( f32 p1,
f32 p2,
f32 p3,
f32 p4,
f32 s )

◆ CatmullRom()

f32 nw4hbm::math::CatmullRom ( f32 p0,
f32 p1,
f32 p2,
f32 p3,
f32 s )

◆ CntBit1() [1/2]

u32 nw4hbm::math::CntBit1 ( u32 const * first,
u32 const * last )

◆ CntBit1() [2/2]

u32 nw4hbm::math::CntBit1 ( u32 x)

◆ CntLz()

u32 nw4hbm::math::CntLz ( register u32 x)
inline

◆ CosDeg()

f32 nw4hbm::math::CosDeg ( f32 deg)
inline

◆ CosFIdx()

f32 nw4hbm::math::CosFIdx ( f32 fidx)

◆ CosRad()

f32 nw4hbm::math::CosRad ( f32 rad)
inline

◆ DistBit() [1/2]

u32 nw4hbm::math::DistBit ( u32 const * first1,
u32 const * last1,
u32 const * first2 )

◆ DistBit() [2/2]

u32 nw4hbm::math::DistBit ( u32 x,
u32 y )
inline

◆ DistSqLine3ToLine3()

f32 nw4hbm::math::DistSqLine3ToLine3 ( LINE3 const * L0,
LINE3 const * L1,
f32 * s,
f32 * t )

◆ DistSqLine3ToRay3()

f32 nw4hbm::math::DistSqLine3ToRay3 ( LINE3 const * L,
RAY3 const * R,
f32 * s,
f32 * t )

◆ DistSqLine3ToSegment3()

f32 nw4hbm::math::DistSqLine3ToSegment3 ( LINE3 const * L0,
SEGMENT3 const * S,
f32 * s,
f32 * t )

◆ DistSqPoint3ToLine3()

f32 nw4hbm::math::DistSqPoint3ToLine3 ( VEC3 const * P,
LINE3 const * L,
f32 * t )

◆ DistSqPoint3ToPlane()

f32 nw4hbm::math::DistSqPoint3ToPlane ( VEC3 const * P,
PLANE const * J,
VEC3 * Q )

◆ DistSqPoint3ToPolyline3()

f32 nw4hbm::math::DistSqPoint3ToPolyline3 ( VEC3 const * P,
VEC3 const * vertices,
unsigned nVertices )

◆ DistSqPoint3ToRay3()

f32 nw4hbm::math::DistSqPoint3ToRay3 ( VEC3 const * P,
RAY3 const * R,
f32 * t )

◆ DistSqPoint3ToSegment3()

f32 nw4hbm::math::DistSqPoint3ToSegment3 ( VEC3 const * P,
SEGMENT3 const * S,
f32 * t )

◆ DistSqRay3ToRay3()

f32 nw4hbm::math::DistSqRay3ToRay3 ( RAY3 const * R0,
RAY3 const * R1,
f32 * s,
f32 * t )

◆ DistSqRay3ToSegment3()

f32 nw4hbm::math::DistSqRay3ToSegment3 ( RAY3 const * R0,
SEGMENT3 const * S,
f32 * s,
f32 * t )

◆ DistSqSegment3ToSegment3()

f32 nw4hbm::math::DistSqSegment3ToSegment3 ( SEGMENT3 const * S1,
SEGMENT3 const * S2,
f32 * s,
f32 * t )

◆ DistSqSphereToPlane()

f32 nw4hbm::math::DistSqSphereToPlane ( SPHERE const * S,
PLANE const * J )

◆ F32AsU32()

u32 nw4hbm::math::F32AsU32 ( f32 x)
inline

◆ F32ToS16()

s16 nw4hbm::math::F32ToS16 ( f32 x)
inline

◆ F32ToU16()

u16 nw4hbm::math::F32ToU16 ( f32 x)
inline

◆ FAbs()

f32 nw4hbm::math::FAbs ( register f32 x)
inline

◆ FCbrt()

f32 nw4hbm::math::FCbrt ( f32 x)
inline

◆ FCopySign()

f32 nw4hbm::math::FCopySign ( f32 abs,
f32 sign )
inline

◆ FGetExpPart()

s32 nw4hbm::math::FGetExpPart ( f32 f)
inline

◆ FGetMantPart()

f32 nw4hbm::math::FGetMantPart ( f32 f)
inline

◆ FNAbs()

f32 nw4hbm::math::FNAbs ( register f32 x)
inline

◆ FrSqrt()

f32 nw4hbm::math::FrSqrt ( f32 x)

◆ FSelect()

f32 nw4hbm::math::FSelect ( register f32 cond,
register f32 ifPos,
register f32 ifNeg )
inline

◆ FSqrt()

f32 nw4hbm::math::FSqrt ( f32 x)
inline

◆ Hermite()

f32 nw4hbm::math::Hermite ( f32 p1,
f32 t1,
f32 p2,
f32 t2,
f32 s )

◆ IExp()

int nw4hbm::math::IExp ( int x,
u32 n )

◆ ILog10()

u32 nw4hbm::math::ILog10 ( u32 x)

◆ IntersectionAABB()

bool nw4hbm::math::IntersectionAABB ( AABB const * a,
AABB const * b )

◆ IntersectionCapsule()

bool nw4hbm::math::IntersectionCapsule ( CAPSULE const * C0,
CAPSULE const * C1 )

◆ IntersectionLine3Capsule()

bool nw4hbm::math::IntersectionLine3Capsule ( LINE3 const * L,
CAPSULE const * C )

◆ IntersectionLine3Plane()

IntersectionResult nw4hbm::math::IntersectionLine3Plane ( LINE3 const * L,
PLANE const * J,
f32 * t,
VEC3 * I )

◆ IntersectionLine3Sphere()

IntersectionResult nw4hbm::math::IntersectionLine3Sphere ( LINE3 const * L,
SPHERE const * sphere,
f32 * t0,
f32 * t1 )

◆ IntersectionPlaneCapsule()

bool nw4hbm::math::IntersectionPlaneCapsule ( PLANE const * J,
CAPSULE const * C )

◆ IntersectionRay3AABB()

bool nw4hbm::math::IntersectionRay3AABB ( RAY3 const * R,
AABB const * box,
f32 * t )

◆ IntersectionRay3Capsule()

bool nw4hbm::math::IntersectionRay3Capsule ( RAY3 const * R,
CAPSULE const * C )

◆ IntersectionRay3Plane()

IntersectionResult nw4hbm::math::IntersectionRay3Plane ( RAY3 const * R,
PLANE const * J,
f32 * t,
VEC3 * I )

◆ IntersectionRay3Sphere() [1/2]

bool nw4hbm::math::IntersectionRay3Sphere ( RAY3 const * R,
SPHERE const * sphere )

◆ IntersectionRay3Sphere() [2/2]

IntersectionResult nw4hbm::math::IntersectionRay3Sphere ( RAY3 const * R,
SPHERE const * sphere,
f32 * t0,
f32 * t1 )

◆ IntersectionSegment3Plane()

IntersectionResult nw4hbm::math::IntersectionSegment3Plane ( SEGMENT3 const * S,
PLANE const * J,
f32 * t,
VEC3 * I )

◆ IntersectionSegment3Sphere()

IntersectionResult nw4hbm::math::IntersectionSegment3Sphere ( SEGMENT3 const * S,
SPHERE const * sphere,
f32 * t0,
f32 * t1 )

◆ IntersectionSphere()

bool nw4hbm::math::IntersectionSphere ( SPHERE const * s0,
SPHERE const * s1 )

◆ IntersectionSphereAABB()

bool nw4hbm::math::IntersectionSphereAABB ( SPHERE const * sphere,
AABB const * aabb )

◆ MergeAABB()

AABB * nw4hbm::math::MergeAABB ( AABB * a2,
AABB const * a0,
AABB const * a1 )

◆ MergeSphere()

SPHERE * nw4hbm::math::MergeSphere ( SPHERE * s2,
SPHERE const * s0,
SPHERE const * s1 )

◆ MTX33Copy()

MTX33 * nw4hbm::math::MTX33Copy ( MTX33 * pOut,
MTX33 const * p )

◆ MTX33Identity()

MTX33 * nw4hbm::math::MTX33Identity ( MTX33 * pOut)

◆ MTX33MAdd()

MTX33 * nw4hbm::math::MTX33MAdd ( MTX33 * pOut,
f32 t,
MTX33 const * p1,
MTX33 const * p2 )

◆ MTX33Zero()

MTX33 * nw4hbm::math::MTX33Zero ( MTX33 * pOut)

◆ MTX34Add()

MTX34 * nw4hbm::math::MTX34Add ( MTX34 * pOut,
MTX34 const * p1,
MTX34 const * p2 )

◆ MTX34Copy()

MTX34 * nw4hbm::math::MTX34Copy ( MTX34 * pOut,
const MTX34 * p )
inline

◆ MTX34Identity()

MTX34 * nw4hbm::math::MTX34Identity ( MTX34 * pOut)
inline

◆ MTX34Inv()

u32 nw4hbm::math::MTX34Inv ( MTX34 * pOut,
MTX34 const * p )
inline

◆ MTX34InvTranspose()

u32 nw4hbm::math::MTX34InvTranspose ( MTX33 * inv,
MTX34 const * src )

◆ MTX34IsIdentity()

bool nw4hbm::math::MTX34IsIdentity ( MTX34 const * p)

◆ MTX34MAdd()

MTX34 * nw4hbm::math::MTX34MAdd ( MTX34 * pOut,
f32 t,
MTX34 const * p1,
MTX34 const * p2 )

◆ MTX34Mult() [1/2]

MTX34 * nw4hbm::math::MTX34Mult ( MTX34 * pOut,
MTX34 const * p,
f32 f )

◆ MTX34Mult() [2/2]

MTX34 * nw4hbm::math::MTX34Mult ( MTX34 * pOut,
MTX34 const * p1,
MTX34 const * p2 )
inline

◆ MTX34RotAxisFIdx()

MTX34 * nw4hbm::math::MTX34RotAxisFIdx ( MTX34 * pOut,
VEC3 const * pAxis,
f32 fIdx )

◆ MTX34RotXYZFIdx()

MTX34 * nw4hbm::math::MTX34RotXYZFIdx ( MTX34 * pOut,
f32 fIdxX,
f32 fIdxY,
f32 fIdxZ )

◆ MTX34RotXYZTransFIdx()

MTX34 * nw4hbm::math::MTX34RotXYZTransFIdx ( MTX34 * pOut,
f32 fIdxX,
f32 fIdxY,
f32 fIdxZ,
VEC3 const * pT )

◆ MTX34Scale()

MTX34 * nw4hbm::math::MTX34Scale ( MTX34 * pOut,
MTX34 const * pM,
VEC3 const * pS )

◆ MTX34Sub()

MTX34 * nw4hbm::math::MTX34Sub ( MTX34 * pOut,
MTX34 const * p1,
MTX34 const * p2 )

◆ MTX34ToMTX33()

MTX33 * nw4hbm::math::MTX34ToMTX33 ( MTX33 * pOut,
MTX34 const * pM )

◆ MTX34Trans()

MTX34 * nw4hbm::math::MTX34Trans ( MTX34 * pOut,
MTX34 const * pM,
VEC3 const * pT )

◆ MTX34Zero()

MTX34 * nw4hbm::math::MTX34Zero ( MTX34 * pOut)

◆ MTX44Copy()

MTX44 * nw4hbm::math::MTX44Copy ( MTX44 * pOut,
MTX44 const * p )

◆ MTX44Identity()

MTX44 * nw4hbm::math::MTX44Identity ( MTX44 * pOut)

◆ MTX44IsIdentity()

bool nw4hbm::math::MTX44IsIdentity ( MTX44 const * p)

◆ MTX44Zero()

MTX44 * nw4hbm::math::MTX44Zero ( MTX44 * pOut)

◆ RevBit()

u32 nw4hbm::math::RevBit ( u32 x)

◆ S16ToF32()

f32 nw4hbm::math::S16ToF32 ( s16 x)
inline

◆ SinCosFIdx()

void nw4hbm::math::SinCosFIdx ( f32 * s,
f32 * c,
f32 fidx )

◆ SinDeg()

f32 nw4hbm::math::SinDeg ( f32 deg)
inline

◆ SinFIdx()

f32 nw4hbm::math::SinFIdx ( f32 fidx)

◆ SolveEquation2()

int nw4hbm::math::SolveEquation2 ( f32 * root,
f32 a,
f32 b,
f32 c )

◆ SolveEquation3()

int nw4hbm::math::SolveEquation3 ( f32 * root,
f32 a,
f32 b,
f32 c,
f32 d )

◆ SolveEquation4()

int nw4hbm::math::SolveEquation4 ( f32 * root,
f32 a,
f32 b,
f32 c,
f32 d,
f32 e )

◆ TanDeg()

f32 nw4hbm::math::TanDeg ( f32 deg)
inline

◆ TanFIdx()

f32 nw4hbm::math::TanFIdx ( f32 fidx)
inline

◆ U16ToF32()

f32 nw4hbm::math::U16ToF32 ( u16 x)
inline

◆ U32AsF32()

f32 nw4hbm::math::U32AsF32 ( u32 x)
inline

◆ VEC2Maximize()

VEC2 * nw4hbm::math::VEC2Maximize ( VEC2 * pOut,
VEC2 const * p1,
VEC2 const * p2 )

◆ VEC2Minimize()

VEC2 * nw4hbm::math::VEC2Minimize ( VEC2 * pOut,
VEC2 const * p1,
VEC2 const * p2 )

◆ VEC2Normalize()

VEC2 * nw4hbm::math::VEC2Normalize ( VEC2 * pOut,
VEC2 const * p )

◆ VEC3Add()

VEC3 * nw4hbm::math::VEC3Add ( register VEC3 * pOut,
register VEC3 const * p1,
register VEC3 const * p2 )
inline

◆ VEC3Cross()

VEC3 * nw4hbm::math::VEC3Cross ( VEC3 * pOut,
VEC3 const * p1,
VEC3 const * p2 )
inline

◆ VEC3DistSq()

f32 nw4hbm::math::VEC3DistSq ( VEC3 const * p1,
VEC3 const * p2 )
inline

◆ VEC3Dot()

f32 nw4hbm::math::VEC3Dot ( register VEC3 const * p1,
register VEC3 const * p2 )
inline

◆ VEC3LenSq()

f32 nw4hbm::math::VEC3LenSq ( register VEC3 const * p)
inline

◆ VEC3Lerp()

VEC3 * nw4hbm::math::VEC3Lerp ( register VEC3 * pOut,
register VEC3 const * p1,
register VEC3 const * p2,
register f32 t )
inline

◆ VEC3Maximize()

VEC3 * nw4hbm::math::VEC3Maximize ( VEC3 * pOut,
VEC3 const * p1,
VEC3 const * p2 )

◆ VEC3Minimize()

VEC3 * nw4hbm::math::VEC3Minimize ( VEC3 * pOut,
VEC3 const * p1,
VEC3 const * p2 )

◆ VEC3Normalize()

VEC3 * nw4hbm::math::VEC3Normalize ( VEC3 * pOut,
VEC3 const * p )
inline

◆ VEC3Scale()

VEC3 * nw4hbm::math::VEC3Scale ( register VEC3 * pOut,
register VEC3 const * p,
register f32 scale )
inline

◆ VEC3Sub()

VEC3 * nw4hbm::math::VEC3Sub ( register VEC3 * pOut,
register VEC3 const * p1,
register VEC3 const * p2 )
inline

◆ VEC3Transform()

VEC4 * nw4hbm::math::VEC3Transform ( VEC4 * pOut,
MTX44 const * pM,
VEC3 const * pV )

◆ VEC3TransformArray()

VEC4 * nw4hbm::math::VEC3TransformArray ( VEC4 * pOut,
MTX44 const * pM,
VEC3 const * pV,
u32 count )

◆ VEC3TransformCoord() [1/2]

VEC3 * nw4hbm::math::VEC3TransformCoord ( VEC3 * pOut,
MTX34 const * pM,
VEC3 const * pV )
inline

◆ VEC3TransformCoord() [2/2]

VEC3 * nw4hbm::math::VEC3TransformCoord ( VEC3 * pOut,
MTX44 const * pM,
VEC3 const * pV )

◆ VEC3TransformCoordArray()

VEC3 * nw4hbm::math::VEC3TransformCoordArray ( VEC3 * pOut,
MTX44 const * pM,
VEC3 const * pV,
u32 count )

◆ VEC3TransformNormal()

VEC3 * nw4hbm::math::VEC3TransformNormal ( VEC3 * pOut,
MTX34 const * pM,
VEC3 const * pV )

◆ VEC3TransformNormalArray()

VEC3 * nw4hbm::math::VEC3TransformNormalArray ( VEC3 * pOut,
MTX34 const * pM,
VEC3 const * pV,
u32 count )

◆ VEC4Add()

VEC4 * nw4hbm::math::VEC4Add ( VEC4 * pOut,
VEC4 const * p1,
VEC4 const * p2 )

◆ VEC4DistSq()

f32 nw4hbm::math::VEC4DistSq ( VEC4 const * p1,
VEC4 const * p2 )

◆ VEC4Dot()

f32 nw4hbm::math::VEC4Dot ( VEC4 const * p1,
VEC4 const * p2 )

◆ VEC4Len()

f32 nw4hbm::math::VEC4Len ( VEC4 const * p)

◆ VEC4LenSq()

f32 nw4hbm::math::VEC4LenSq ( VEC4 const * p)

◆ VEC4Lerp()

VEC4 * nw4hbm::math::VEC4Lerp ( VEC4 * pOut,
VEC4 const * p1,
VEC4 const * p2,
f32 t )

◆ VEC4Maximize()

VEC4 * nw4hbm::math::VEC4Maximize ( VEC4 * pOut,
VEC4 const * p1,
VEC4 const * p2 )

◆ VEC4Minimize()

VEC4 * nw4hbm::math::VEC4Minimize ( VEC4 * pOut,
VEC4 const * p1,
VEC4 const * p2 )

◆ VEC4Normalize()

VEC4 * nw4hbm::math::VEC4Normalize ( VEC4 * pOut,
VEC4 const * p )

◆ VEC4Scale()

VEC4 * nw4hbm::math::VEC4Scale ( VEC4 * pOut,
VEC4 const * p,
f32 scale )

◆ VEC4Sub()

VEC4 * nw4hbm::math::VEC4Sub ( VEC4 * pOut,
VEC4 const * p1,
VEC4 const * p2 )

◆ VEC4Transform()

VEC4 * nw4hbm::math::VEC4Transform ( VEC4 * pOut,
MTX44 const * pM,
VEC4 const * pV )

◆ VEC4TransformArray()

VEC4 * nw4hbm::math::VEC4TransformArray ( VEC4 * pOut,
MTX44 const * pM,
VEC4 const * pV,
u32 count )

Variable Documentation

◆ Ln2

f32 const nw4hbm::math::Ln2 = 0.69314718056f
static

◆ Pi

f32 const nw4hbm::math::Pi = 3.141592653589f
static

◆ Tau

f32 const nw4hbm::math::Tau = 2.0f * Pi
static