|
|
|
@@ -166,6 +166,23 @@ |
|
|
|
#define JUCE_DSP_USE_STATIC_FFTW 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/** 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 exmaple, 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.
|
|
|
|
*/
|
|
|
|
#ifndef JUCE_DSP_ENABLE_SNAP_TO_ZERO
|
|
|
|
#define JUCE_DSP_ENABLE_SNAP_TO_ZERO 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
#undef Complex // apparently some C libraries actually define these symbols (!)
|
|
|
|
#undef Factor
|
|
|
|
@@ -185,11 +202,19 @@ namespace juce |
|
|
|
|
|
|
|
This function will work with both primitives and simple containers.
|
|
|
|
*/
|
|
|
|
#if JUCE_DSP_ENABLE_SNAP_TO_ZERO
|
|
|
|
inline void snapToZero (float& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
|
|
|
#ifndef DOXYGEN
|
|
|
|
inline void snapToZero (double& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
|
|
|
inline void snapToZero (long double& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
inline void snapToZero (float& x) noexcept { ignoreUnused (x); }
|
|
|
|
#ifndef DOXYGEN
|
|
|
|
inline void snapToZero (double& x) noexcept { ignoreUnused (x); }
|
|
|
|
inline void snapToZero (long double& x) noexcept { ignoreUnused (x); }
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|