mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-11 14:35:05 -05:00
27 lines
622 B
C
27 lines
622 B
C
#ifndef GUARD_MATH_UTIL_H
|
|
#define GUARD_MATH_UTIL_H
|
|
|
|
// Fixed-point arithmetic library.
|
|
|
|
// Proposed TODO: Move the macros here from global.h
|
|
typedef s16 fx16; // Fixed-point Q8.8
|
|
typedef s16 fxn16; // Fixed-point with arbitrary precision (QN.S)
|
|
typedef s32 fx32; // Fixed-point Q24.8
|
|
|
|
// x * y
|
|
fx16 mulfx16(fx16 x, fx16 y);
|
|
fxn16 mulfxn16(u8 s, fxn16 x, fxn16 y);
|
|
fx32 mulfx32(fx32 x, fx32 y);
|
|
|
|
// x / y
|
|
fx16 divfx16(fx16 x, fx16 y);
|
|
fxn16 divfxn16(u8 s, fxn16 x, fxn16 y);
|
|
fx32 divfx32(fx32 x, fx32 y);
|
|
|
|
// 1.0 / y
|
|
fx16 invfx16(fx16 y);
|
|
fxn16 invfxn16(u8 s, fxn16 y);
|
|
fx32 invfx32(fx32 y);
|
|
|
|
#endif //GUARD_MATH_UTIL_H
|