10#ifndef _USE_MATH_DEFINES
11#define _USE_MATH_DEFINES
57#define LN2R 1.442695041f
61#define DN_CHECK(x, l) if (fabs(x) < 1e-38) printf("DN: "l"\n")
74 return (
v.i & 0x7f800000) < 0x08000000 ? 0.0f :
f;
85static inline float f_max(
float x,
float a)
95static inline float f_min(
float x,
float b)
107 const float x1 = fabs(
x -
a);
108 const float x2 = fabs(
x -
b);
118#define LIMIT(v,l,u) ((v)<(l)?(l):((v)>(u)?(u):(v)))
122#define MOD(v,m) (v<0?v+m:(v>=m?v-m:v))
126#define NEG_MOD(v,m) ((v)<0?((v)+(m)):(v))
129#define DB_CO(g) ((g) > -90.0f ? powf(10.0f, (g) * 0.05f) : 0.0f)
130#define CO_DB(v) (20.0f * log10f(v))
133#define LIN_INTERP(f,a,b) ((a) + (f) * ((b) - (a)))
136static inline float cube_interp(
const float fr,
const float inm1,
const float
137 in,
const float inp1,
const float inp2)
139 return in + 0.5f * fr * (inp1 - inm1 +
140 fr * (4.0f * inp1 + 2.0f * inm1 - 5.0f *
in - inp2 +
141 fr * (3.0f * (
in - inp1) - inm1 + inp2)));
148 const float asqr = angle * angle;
149 float result = -2.39e-08f;
158 result -= 1.666666664e-01f;
168#define f_round(f) lrintf(f)
170#define f_abs(j) labs(j)
182 return p.i - 0x4b400000;
185#define f_abs(j) abs(j)
200static inline float f_pow2(
float x)
202 long *px = (
long*)(&
x);
203 const float tx = (
x-0.5f) + (3<<22);
204 const long lx = *((
long*)&tx) - 0x4b400000;
205 const float dx =
x-(float)(
lx);
207 x = 1.0f + dx*(0.6960656421638072f +
208 dx*(0.224494337302845f +
209 dx*(0.07944023841053369f)));
224 tx.
f = (
x-0.5f) + (3<<22);
225 lx.i = tx.
i - 0x4b400000;
226 dx =
x - (float)
lx.i;
228 x = 1.0f + dx * (0.6960656421638072f +
229 dx * (0.224494337302845f +
230 dx * (0.07944023841053369f)));
231 (*px).i += (
lx.i << 23);
239#define f_exp(x) f_pow2(x * LN2R)
uint8_t a
Definition Spc_Cpu.h:141
* e
Definition inflate.c:1404
unsigned v[N_MAX]
Definition inflate.c:1584
int lx[BMAX+1]
Definition inflate.c:1578
unsigned x[BMAX+1]
Definition inflate.c:1586
unsigned f
Definition inflate.c:1572
static float f_clamp(float x, float a, float b)
Definition ladspa-util.h:105
static int f_trunc(float f)
Definition ladspa-util.h:190
static void round_to_zero(volatile float *f)
Definition ladspa-util.h:77
static float f_pow2(float x)
Definition ladspa-util.h:218
static float f_min(float x, float b)
Definition ladspa-util.h:95
static float f_sin_sq(float angle)
Definition ladspa-util.h:146
static float cube_interp(const float fr, const float inm1, const float in, const float inp1, const float inp2)
Definition ladspa-util.h:136
static float f_max(float x, float a)
Definition ladspa-util.h:85
static int f_round(float f)
Definition ladspa-util.h:175
static float flush_to_zero(float f)
Definition ladspa-util.h:66
float in
Definition lilv_test.c:1460
unsigned short uint16_t
Definition mid.cpp:99
int int32_t
Definition mid.cpp:97
unsigned int uint32_t
Definition mid.cpp:100
short int16_t
Definition mid.cpp:96
Definition ladspa-util.h:20
int16_t in
Definition ladspa-util.h:28
uint16_t fr
Definition ladspa-util.h:27
int32_t all
Definition ladspa-util.h:21
Definition ladspa-util.h:34
int64_t all
Definition ladspa-util.h:35
uint32_t fr
Definition ladspa-util.h:41
int32_t in
Definition ladspa-util.h:42
Definition ladspa-util.h:48
float f
Definition ladspa-util.h:49
int32_t i
Definition ladspa-util.h:50
uch * p
Definition crypt.c:594
int result
Definition process.c:1455