JUCE: FloatVectorOperations Class Reference

JUCE

Static Public Member Functions | List of all members
FloatVectorOperations Class Reference
juce_audio_basics » buffers

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. More...
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. More...
static bool JUCE_CALLTYPE | areDenormalsDisabled () noexcept
| This method returns true if denormals are currently disabled. More...

## 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:

- juce_FloatVectorOperations.h