libnds
|
hardware coprocessor math instructions. More...
#include <nds/ndstypes.h>
Functions | |
static void | crossf32 (int32_t *a, int32_t *b, int32_t *result) |
20.12 fixed point cross product. | |
static int32_t | div32 (int32_t num, int32_t den) |
Integer divide. | |
static void | div32_asynch (int32_t num, int32_t den) |
Asynchronous integer divide start. | |
static int32_t | div32_result (void) |
Asynchronous integer divide result. | |
static int32_t | div64 (int64_t num, int32_t den) |
Integer 64 bit divide. | |
static void | div64_asynch (int64_t num, int32_t den) |
Asynchronous integer 64 bit divide start. | |
static int32_t | div64_result (void) |
Asynchronous integer 64 bit divide result. | |
static int32_t | divf32 (int32_t num, int32_t den) |
Fixed point divide. | |
static void | divf32_asynch (int32_t num, int32_t den) |
Asynchronous fixed point divide start. | |
static int32_t | divf32_result (void) |
Asynchronous fixed point divide result. | |
static int32_t | dotf32 (int32_t *a, int32_t *b) |
20.12 fixed point dot product. | |
ARM_CODE float | hw_sqrtf (float x) |
32-bit floating point sqrt | |
static int32_t | mod32 (int32_t num, int32_t den) |
Integer modulo. | |
static void | mod32_asynch (int32_t num, int32_t den) |
Asynchronous integer modulo start. | |
static int32_t | mod32_result (void) |
Asynchronous integer modulo result. | |
static int32_t | mod64 (int64_t num, int32_t den) |
Integer 64 bit modulo. | |
static void | mod64_asynch (int64_t num, int32_t den) |
Asynchronous integer 64 bit modulo start. | |
static int32_t | mod64_result (void) |
Asynchronous integer 64 bit modulo result. | |
static int32_t | mulf32 (int32_t a, int32_t b) |
Fixed point multiply. | |
static void | normalizef32 (int32_t *a) |
20.12 fixed point normalize (set magnitude to 1.0 and keep the direction). | |
static uint32_t | sqrt32 (uint32_t a) |
32-bit integer sqrt. | |
static void | sqrt32_asynch (uint32_t a) |
Asynchronous 32-bit integer sqrt start. | |
static uint32_t | sqrt32_result (void) |
Asynchronous 32-bit integer sqrt result. | |
static uint32_t | sqrt64 (uint64_t a) |
64-bit integer sqrt. | |
static void | sqrt64_asynch (uint64_t a) |
Asynchronous 64-bit integer sqrt start. | |
static uint32_t | sqrt64_result (void) |
Asynchronous 64-bit integer sqrt result. | |
static uint32_t | sqrtf32 (uint32_t a) |
Fixed point sqrt. | |
static void | sqrtf32_asynch (uint32_t a) |
Asynchronous fixed point sqrt start. | |
static uint32_t | sqrtf32_result (void) |
Asynchronous fixed point sqrt result. | |
hardware coprocessor math instructions.
|
inlinestatic |
20.12 fixed point cross product.
Cross product:
result = A x B x = Ay * Bz - By * Az y = Az * Bx - Bz * Ax z = Ax * By - Bx * Ay
a | Pointer to fixed 3 dimensions vector. |
b | Pointer to fixed 3 dimensions vector. |
result | Result pointer to fixed 3x3 matrix |
|
inlinestatic |
Integer divide.
num | Numerator. |
den | Denominator. |
|
inlinestatic |
Asynchronous integer divide start.
num | Numerator. |
den | Denominator. |
|
inlinestatic |
Asynchronous integer divide result.
|
inlinestatic |
Integer 64 bit divide.
num | 64 bit numerator. |
den | 32 bit denominator. |
|
inlinestatic |
Asynchronous integer 64 bit divide start.
num | 64 bit numerator. |
den | 32 bit denominator. |
|
inlinestatic |
Asynchronous integer 64 bit divide result.
|
inlinestatic |
Fixed point divide.
num | 20.12 numerator. |
den | 20.12 denominator. |
|
inlinestatic |
Asynchronous fixed point divide start.
num | 20.12 numerator. |
den | 20.12 denominator. |
|
inlinestatic |
Asynchronous fixed point divide result.
|
inlinestatic |
20.12 fixed point dot product.
Dot Product:
Result = Ax * Bx + Ay * By + Az * Bz
a | Pointer to fixed 3 dimensions vector. |
b | Pointer to fixed 3 dimensions vector. |
ARM_CODE float hw_sqrtf | ( | float | x | ) |
32-bit floating point sqrt
x | Valid 32 bit non-negative floating point value. |
|
inlinestatic |
Integer modulo.
num | Numerator. |
den | Denominator. |
|
inlinestatic |
Asynchronous integer modulo start.
num | Numerator. |
den | Denominator. |
|
inlinestatic |
Asynchronous integer modulo result.
|
inlinestatic |
Integer 64 bit modulo.
num | 64 bit numerator. |
den | 32 bit denominator. |
|
inlinestatic |
Asynchronous integer 64 bit modulo start.
num | 64 bit numerator. |
den | 32 bit denominator. |
|
inlinestatic |
Asynchronous integer 64 bit modulo result.
|
inlinestatic |
Fixed point multiply.
a | 20.12 value. |
b | 20.12 value. |
|
inlinestatic |
20.12 fixed point normalize (set magnitude to 1.0 and keep the direction).
a | Pointer to the vector to normalize. |
|
inlinestatic |
32-bit integer sqrt.
a | 32 bit positive integer value. |
|
inlinestatic |
Asynchronous 32-bit integer sqrt start.
a | 32 bit positive integer value. |
|
inlinestatic |
Asynchronous 32-bit integer sqrt result.
|
inlinestatic |
64-bit integer sqrt.
a | 64 bit positive integer value. |
|
inlinestatic |
Asynchronous 64-bit integer sqrt start.
a | 64 bit positive integer value. |
|
inlinestatic |
Asynchronous 64-bit integer sqrt result.
|
inlinestatic |
Fixed point sqrt.
a | 20.12 positive value. |
|
inlinestatic |
Asynchronous fixed point sqrt start.
a | 20.12 positive value. |
|
inlinestatic |
Asynchronous fixed point sqrt result.