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

Namespaces

 sst
 Parent namespace for all Surge Synth Team code.
 
 sst::filters
 DSP code for Surge filters.
 
 sst::filters::utilities
 Utility code needed for Surge filters.
 
 sst::filters::utilities::DSP
 

Macros

#define M(a, b)   _mm_mul_ps(a, b)
 
#define A(a, b)   _mm_add_ps(a, b)
 
#define S(a, b)   _mm_sub_ps(a, b)
 
#define F(a)   _mm_set_ps1(a)
 
#define C(x)   __m128 m##x = F((float)x)
 
#define M(a, b)   _mm_mul_ps(a, b)
 
#define A(a, b)   _mm_add_ps(a, b)
 
#define S(a, b)   _mm_sub_ps(a, b)
 
#define F(a)   _mm_set_ps1(a)
 
#define C(x)   __m128 m##x = F((float)x)
 
#define M(a, b)   _mm_mul_ps(a, b)
 
#define A(a, b)   _mm_add_ps(a, b)
 
#define M(a, b)   _mm_mul_ps(a, b)
 
#define A(a, b)   _mm_add_ps(a, b)
 
#define F(a)   _mm_set_ps1(a)
 

Functions

float fastsin (float x) noexcept
 
__m128 fastsinSSE (__m128 x) noexcept
 
float fastcos (float x) noexcept
 
__m128 fastcosSSE (__m128 x) noexcept
 
float clampToPiRange (float x)
 
__m128 clampToPiRangeSSE (__m128 x)
 
float fasttanh (float x) noexcept
 
float fasttan (float x) noexcept
 
__m128 fasttanhSSE (__m128 x)
 
__m128 fasttanhSSEclamped (__m128 x)
 
float fastexp (float x) noexcept
 
__m128 fastexpSSE (__m128 x) noexcept
 

Macro Definition Documentation

◆ M [1/4]

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

◆ A [1/4]

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

◆ S [1/2]

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

◆ F [1/3]

#define F (   a)    _mm_set_ps1(a)

◆ C [1/2]

#define C (   x)    __m128 m##x = F((float)x)

◆ M [2/4]

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

◆ A [2/4]

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

◆ S [2/2]

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

◆ F [2/3]

#define F (   a)    _mm_set_ps1(a)

◆ C [2/2]

#define C (   x)    __m128 m##x = F((float)x)

◆ M [3/4]

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

◆ A [3/4]

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

◆ M [4/4]

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

◆ A [4/4]

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

◆ F [3/3]

#define F (   a)    _mm_set_ps1(a)