summaryrefslogtreecommitdiff
path: root/include/global.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/global.h')
-rw-r--r--include/global.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/global.h b/include/global.h
index 04adc82cb..1d12fdae9 100644
--- a/include/global.h
+++ b/include/global.h
@@ -45,9 +45,27 @@
// Converts a number to Q8.8 fixed-point format
#define Q_8_8(n) ((s16)((n) * 256))
+// Converts a number from Q8.8 fixed-point format
+#define Q_8_8_TO_INT(n) ((s16)((n) >> 8))
+
// Converts a number to Q4.12 fixed-point format
#define Q_4_12(n) ((s16)((n) * 4096))
+// Converts a number from Q4.12 fixed-point format
+#define Q_4_12_TO_INT(n) ((s16)((n) >> 12))
+
+// Converts a number to QN.S fixed-point format (16-bits)
+#define Q_N_S(s, n) ((s16)((n) * (1 << (s))))
+
+// converts a number from QN.S fixed-point format (16-bits)
+#define Q_N_S_TO_INT(s, n) ((s16)((n) >> (s)))
+
+// Converts a number to Q24.8 fixed-point format
+#define Q_24_8(n) ((s32)((n) << 8))
+
+// Converts a number from Q24.8 fixed-point format
+#define Q_24_8_TO_INT(n) ((s32)((n) >> 8))
+
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))