blob: 74b4b1234a294d73291ab85d951a2c86fcabd611 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
typedef struct lfo {
float r, i, a;
} lfo;
#define LFOINIT(f) {1.f,0.f,(f)+(f)}
__STATIC_FORCEINLINE void lfo_setfreq(lfo *l, float f) {
l->a = f + f;
}
__STATIC_FORCEINLINE float lfo_next(lfo *l) {
l->r -= l->a * l->i;
l->i += l->a * l->r;
return l->r;
}
|