sst-filters
Filters submodule for the Surge Synthesizer
Namespaces | Macros | Enumerations | Functions
DiodeLadder.h File Reference

Namespaces

 sst
 Parent namespace for all Surge Synth Team code.
 
 sst::filters
 DSP code for Surge filters.
 
 sst::filters::DiodeLadderFilter
 This namespace contains an adaptation of the filter from https://github.com/TheWaveWarden/odin2/blob/master/Source/audio/Filters/DiodeFilter.cpp.
 

Macros

#define F(a)   _mm_set_ps1(a)
 
#define M(a, b)   _mm_mul_ps(a, b)
 
#define D(a, b)   _mm_div_ps(a, b)
 
#define A(a, b)   _mm_add_ps(a, b)
 
#define S(a, b)   _mm_sub_ps(a, b)
 
#define reci(a)   _mm_rcp_ps(a)
 

Enumerations

enum  dlf_coeffs {
  dlf_alpha = 0, dlf_gamma, dlf_g, dlf_G4,
  dlf_G3, dlf_G2, dlf_G1, dlf_km
}
 
enum  dlf_state {
  dlf_z1, dlf_z2, dlf_z3, dlf_z4,
  dlf_feedback3, dlf_feedback2, dlf_feedback1
}
 

Functions

template<typename TuningProvider >
void makeCoefficients (FilterCoefficientMaker< TuningProvider > *cm, float freq, float reso, float sampleRate, float sampleRateInv, TuningProvider *provider)
 
template<FilterSubType subtype>
__m128 process (QuadFilterUnitState *__restrict f, __m128 input)
 

Macro Definition Documentation

◆ F

#define F (   a)    _mm_set_ps1(a)

◆ M

#define M (   a,
 
)    _mm_mul_ps(a, b)

◆ D

#define D (   a,
 
)    _mm_div_ps(a, b)

◆ A

#define A (   a,
 
)    _mm_add_ps(a, b)

◆ S

#define S (   a,
 
)    _mm_sub_ps(a, b)

◆ reci

#define reci (   a)    _mm_rcp_ps(a)