マクロ定義 |
#define | REG_DIVCNT (*(vu16*)(0x04000280)) |
#define | REG_DIV_NUMER (*(vs64*) (0x04000290)) |
#define | REG_DIV_NUMER_L (*(vs32*) (0x04000290)) |
#define | REG_DIV_NUMER_H (*(vs32*) (0x04000294)) |
#define | REG_DIV_DENOM (*(vs64*) (0x04000298)) |
#define | REG_DIV_DENOM_L (*(vs32*) (0x04000298)) |
#define | REG_DIV_DENOM_H (*(vs32*) (0x0400029C)) |
#define | REG_DIV_RESULT (*(vs64*) (0x040002A0)) |
#define | REG_DIV_RESULT_L (*(vs32*) (0x040002A0)) |
#define | REG_DIV_RESULT_H (*(vs32*) (0x040002A4)) |
#define | REG_DIVREM_RESULT (*(vs64*) (0x040002A8)) |
#define | REG_DIVREM_RESULT_L (*(vs32*) (0x040002A8)) |
#define | REG_DIVREM_RESULT_H (*(vs32*) (0x040002AC)) |
#define | REG_SQRTCNT (*(vu16*)(0x040002B0)) |
#define | REG_SQRT_PARAM (*(vs64*) (0x040002B8)) |
#define | REG_SQRT_PARAM_L (*(vs32*) (0x040002B8)) |
#define | REG_SQRT_PARAM_H (*(vs32*) (0x040002BC)) |
#define | REG_SQRT_RESULT (*(vu32*) (0x040002B4)) |
#define | DIV_64_64 2 |
#define | DIV_64_32 1 |
#define | DIV_32_32 0 |
#define | DIV_BUSY (1<<15) |
#define | SQRT_64 1 |
#define | SQRT_32 0 |
#define | SQRT_BUSY (1<<15) |
関数 |
int32 | divf32 (int32 num, int32 den) |
int32 | mulf32 (int32 a, int32 b) |
| Fixed point multiply.
|
int32 | sqrtf32 (int32 a) |
| Fixed point sqrt.
|
int32 | div32 (int32 num, int32 den) |
| integer divide
|
int32 | mod32 (int32 num, int32 den) |
| integer modulous
|
int32 | div64 (int64 num, int32 den) |
| integer 64 bit divide
|
int32 | mod64 (int64 num, int32 den) |
| integer 64 bit modulous
|
u32 | sqrt32 (int a) |
| integer sqrt
|
u32 | sqrt64 (long long a) |
| integer sqrt
|
void | crossf32 (int32 *a, int32 *b, int32 *result) |
| 1.19.12 fixed point cross product function result = AxB
|
int32 | dotf32 (int32 *a, int32 *b) |
| 1.19.12 fixed point dot product function result = A dot B
|
void | normalizef32 (int32 *a) |
| 1.19.12 fixed point normalize function A = A / |A|
|