A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1#ifndef __MATH_H_
2#define __MATH_H_
3
4#include <inttypes.h>
5#include <math.h>
6#include "fixedpoint.h"
7
8#define Q_MUL(a, b, bits) (( (int64_t) (a) * (int64_t) (b) ) >> (bits))
9#define Q15_MUL(a, b) Q_MUL(a,b,15)
10#define Q16_MUL(a, b) Q_MUL(a,b,16)
11
12#define Q_DIV(a, b, bits) ( (((int64_t) (a)) << (bits)) / (b) )
13#define Q15_DIV(a, b) Q_DIV(a,b,15)
14#define Q16_DIV(a, b) Q_DIV(a,b,16)
15
16#define float_q(a, bits) (int32_t)( ((float)(a)) *(1<<(bits)))
17#define float_q15(a) float_q(a, 15)
18#define float_q16(a) float_q(a, 16)
19
20#endif