LMMS
Loading...
Searching...
No Matches
juce::dsp::FastMathApproximations Struct Reference

#include <juce_FastMathApproximations.h>

Static Public Member Functions

template<typename FloatType>
static FloatType cosh (FloatType x) noexcept
template<typename FloatType>
static void cosh (FloatType *values, size_t numValues) noexcept
template<typename FloatType>
static FloatType sinh (FloatType x) noexcept
template<typename FloatType>
static void sinh (FloatType *values, size_t numValues) noexcept
template<typename FloatType>
static FloatType tanh (FloatType x) noexcept
template<typename FloatType>
static void tanh (FloatType *values, size_t numValues) noexcept
template<typename FloatType>
static FloatType cos (FloatType x) noexcept
template<typename FloatType>
static void cos (FloatType *values, size_t numValues) noexcept
template<typename FloatType>
static FloatType sin (FloatType x) noexcept
template<typename FloatType>
static void sin (FloatType *values, size_t numValues) noexcept
template<typename FloatType>
static FloatType tan (FloatType x) noexcept
template<typename FloatType>
static void tan (FloatType *values, size_t numValues) noexcept
template<typename FloatType>
static FloatType exp (FloatType x) noexcept
template<typename FloatType>
static void exp (FloatType *values, size_t numValues) noexcept
template<typename FloatType>
static FloatType logNPlusOne (FloatType x) noexcept
template<typename FloatType>
static void logNPlusOne (FloatType *values, size_t numValues) noexcept

Detailed Description

This class contains various fast mathematical function approximations.

@tags{DSP}

Member Function Documentation

◆ cos() [1/2]

template<typename FloatType>
void juce::dsp::FastMathApproximations::cos ( FloatType * values,
size_t numValues )
inlinestaticnoexcept

Provides a fast approximation of the function cos(x) using a Pade approximant continued fraction, calculated on a whole buffer.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -pi and +pi for limiting the error.

◆ cos() [2/2]

template<typename FloatType>
FloatType juce::dsp::FastMathApproximations::cos ( FloatType x)
inlinestaticnoexcept

Provides a fast approximation of the function cos(x) using a Pade approximant continued fraction, calculated sample by sample.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -pi and +pi for limiting the error.

◆ cosh() [1/2]

template<typename FloatType>
void juce::dsp::FastMathApproximations::cosh ( FloatType * values,
size_t numValues )
inlinestaticnoexcept

Provides a fast approximation of the function cosh(x) using a Pade approximant continued fraction, calculated on a whole buffer.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -5 and +5 for limiting the error.

◆ cosh() [2/2]

template<typename FloatType>
FloatType juce::dsp::FastMathApproximations::cosh ( FloatType x)
inlinestaticnoexcept

Provides a fast approximation of the function cosh(x) using a Pade approximant continued fraction, calculated sample by sample.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -5 and +5 for limiting the error.

◆ exp() [1/2]

template<typename FloatType>
void juce::dsp::FastMathApproximations::exp ( FloatType * values,
size_t numValues )
inlinestaticnoexcept

Provides a fast approximation of the function exp(x) using a Pade approximant continued fraction, calculated on a whole buffer.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -6 and +4 for limiting the error.

◆ exp() [2/2]

template<typename FloatType>
FloatType juce::dsp::FastMathApproximations::exp ( FloatType x)
inlinestaticnoexcept

Provides a fast approximation of the function exp(x) using a Pade approximant continued fraction, calculated sample by sample.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -6 and +4 for limiting the error.

◆ logNPlusOne() [1/2]

template<typename FloatType>
void juce::dsp::FastMathApproximations::logNPlusOne ( FloatType * values,
size_t numValues )
inlinestaticnoexcept

Provides a fast approximation of the function log(x+1) using a Pade approximant continued fraction, calculated on a whole buffer.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -0.8 and +5 for limiting the error.

◆ logNPlusOne() [2/2]

template<typename FloatType>
FloatType juce::dsp::FastMathApproximations::logNPlusOne ( FloatType x)
inlinestaticnoexcept

Provides a fast approximation of the function log(x+1) using a Pade approximant continued fraction, calculated sample by sample.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -0.8 and +5 for limiting the error.

◆ sin() [1/2]

template<typename FloatType>
void juce::dsp::FastMathApproximations::sin ( FloatType * values,
size_t numValues )
inlinestaticnoexcept

Provides a fast approximation of the function sin(x) using a Pade approximant continued fraction, calculated on a whole buffer.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -pi and +pi for limiting the error.

◆ sin() [2/2]

template<typename FloatType>
FloatType juce::dsp::FastMathApproximations::sin ( FloatType x)
inlinestaticnoexcept

Provides a fast approximation of the function sin(x) using a Pade approximant continued fraction, calculated sample by sample.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -pi and +pi for limiting the error.

◆ sinh() [1/2]

template<typename FloatType>
void juce::dsp::FastMathApproximations::sinh ( FloatType * values,
size_t numValues )
inlinestaticnoexcept

Provides a fast approximation of the function sinh(x) using a Pade approximant continued fraction, calculated on a whole buffer.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -5 and +5 for limiting the error.

◆ sinh() [2/2]

template<typename FloatType>
FloatType juce::dsp::FastMathApproximations::sinh ( FloatType x)
inlinestaticnoexcept

Provides a fast approximation of the function sinh(x) using a Pade approximant continued fraction, calculated sample by sample.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -5 and +5 for limiting the error.

◆ tan() [1/2]

template<typename FloatType>
void juce::dsp::FastMathApproximations::tan ( FloatType * values,
size_t numValues )
inlinestaticnoexcept

Provides a fast approximation of the function tan(x) using a Pade approximant continued fraction, calculated on a whole buffer.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -pi/2 and +pi/2 for limiting the error.

◆ tan() [2/2]

template<typename FloatType>
FloatType juce::dsp::FastMathApproximations::tan ( FloatType x)
inlinestaticnoexcept

Provides a fast approximation of the function tan(x) using a Pade approximant continued fraction, calculated sample by sample.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -pi/2 and +pi/2 for limiting the error.

◆ tanh() [1/2]

template<typename FloatType>
void juce::dsp::FastMathApproximations::tanh ( FloatType * values,
size_t numValues )
inlinestaticnoexcept

Provides a fast approximation of the function tanh(x) using a Pade approximant continued fraction, calculated on a whole buffer.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -5 and +5 for limiting the error.

◆ tanh() [2/2]

template<typename FloatType>
FloatType juce::dsp::FastMathApproximations::tanh ( FloatType x)
inlinestaticnoexcept

Provides a fast approximation of the function tanh(x) using a Pade approximant continued fraction, calculated sample by sample.

Note: This is an approximation which works on a limited range. You are advised to use input values only between -5 and +5 for limiting the error.


The documentation for this struct was generated from the following file: