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)   SIMD_MM(set_ps1)(a)
 
#define M(a, b)   SIMD_MM(mul_ps)(a, b)
 
#define D(a, b)   SIMD_MM(div_ps)(a, b)
 
#define A(a, b)   SIMD_MM(add_ps)(a, b)
 
#define S(a, b)   SIMD_MM(sub_ps)(a, b)
 
#define reci(a)   SIMD_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>
SIMD_M128 process (QuadFilterUnitState *__restrict f, SIMD_M128 input)
 

Macro Definition Documentation

◆ F

#define F (   a)    SIMD_MM(set_ps1)(a)

◆ M

#define M (   a,
 
)    SIMD_MM(mul_ps)(a, b)

◆ D

#define D (   a,
 
)    SIMD_MM(div_ps)(a, b)

◆ A

#define A (   a,
 
)    SIMD_MM(add_ps)(a, b)

◆ S

#define S (   a,
 
)    SIMD_MM(sub_ps)(a, b)

◆ reci

#define reci (   a)    SIMD_MM(rcp_ps)(a)