Loading...
Searching...
No Matches
juce_dsp.h File Reference

## Namespaces

namespace | juce
namespace | juce::dsp
namespace | juce::dsp::util

## Macros

#define | JUCE_DSP_H_INCLUDED
#define | JUCE_USE_SIMD 0
#define | JUCE_VECTOR_CALLTYPE
#define | JUCE_ASSERTION_FIRFILTER 1
| Config: JUCE_ASSERTION_FIRFILTER.
#define | JUCE_DSP_USE_INTEL_MKL 0
| Config: JUCE_DSP_USE_INTEL_MKL.
#define | JUCE_DSP_USE_SHARED_FFTW 0
| Config: JUCE_DSP_USE_SHARED_FFTW.
#define | JUCE_DSP_USE_STATIC_FFTW 0
| Config: JUCE_DSP_USE_STATIC_FFTW.
#define | JUCE_DSP_ENABLE_SNAP_TO_ZERO 1
| Config: JUCE_DSP_ENABLE_SNAP_TO_ZERO.

## Typedefs

template<typename Type>
using | juce::dsp::Complex = std::complex<Type>
template<size_t len, typename T>
using | juce::dsp::FixedSizeFunction = juce::FixedSizeFunction<len, T>

## Functions

void | juce::dsp::util::snapToZero (float &x) noexcept
| Use this function to prevent denormals on intel CPUs.

## Macro Definition Documentation

## JUCE_DSP_H_INCLUDED

#define JUCE_DSP_H_INCLUDED

## JUCE_USE_SIMD

#define JUCE_USE_SIMD 0

## JUCE_VECTOR_CALLTYPE

#define JUCE_VECTOR_CALLTYPE

Referenced by juce::dsp::SIMDRegister< MaskType >::abs(), juce::dsp::AudioBlock< const SampleType >::add(), juce::dsp::AudioBlock< const SampleType >::add(), juce::dsp::AudioBlock< const SampleType >::addProductOf(), juce::dsp::AudioBlock< const SampleType >::addProductOf(), juce::dsp::SIMDRegister< MaskType >::copyToRawArray(), juce::dsp::SIMDRegister< MaskType >::equal(), juce::dsp::SIMDRegister< MaskType >::expand(), juce::dsp::AudioBlock< const SampleType >::fill(), juce::dsp::AudioBlock< const SampleType >::fill(), juce::dsp::SIMDRegister< MaskType >::fromNative(), juce::dsp::SIMDRegister< MaskType >::fromRawArray(), juce::dsp::SIMDRegister< MaskType >::get(), juce::dsp::SIMDRegister< MaskType >::greaterThan(), juce::dsp::SIMDRegister< MaskType >::greaterThanOrEqual(), juce::jmax(), juce::jmin(), juce::dsp::SIMDRegister< MaskType >::lessThan(), juce::dsp::SIMDRegister< MaskType >::lessThanOrEqual(), juce::dsp::SIMDRegister< MaskType >::max(), juce::dsp::SIMDRegister< MaskType >::min(), juce::dsp::SIMDRegister< MaskType >::multiplyAdd(), juce::dsp::AudioBlock< const SampleType >::multiplyBy(), juce::dsp::AudioBlock< const SampleType >::multiplyBy(), juce::dsp::SIMDRegister< MaskType >::notEqual(), juce::dsp::SIMDRegister< MaskType >::operator!=(), juce::dsp::SIMDRegister< MaskType >::operator!=(), juce::dsp::SIMDRegister< MaskType >::operator&(), juce::dsp::SIMDRegister< MaskType >::operator&(), juce::dsp::SIMDRegister< MaskType >::operator&=(), juce::dsp::SIMDRegister< MaskType >::operator&=(), juce::dsp::SIMDRegister< MaskType >::operator*(), juce::dsp::SIMDRegister< MaskType >::operator*(), juce::dsp::AudioBlock< const SampleType >::operator*=(), juce::dsp::AudioBlock< const SampleType >::operator*=(), juce::dsp::SIMDRegister< MaskType >::operator*=(), juce::dsp::SIMDRegister< MaskType >::operator*=(), juce::dsp::SIMDRegister< MaskType >::operator+(), juce::dsp::SIMDRegister< MaskType >::operator+(), juce::dsp::AudioBlock< const SampleType >::operator+=(), juce::dsp::AudioBlock< const SampleType >::operator+=(), juce::dsp::SIMDRegister< MaskType >::operator+=(), juce::dsp::SIMDRegister< MaskType >::operator+=(), juce::dsp::SIMDRegister< MaskType >::operator-(), juce::dsp::SIMDRegister< MaskType >::operator-(), juce::dsp::AudioBlock< const SampleType >::operator-=(), juce::dsp::AudioBlock< const SampleType >::operator-=(), juce::dsp::SIMDRegister< MaskType >::operator-=(), juce::dsp::SIMDRegister< MaskType >::operator-=(), juce::dsp::SIMDRegister< MaskType >::operator=(), juce::dsp::SIMDRegister< MaskType >::operator==(), juce::dsp::SIMDRegister< MaskType >::operator==(), juce::dsp::SIMDRegister< MaskType >::operator[](), juce::dsp::SIMDRegister< MaskType >::operator[](), juce::dsp::SIMDRegister< MaskType >::operator^(), juce::dsp::SIMDRegister< MaskType >::operator^(), juce::dsp::SIMDRegister< MaskType >::operator^=(), juce::dsp::SIMDRegister< MaskType >::operator^=(), juce::dsp::SIMDRegister< MaskType >::operator|(), juce::dsp::SIMDRegister< MaskType >::operator|(), juce::dsp::SIMDRegister< MaskType >::operator|=(), juce::dsp::SIMDRegister< MaskType >::operator|=(), juce::dsp::SIMDRegister< MaskType >::operator~(), juce::dsp::FIR::Filter< SampleType >::processSample(), juce::dsp::Gain< FloatType >::processSample(), juce::dsp::IIR::Filter< SampleType >::processSample(), juce::dsp::Oscillator< SampleType >::processSample(), juce::dsp::StateVariableFilter::Filter< SampleType >::processSample(), juce::dsp::WaveShaper< FloatType, Function >::processSample(), juce::dsp::AudioBlock< const SampleType >::replaceWithDifferenceOf(), juce::dsp::AudioBlock< const SampleType >::replaceWithDifferenceOf(), juce::dsp::AudioBlock< const SampleType >::replaceWithProductOf(), juce::dsp::AudioBlock< const SampleType >::replaceWithProductOf(), juce::dsp::AudioBlock< const SampleType >::replaceWithSumOf(), juce::dsp::AudioBlock< const SampleType >::replaceWithSumOf(), juce::dsp::SIMDRegister< MaskType >::set(), juce::dsp::AudioBlock< const SampleType >::subtract(), juce::dsp::AudioBlock< const SampleType >::subtract(), and juce::dsp::SIMDRegister< MaskType >::truncate().

## JUCE_ASSERTION_FIRFILTER

#define JUCE_ASSERTION_FIRFILTER 1

Config: JUCE_ASSERTION_FIRFILTER.

When this flag is enabled, an assertion will be generated during the execution of DEBUG configurations if you use a FIRFilter class to process FIRCoefficients with a size higher than 128, to tell you that's it would be more efficient to use the Convolution class instead. It is enabled by default, but you may want to disable it if you really want to process such a filter in the time domain.

## JUCE_DSP_USE_INTEL_MKL

#define JUCE_DSP_USE_INTEL_MKL 0

Config: JUCE_DSP_USE_INTEL_MKL.

If this flag is set, then JUCE will use Intel's MKL for JUCE's FFT and convolution classes.

If you're using the Projucer's Visual Studio exporter, you should also set the "Use MKL Library (oneAPI)" option in the exporter settings to "Sequential" or "Parallel". If you're not using the Visual Studio exporter, the folder containing the mkl_dfti.h header must be in your header search paths, and you must link against all the necessary MKL libraries.

## JUCE_DSP_USE_SHARED_FFTW

#define JUCE_DSP_USE_SHARED_FFTW 0

Config: JUCE_DSP_USE_SHARED_FFTW.

If this flag is set, then JUCE will search for the fftw shared libraries at runtime and use the library for JUCE's FFT and convolution classes.

If the library is not found, then JUCE's fallback FFT routines will be used.

This is especially useful on linux as fftw often comes pre-installed on popular linux distros.

You must respect the FFTW license when enabling this option.

## JUCE_DSP_USE_STATIC_FFTW

#define JUCE_DSP_USE_STATIC_FFTW 0

Config: JUCE_DSP_USE_STATIC_FFTW.

If this flag is set, then JUCE will use the statically linked fftw libraries for JUCE's FFT and convolution classes.

You must add the fftw header/library folder to the extra header/library search paths of your JUCE project. You also need to add the fftw library itself to the extra libraries supplied to your JUCE project during linking.

You must respect the FFTW license when enabling this option.

## JUCE_DSP_ENABLE_SNAP_TO_ZERO

#define JUCE_DSP_ENABLE_SNAP_TO_ZERO 1

Config: JUCE_DSP_ENABLE_SNAP_TO_ZERO.

Enables code in the dsp module to avoid floating point denormals during the processing of some of the dsp module's filters.

Enabling this will add a slight performance overhead to the DSP module's filters and algorithms. If your audio app already disables denormals altogether (for example, by using the ScopedNoDenormals class or the FloatVectorOperations::disableDenormalisedNumberSupport method), then you can safely disable this flag to shave off a few cpu cycles from the DSP module's filters and algorithms.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited