libnds
|
hardware coprocessor math instructions. More...
#include "nds/ndstypes.h"
Macros | |
#define | f32tofloat(n) (((float)(n)) / (float)(1<<12)) |
convert f32 to float | |
#define | f32toint(n) ((n) / (1 << 12)) |
convert f32 to int | |
#define | floattof32(n) ((int)((n) * (1 << 12))) |
convert float to f32 | |
#define | inttof32(n) ((n) * (1 << 12)) |
convert int to f32 | |
Functions | |
static void | crossf32 (int32 *a, int32 *b, int32 *result) |
20.12 fixed point cross product function result = AxB More... | |
static int32 | div32 (int32 num, int32 den) |
integer divide More... | |
static int32 | div64 (int64 num, int32 den) |
integer 64 bit divide More... | |
static int32 | divf32 (int32 num, int32 den) |
Fixed point divide. More... | |
static int32 | dotf32 (int32 *a, int32 *b) |
20.12 fixed point dot product function result = A dot B More... | |
static int32 | mod32 (int32 num, int32 den) |
integer modulous More... | |
static int32 | mod64 (int64 num, int32 den) |
integer 64 bit modulous More... | |
static int32 | mulf32 (int32 a, int32 b) |
Fixed point multiply. More... | |
static void | normalizef32 (int32 *a) |
20.12 fixed point normalize function A = A / |A| More... | |
static u32 | sqrt32 (int a) |
integer sqrt More... | |
static u32 | sqrt64 (long long a) |
integer sqrt More... | |
static int32 | sqrtf32 (int32 a) |
Fixed point sqrt. More... | |
hardware coprocessor math instructions.
20.12 fixed point cross product function result = AxB
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 |
integer divide
num | numerator |
den | denominator |
integer 64 bit divide
num | 64 bit numerator |
den | 32 bit denominator |
Fixed point divide.
num | Takes 20.12 numerator. |
den | Takes 20.12 denominator. |
20.12 fixed point dot product function result = A dot B
a | pointer to fixed 3x3 matrix |
b | pointer to fixed 3x3 matrix |
integer modulous
num | numerator |
den | denominator |
integer 64 bit modulous
num | 64 bit numerator |
den | 32 bit denominator |
Fixed point multiply.
a | Takes 20.12 |
b | Takes 20.12 |
|
inlinestatic |
20.12 fixed point normalize function A = A / |A|
a | pointer to fixed 3x3 matrix Normalize Ax = Ax / mag Ay = Ay / mag Az = Az / mag |
|
inlinestatic |
integer sqrt
a | 32 bit integer argument |
|
inlinestatic |
integer sqrt
a | 64 bit integer argument |