A collection of simple vector operations on arrays of floats, accelerated with SIMD instructions where possible.
More...
#include <juce_FloatVectorOperations.h>
A collection of simple vector operations on arrays of floats, accelerated with SIMD instructions where possible.
@tags{Audio}
◆ areDenormalsDisabled()
static bool juce::FloatVectorOperations::areDenormalsDisabled |
( |
| ) |
|
|
staticnoexcept |
This method returns true if denormals are currently disabled.
◆ convertFixedToFloat() [1/2]
static void juce::FloatVectorOperations::convertFixedToFloat |
( |
float * |
dest, |
|
|
const int * |
src, |
|
|
float |
multiplier, |
|
|
int |
num |
|
) |
| |
|
staticnoexcept |
◆ convertFixedToFloat() [2/2]
static void juce::FloatVectorOperations::convertFixedToFloat |
( |
float * |
dest, |
|
|
const int * |
src, |
|
|
float |
multiplier, |
|
|
size_t |
num |
|
) |
| |
|
staticnoexcept |
◆ disableDenormalisedNumberSupport()
static void juce::FloatVectorOperations::disableDenormalisedNumberSupport |
( |
bool |
shouldDisable = true | ) |
|
|
staticnoexcept |
On Intel CPUs, this method enables the SSE flush-to-zero and denormalised-are-zero modes.
This effectively sets the DAZ and FZ bits of the MXCSR register. On arm CPUs this will enable flush to zero mode. It's a convenient thing to call before audio processing code where you really want to avoid denormalisation performance hits.
◆ enableFlushToZeroMode()
static void juce::FloatVectorOperations::enableFlushToZeroMode |
( |
bool |
shouldEnable | ) |
|
|
staticnoexcept |
This method enables or disables the SSE/NEON flush-to-zero mode.
◆ getFpStatusRegister()
static intptr_t juce::FloatVectorOperations::getFpStatusRegister |
( |
| ) |
|
|
staticprivatenoexcept |
◆ setFpStatusRegister()
static void juce::FloatVectorOperations::setFpStatusRegister |
( |
intptr_t |
| ) |
|
|
staticprivatenoexcept |
◆ ScopedNoDenormals
friend juce::FloatVectorOperations::ScopedNoDenormals |
|
private |
The documentation for this class was generated from the following file: