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:
a pointer to fixed 3x3 matrix
b pointer to fixed 3x3 matrix
result pointer 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:
num numerator
den denominator
Returns:
returns 32 bit integer result
static int32 div64 ( int64  num,
int32  den 
) [inline, static]

integer 64 bit divide

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

Fixed point divide.

Parameters:
num Takes 20.12 numerator.
den Takes 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:
a pointer to fixed 3x3 matrix
b pointer 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:
num numerator
den denominator
Returns:
returns 32 bit integer remainder
static int32 mod64 ( int64  num,
int32  den 
) [inline, static]

integer 64 bit modulous

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

Fixed point multiply.

Parameters:
a Takes 20.12
b Takes 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:
a pointer to fixed 3x3 matrix Normalize Ax = Ax / mag Ay = Ay / mag Az = Az / mag
static u32 sqrt32 ( int  a  )  [inline, static]

integer sqrt

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

integer sqrt

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

Fixed point sqrt.

Parameters:
a Takes 20.12
Returns:
returns 20.12 result
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines
Generated on Sat Oct 2 12:55:13 2010 for libnds by  doxygen 1.6.3