31 #include "siddefs-fp.h"
61 rand_state = rand_state * 1234567UL + 890123UL;
62 const uint32_t mantissa = rand_state & 0x807F0000;
63 const uint32_t flt_rnd = mantissa | 0x1E000000;
65 memcpy(&temp, &flt_rnd,
sizeof(
float));
94 int clock(
int voice1,
int voice2,
int voice3);
110 void input(
int input) { ve = input << 4; }
124 #if RESID_INLINING || defined(FILTER8580_CPP)
141 (
filt1 ? Vi : Vo) += voice1;
143 (filt2 ? Vi : Vo) += voice2;
156 (filtE ? Vi : Vo) += ve;
160 Vhp = (Vbp * _1_div_Q) - Vlp - Vi + noise.get();
162 assert(std::fpclassify(Vlp) != FP_SUBNORMAL);
163 assert(std::fpclassify(Vbp) != FP_SUBNORMAL);
164 assert(std::fpclassify(Vhp) != FP_SUBNORMAL);
166 float Vof = (float)Vo;
183 return (
int) Vof *
vol >> 4;
Definition: Filter8580.h:74
bool hp
Highpass, bandpass, and lowpass filter modes.
Definition: Filter.h:61
bool filt1
Routing to filter or outside filter.
Definition: Filter.h:55
Definition: Filter8580.h:47
void setFilterCurve(double curvePosition)
Definition: Filter8580.h:119
bool voice3off
Switch voice 3 off.
Definition: Filter.h:58
int vol
Current volume.
Definition: Filter.h:52
void updatedResonance()
Definition: Filter8580.h:108
void updatedCenterFrequency()
Definition: Filter8580.h:99
int res
Filter resonance.
Definition: Filter.h:49
int clock(int voice1, int voice2, int voice3)
Definition: Filter8580.h:132
void updatedMixing()
Definition: Filter8580.h:112
int fc
Filter cutoff frequency.
Definition: Filter.h:46