JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::FloatVectorOperationsBase< FloatType, CountType > Struct Template Reference

A collection of simple vector operations on arrays of floating point numbers, accelerated with SIMD instructions where possible, usually accessed from the FloatVectorOperations class. More...

#include <juce_FloatVectorOperations.h>

Static Public Member Functions

static void abs (FloatType *dest, const FloatType *src, CountType numValues) noexcept
 Copies the src vector to dest, taking the absolute of each value.
 
static void add (FloatType *dest, const FloatType *src, CountType numValues) noexcept
 Adds each src value to the corresponding dest value.
 
static void add (FloatType *dest, const FloatType *src, FloatType amount, CountType numValues) noexcept
 Adds a fixed value to each src value and stores it in the dest array.
 
static void add (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
 Adds each src1 value to the corresponding src2 value and stores the result in the dest array.
 
static void add (FloatType *dest, FloatType amountToAdd, CountType numValues) noexcept
 Adds a fixed value to the dest values.
 
static void addWithMultiply (FloatType *dest, const FloatType *src, FloatType multiplier, CountType numValues) noexcept
 Multiplies each src value by the given multiplier, then adds it to the dest value.
 
static void addWithMultiply (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
 Multiplies each src1 value by the corresponding src2 value, then adds it to the dest value.
 
static void clear (FloatType *dest, CountType numValues) noexcept
 Clears a vector of floating point numbers.
 
static void clip (FloatType *dest, const FloatType *src, FloatType low, FloatType high, CountType num) noexcept
 Each element of dest is calculated by hard clipping the corresponding src element so that it is in the range specified by the arguments low and high.
 
static void copy (FloatType *dest, const FloatType *src, CountType numValues) noexcept
 Copies a vector of floating point numbers.
 
static void copyWithMultiply (FloatType *dest, const FloatType *src, FloatType multiplier, CountType numValues) noexcept
 Copies a vector of floating point numbers, multiplying each value by a given multiplier.
 
static void fill (FloatType *dest, FloatType valueToFill, CountType numValues) noexcept
 Copies a repeated value into a vector of floating point numbers.
 
static FloatType findMaximum (const FloatType *src, CountType numValues) noexcept
 Finds the maximum value in the given array.
 
static Range< FloatType > findMinAndMax (const FloatType *src, CountType numValues) noexcept
 Finds the minimum and maximum values in the given array.
 
static FloatType findMinimum (const FloatType *src, CountType numValues) noexcept
 Finds the minimum value in the given array.
 
static void max (FloatType *dest, const FloatType *src, FloatType comp, CountType num) noexcept
 Each element of dest will be the maximum of the corresponding element of the src array and the given comp value.
 
static void max (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
 Each element of dest will be the maximum of the corresponding src1 and src2 values.
 
static void min (FloatType *dest, const FloatType *src, FloatType comp, CountType num) noexcept
 Each element of dest will be the minimum of the corresponding element of the src array and the given comp value.
 
static void min (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
 Each element of dest will be the minimum of the corresponding src1 and src2 values.
 
static void multiply (FloatType *dest, const FloatType *src, CountType numValues) noexcept
 Multiplies the dest values by the src values.
 
static void multiply (FloatType *dest, const FloatType *src, FloatType multiplier, CountType num) noexcept
 Multiplies each of the src values by a fixed multiplier and stores the result in the dest array.
 
static void multiply (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType numValues) noexcept
 Multiplies each src1 value by the corresponding src2 value, then stores it in the dest array.
 
static void multiply (FloatType *dest, FloatType multiplier, CountType numValues) noexcept
 Multiplies each of the dest values by a fixed multiplier.
 
static void negate (FloatType *dest, const FloatType *src, CountType numValues) noexcept
 Copies the src vector to dest, negating each value.
 
static void subtract (FloatType *dest, const FloatType *src, CountType numValues) noexcept
 Subtracts the src values from the dest values.
 
static void subtract (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
 Subtracts each src2 value from the corresponding src1 value and stores the result in the dest array.
 
static void subtractWithMultiply (FloatType *dest, const FloatType *src, FloatType multiplier, CountType numValues) noexcept
 Multiplies each src value by the given multiplier, then subtracts it from the dest value.
 
static void subtractWithMultiply (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
 Multiplies each src1 value by the corresponding src2 value, then subtracts it from the dest value.
 

Detailed Description

template<typename FloatType, typename CountType>
struct juce::FloatVectorOperationsBase< FloatType, CountType >

A collection of simple vector operations on arrays of floating point numbers, accelerated with SIMD instructions where possible, usually accessed from the FloatVectorOperations class.

float data[64];
// The following two function calls are equivalent:
FloatVectorOperations::clear (data, 64);
static void clear(FloatType *dest, CountType numValues) noexcept
Clears a vector of floating point numbers.
See also
FloatVectorOperations

@tags{Audio}

Member Function Documentation

◆ abs()

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::abs ( FloatType *  dest,
const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Copies the src vector to dest, taking the absolute of each value.

◆ add() [1/4]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::add ( FloatType *  dest,
const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Adds each src value to the corresponding dest value.

◆ add() [2/4]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::add ( FloatType *  dest,
const FloatType *  src,
FloatType  amount,
CountType  numValues 
)
staticnoexcept

Adds a fixed value to each src value and stores it in the dest array.

◆ add() [3/4]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::add ( FloatType *  dest,
const FloatType *  src1,
const FloatType *  src2,
CountType  num 
)
staticnoexcept

Adds each src1 value to the corresponding src2 value and stores the result in the dest array.

◆ add() [4/4]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::add ( FloatType *  dest,
FloatType  amountToAdd,
CountType  numValues 
)
staticnoexcept

Adds a fixed value to the dest values.

◆ addWithMultiply() [1/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::addWithMultiply ( FloatType *  dest,
const FloatType *  src,
FloatType  multiplier,
CountType  numValues 
)
staticnoexcept

Multiplies each src value by the given multiplier, then adds it to the dest value.

◆ addWithMultiply() [2/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::addWithMultiply ( FloatType *  dest,
const FloatType *  src1,
const FloatType *  src2,
CountType  num 
)
staticnoexcept

Multiplies each src1 value by the corresponding src2 value, then adds it to the dest value.

◆ clear()

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::clear ( FloatType *  dest,
CountType  numValues 
)
staticnoexcept

Clears a vector of floating point numbers.

◆ clip()

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::clip ( FloatType *  dest,
const FloatType *  src,
FloatType  low,
FloatType  high,
CountType  num 
)
staticnoexcept

Each element of dest is calculated by hard clipping the corresponding src element so that it is in the range specified by the arguments low and high.

◆ copy()

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::copy ( FloatType *  dest,
const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Copies a vector of floating point numbers.

◆ copyWithMultiply()

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::copyWithMultiply ( FloatType *  dest,
const FloatType *  src,
FloatType  multiplier,
CountType  numValues 
)
staticnoexcept

Copies a vector of floating point numbers, multiplying each value by a given multiplier.

◆ fill()

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::fill ( FloatType *  dest,
FloatType  valueToFill,
CountType  numValues 
)
staticnoexcept

Copies a repeated value into a vector of floating point numbers.

◆ findMaximum()

template<typename FloatType , typename CountType >
static FloatType juce::FloatVectorOperationsBase< FloatType, CountType >::findMaximum ( const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Finds the maximum value in the given array.

◆ findMinAndMax()

template<typename FloatType , typename CountType >
static Range< FloatType > juce::FloatVectorOperationsBase< FloatType, CountType >::findMinAndMax ( const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Finds the minimum and maximum values in the given array.

◆ findMinimum()

template<typename FloatType , typename CountType >
static FloatType juce::FloatVectorOperationsBase< FloatType, CountType >::findMinimum ( const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Finds the minimum value in the given array.

◆ max() [1/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::max ( FloatType *  dest,
const FloatType *  src,
FloatType  comp,
CountType  num 
)
staticnoexcept

Each element of dest will be the maximum of the corresponding element of the src array and the given comp value.

◆ max() [2/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::max ( FloatType *  dest,
const FloatType *  src1,
const FloatType *  src2,
CountType  num 
)
staticnoexcept

Each element of dest will be the maximum of the corresponding src1 and src2 values.

◆ min() [1/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::min ( FloatType *  dest,
const FloatType *  src,
FloatType  comp,
CountType  num 
)
staticnoexcept

Each element of dest will be the minimum of the corresponding element of the src array and the given comp value.

◆ min() [2/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::min ( FloatType *  dest,
const FloatType *  src1,
const FloatType *  src2,
CountType  num 
)
staticnoexcept

Each element of dest will be the minimum of the corresponding src1 and src2 values.

◆ multiply() [1/4]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::multiply ( FloatType *  dest,
const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Multiplies the dest values by the src values.

◆ multiply() [2/4]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::multiply ( FloatType *  dest,
const FloatType *  src,
FloatType  multiplier,
CountType  num 
)
staticnoexcept

Multiplies each of the src values by a fixed multiplier and stores the result in the dest array.

◆ multiply() [3/4]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::multiply ( FloatType *  dest,
const FloatType *  src1,
const FloatType *  src2,
CountType  numValues 
)
staticnoexcept

Multiplies each src1 value by the corresponding src2 value, then stores it in the dest array.

◆ multiply() [4/4]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::multiply ( FloatType *  dest,
FloatType  multiplier,
CountType  numValues 
)
staticnoexcept

Multiplies each of the dest values by a fixed multiplier.

◆ negate()

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::negate ( FloatType *  dest,
const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Copies the src vector to dest, negating each value.

◆ subtract() [1/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::subtract ( FloatType *  dest,
const FloatType *  src,
CountType  numValues 
)
staticnoexcept

Subtracts the src values from the dest values.

◆ subtract() [2/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::subtract ( FloatType *  dest,
const FloatType *  src1,
const FloatType *  src2,
CountType  num 
)
staticnoexcept

Subtracts each src2 value from the corresponding src1 value and stores the result in the dest array.

◆ subtractWithMultiply() [1/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::subtractWithMultiply ( FloatType *  dest,
const FloatType *  src,
FloatType  multiplier,
CountType  numValues 
)
staticnoexcept

Multiplies each src value by the given multiplier, then subtracts it from the dest value.

◆ subtractWithMultiply() [2/2]

template<typename FloatType , typename CountType >
static void juce::FloatVectorOperationsBase< FloatType, CountType >::subtractWithMultiply ( FloatType *  dest,
const FloatType *  src1,
const FloatType *  src2,
CountType  num 
)
staticnoexcept

Multiplies each src1 value by the corresponding src2 value, then subtracts it from the dest value.


The documentation for this struct was generated from the following file: