libnds
Functions

math.h File Reference

hardware coprocessor math instructions. More...

#include "nds/ndstypes.h"

Functions

static void crossf32 (int32 *a, int32 *b, int32 *result)
 1.19.12 fixed point cross product function result = AxB
static int32 div32 (int32 num, int32 den)
 integer divide
static int32 div64 (int64 num, int32 den)
 integer 64 bit divide
static int32 divf32 (int32 num, int32 den)
 Fixed point divide.
static int32 dotf32 (int32 *a, int32 *b)
 1.19.12 fixed point dot product function result = A dot B
static int32 mod32 (int32 num, int32 den)
 integer modulous
static int32 mod64 (int64 num, int32 den)
 integer 64 bit modulous
static int32 mulf32 (int32 a, int32 b)
 Fixed point multiply.
static void normalizef32 (int32 *a)
 1.19.12 fixed point normalize function A = A / |A|
static u32 sqrt32 (int a)
 integer sqrt
static u32 sqrt64 (long long a)
 integer sqrt
static int32 sqrtf32 (int32 a)
 Fixed point sqrt.

Detailed Description

hardware coprocessor math instructions.


Function Documentation

static void crossf32 ( int32 a,
int32 b,
int32 result 
) [inline, static]

1.19.12 fixed point cross product function result = AxB

Parameters:
apointer to fixed 3x3 matrix
bpointer to fixed 3x3 matrix
resultpointer to fixed 3x3 matrix Cross product x = Ay * Bz - By * Az y = Az * Bx - Bz * Ax z = Ax * By - Bx * Ay
static int32 div32 ( int32  num,
int32  den 
) [inline, static]

integer divide

Parameters:
numnumerator
dendenominator
Returns:
returns 32 bit integer result
static int32 div64 ( int64  num,
int32  den 
) [inline, static]

integer 64 bit divide

Parameters:
num64 bit numerator
den32 bit denominator
Returns:
returns 32 bit integer result
static int32 divf32 ( int32  num,
int32  den 
) [inline, static]

Fixed point divide.

Parameters:
numTakes 20.12 numerator.
denTakes 20.12 denominator.
Returns:
returns 20.12 result.
static int32 dotf32 ( int32 a,
int32 b 
) [inline, static]

1.19.12 fixed point dot product function result = A dot B

Parameters:
apointer to fixed 3x3 matrix
bpointer to fixed 3x3 matrix
Returns:
32 bit integer result Dot Product result = Ax * Bx + Ay * By + Az * Bz
static int32 mod32 ( int32  num,
int32  den 
) [inline, static]

integer modulous

Parameters:
numnumerator
dendenominator
Returns:
returns 32 bit integer remainder
static int32 mod64 ( int64  num,
int32  den 
) [inline, static]

integer 64 bit modulous

Parameters:
num64 bit numerator
den32 bit denominator
Returns:
returns 32 bit integer remainder
static int32 mulf32 ( int32  a,
int32  b 
) [inline, static]

Fixed point multiply.

Parameters:
aTakes 20.12
bTakes 20.12
Returns:
returns 20.12 result
static void normalizef32 ( int32 a) [inline, static]

1.19.12 fixed point normalize function A = A / |A|

Parameters:
apointer to fixed 3x3 matrix Normalize Ax = Ax / mag Ay = Ay / mag Az = Az / mag
static u32 sqrt32 ( int  a) [inline, static]

integer sqrt

Parameters:
a32 bit integer argument
Returns:
returns 32 bit integer result
static u32 sqrt64 ( long long  a) [inline, static]

integer sqrt

Parameters:
a64 bit integer argument
Returns:
returns 32 bit integer result
static int32 sqrtf32 ( int32  a) [inline, static]

Fixed point sqrt.

Parameters:
aTakes 20.12
Returns:
returns 20.12 result
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines