Loading...
Searching...
No Matches
FloatVectorOperations Class Reference

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

#include <juce_FloatVectorOperations.h>

Inherits 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
 This method enables or disables the SSE/NEON flush-to-zero mode.
 
static void JUCE_CALLTYPE disableDenormalisedNumberSupport (bool shouldDisable=true) noexcept
 On Intel CPUs, this method enables the SSE flush-to-zero and denormalised-are-zero modes.
 
static bool JUCE_CALLTYPE areDenormalsDisabled () noexcept
 This method returns true if denormals are currently disabled.
 

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

Member Function Documentation

◆ convertFixedToFloat() [1/2]

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

◆ convertFixedToFloat() [2/2]

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

◆ enableFlushToZeroMode()

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

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

◆ disableDenormalisedNumberSupport()

static void JUCE_CALLTYPE 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.

◆ areDenormalsDisabled()

static bool JUCE_CALLTYPE FloatVectorOperations::areDenormalsDisabled ( )
staticnoexcept

This method returns true if denormals are currently disabled.


The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram