Files
Microtransactions64/fixed_point_math.c
farisawan-2000 d5f43751a9 save state
2020-12-12 15:33:14 -05:00

32 lines
677 B
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include <ultra64.h>
// jk i dont think this file is needed lol
// update: it was needed :(
// update 2: gu.h already has macros for this :(
// hopefully I'll only need s15.16
// ^ clueless
// Q to float
// To convert a number from Qm.n format to floating point:
// Convert the number to floating point as if it were an integer, in other words remove the binary point
// Multiply by 2^n
f32 qtof(int q) {
return ((float)q) * 0.00001525878f;
}
// Float to Q
// To convert a number from floating point to Qm.n format:
// Multiply the floating point number by 2^n
// Round to the nearest integer
int ftoq(f32 f) {
f *= (65536.0f);
return (int)f;
}