LMMS
Loading...
Searching...
No Matches
juce::FloatVectorOperations Class Reference

#include <juce_FloatVectorOperations.h>

Inheritance diagram for juce::FloatVectorOperations:
juce::detail::NameForwarder< FloatVectorOperationsBase< float, int >, FloatVectorOperationsBase< float, size_t >, FloatVectorOperationsBase< double, int >, FloatVectorOperationsBase< double, size_t > >

Static Public Member Functions

static void JUCE_CALLTYPE convertFixedToFloat (float *dest, const int *src, float multiplier, int num) noexcept
static void JUCE_CALLTYPE convertFixedToFloat (float *dest, const int *src, float multiplier, size_t num) noexcept
static void JUCE_CALLTYPE enableFlushToZeroMode (bool shouldEnable) noexcept
static void JUCE_CALLTYPE disableDenormalisedNumberSupport (bool shouldDisable=true) noexcept
static bool JUCE_CALLTYPE areDenormalsDisabled () noexcept

Static Private Member Functions

static intptr_t JUCE_CALLTYPE getFpStatusRegister () noexcept
static void JUCE_CALLTYPE setFpStatusRegister (intptr_t) noexcept

Private Attributes

friend ScopedNoDenormals

Detailed Description

A collection of simple vector operations on arrays of floating point numbers, accelerated with SIMD instructions where possible and providing all methods from FloatVectorOperationsBase.

See also
FloatVectorOperationsBase

@tags{Audio}

Member Function Documentation

◆ areDenormalsDisabled()

bool JUCE_CALLTYPE juce::FloatVectorOperations::areDenormalsDisabled ( )
staticnoexcept

This method returns true if denormals are currently disabled.

◆ convertFixedToFloat() [1/2]

void JUCE_CALLTYPE juce::FloatVectorOperations::convertFixedToFloat ( float * dest,
const int * src,
float multiplier,
int num )
staticnoexcept

◆ convertFixedToFloat() [2/2]

void JUCE_CALLTYPE juce::FloatVectorOperations::convertFixedToFloat ( float * dest,
const int * src,
float multiplier,
size_t num )
staticnoexcept

◆ disableDenormalisedNumberSupport()

void JUCE_CALLTYPE 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()

void JUCE_CALLTYPE juce::FloatVectorOperations::enableFlushToZeroMode ( bool shouldEnable)
staticnoexcept

This method enables or disables the SSE/NEON flush-to-zero mode.

◆ getFpStatusRegister()

intptr_t JUCE_CALLTYPE juce::FloatVectorOperations::getFpStatusRegister ( )
staticprivatenoexcept

◆ setFpStatusRegister()

void JUCE_CALLTYPE juce::FloatVectorOperations::setFpStatusRegister ( intptr_t fpsr)
staticprivatenoexcept

Member Data Documentation

◆ ScopedNoDenormals

friend juce::FloatVectorOperations::ScopedNoDenormals
private

The documentation for this class was generated from the following files: