JUCE: FloatVectorOperationsBase< FloatType, CountType > Struct Template Reference

JUCE

Static Public Member Functions | List of all members
FloatVectorOperationsBase< FloatType, CountType > Struct Template Reference
juce_audio_basics » buffers

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 JUCE_CALLTYPE | clear (FloatType *dest, CountType numValues) noexcept
| Clears a vector of floating point numbers. More...
static void JUCE_CALLTYPE | fill (FloatType *dest, FloatType valueToFill, CountType numValues) noexcept
| Copies a repeated value into a vector of floating point numbers. More...
static void JUCE_CALLTYPE | copy (FloatType *dest, const FloatType *src, CountType numValues) noexcept
| Copies a vector of floating point numbers. More...
static void JUCE_CALLTYPE | 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. More...
static void JUCE_CALLTYPE | add (FloatType *dest, FloatType amountToAdd, CountType numValues) noexcept
| Adds a fixed value to the destination values. More...
static void JUCE_CALLTYPE | add (FloatType *dest, const FloatType *src, FloatType amount, CountType numValues) noexcept
| Adds a fixed value to each source value and stores it in the destination array. More...
static void JUCE_CALLTYPE | add (FloatType *dest, const FloatType *src, CountType numValues) noexcept
| Adds the source values to the destination values. More...
static void JUCE_CALLTYPE | add (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
| Adds each source1 value to the corresponding source2 value and stores the result in the destination array. More...
static void JUCE_CALLTYPE | subtract (FloatType *dest, const FloatType *src, CountType numValues) noexcept
| Subtracts the source values from the destination values. More...
static void JUCE_CALLTYPE | subtract (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
| Subtracts each source2 value from the corresponding source1 value and stores the result in the destination array. More...
static void JUCE_CALLTYPE | addWithMultiply (FloatType *dest, const FloatType *src, FloatType multiplier, CountType numValues) noexcept
| Multiplies each source value by the given multiplier, then adds it to the destination value. More...
static void JUCE_CALLTYPE | addWithMultiply (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
| Multiplies each source1 value by the corresponding source2 value, then adds it to the destination value. More...
static void JUCE_CALLTYPE | subtractWithMultiply (FloatType *dest, const FloatType *src, FloatType multiplier, CountType numValues) noexcept
| Multiplies each source value by the given multiplier, then subtracts it to the destination value. More...
static void JUCE_CALLTYPE | subtractWithMultiply (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
| Multiplies each source1 value by the corresponding source2 value, then subtracts it to the destination value. More...
static void JUCE_CALLTYPE | multiply (FloatType *dest, const FloatType *src, CountType numValues) noexcept
| Multiplies the destination values by the source values. More...
static void JUCE_CALLTYPE | multiply (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType numValues) noexcept
| Multiplies each source1 value by the correspinding source2 value, then stores it in the destination array. More...
static void JUCE_CALLTYPE | multiply (FloatType *dest, FloatType multiplier, CountType numValues) noexcept
| Multiplies each of the destination values by a fixed multiplier. More...
static void JUCE_CALLTYPE | multiply (FloatType *dest, const FloatType *src, FloatType multiplier, CountType num) noexcept
| Multiplies each of the source values by a fixed multiplier and stores the result in the destination array. More...
static void JUCE_CALLTYPE | negate (FloatType *dest, const FloatType *src, CountType numValues) noexcept
| Copies a source vector to a destination, negating each value. More...
static void JUCE_CALLTYPE | abs (FloatType *dest, const FloatType *src, CountType numValues) noexcept
| Copies a source vector to a destination, taking the absolute of each value. More...
static void JUCE_CALLTYPE | 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 source array and the given comp value. More...
static void JUCE_CALLTYPE | min (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
| Each element of dest will be the minimum of the corresponding source1 and source2 values. More...
static void JUCE_CALLTYPE | 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 source array and the given comp value. More...
static void JUCE_CALLTYPE | max (FloatType *dest, const FloatType *src1, const FloatType *src2, CountType num) noexcept
| Each element of dest will be the maximum of the corresponding source1 and source2 values. More...
static void JUCE_CALLTYPE | 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. More...
static Range< FloatType > JUCE_CALLTYPE | findMinAndMax (const FloatType *src, CountType numValues) noexcept
| Finds the minimum and maximum values in the given array. More...
static FloatType JUCE_CALLTYPE | findMinimum (const FloatType *src, CountType numValues) noexcept
| Finds the minimum value in the given array. More...
static FloatType JUCE_CALLTYPE | findMaximum (const FloatType *src, CountType numValues) noexcept
| Finds the maximum value in the given array. More...

## Detailed Description

template<typename FloatType, typename CountType>
struct 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:
FloatVectorOperationsBase<float, int>::clear (data, 64);
FloatVectorOperations::clear (data, 64);
gl::data
GLboolean * data
Definition: juce_gl.h:674
FloatVectorOperationsBase::clear
static void JUCE_CALLTYPE clear(FloatType *dest, CountType numValues) noexcept
Clears a vector of floating point numbers.

See also
  FloatVectorOperations

## Member Function Documentation

## ◆ clear()

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::clear | ( | FloatType * | dest,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Clears a vector of floating point numbers.

## ◆ fill()

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::fill | ( | FloatType * | dest,
|  | FloatType | valueToFill,
|  | CountType | numValues
| ) |  |
| staticnoexcept

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

## ◆ copy()

template<typename FloatType , typename CountType >

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

## ◆ add() [1/4]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::add | ( | FloatType * | dest,
|  | FloatType | amountToAdd,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Adds a fixed value to the destination values.

## ◆ add() [2/4]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::add | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | FloatType | amount,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Adds a fixed value to each source value and stores it in the destination array.

## ◆ add() [3/4]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::add | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Adds the source values to the destination values.

## ◆ add() [4/4]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::add | ( | FloatType * | dest,
|  | const FloatType * | src1,
|  | const FloatType * | src2,
|  | CountType | num
| ) |  |
| staticnoexcept

Adds each source1 value to the corresponding source2 value and stores the result in the destination array.

## ◆ subtract() [1/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::subtract | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Subtracts the source values from the destination values.

## ◆ subtract() [2/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::subtract | ( | FloatType * | dest,
|  | const FloatType * | src1,
|  | const FloatType * | src2,
|  | CountType | num
| ) |  |
| staticnoexcept

Subtracts each source2 value from the corresponding source1 value and stores the result in the destination array.

## ◆ addWithMultiply() [1/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::addWithMultiply | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | FloatType | multiplier,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Multiplies each source value by the given multiplier, then adds it to the destination value.

## ◆ addWithMultiply() [2/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::addWithMultiply | ( | FloatType * | dest,
|  | const FloatType * | src1,
|  | const FloatType * | src2,
|  | CountType | num
| ) |  |
| staticnoexcept

Multiplies each source1 value by the corresponding source2 value, then adds it to the destination value.

## ◆ subtractWithMultiply() [1/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::subtractWithMultiply | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | FloatType | multiplier,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Multiplies each source value by the given multiplier, then subtracts it to the destination value.

## ◆ subtractWithMultiply() [2/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::subtractWithMultiply | ( | FloatType * | dest,
|  | const FloatType * | src1,
|  | const FloatType * | src2,
|  | CountType | num
| ) |  |
| staticnoexcept

Multiplies each source1 value by the corresponding source2 value, then subtracts it to the destination value.

## ◆ multiply() [1/4]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::multiply | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Multiplies the destination values by the source values.

## ◆ multiply() [2/4]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::multiply | ( | FloatType * | dest,
|  | const FloatType * | src1,
|  | const FloatType * | src2,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Multiplies each source1 value by the correspinding source2 value, then stores it in the destination array.

## ◆ multiply() [3/4]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::multiply | ( | FloatType * | dest,
|  | FloatType | multiplier,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Multiplies each of the destination values by a fixed multiplier.

## ◆ multiply() [4/4]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::multiply | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | FloatType | multiplier,
|  | CountType | num
| ) |  |
| staticnoexcept

Multiplies each of the source values by a fixed multiplier and stores the result in the destination array.

## ◆ negate()

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::negate | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Copies a source vector to a destination, negating each value.

## ◆ abs()

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::abs | ( | FloatType * | dest,
|  | const FloatType * | src,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Copies a source vector to a destination, taking the absolute of each value.

## ◆ min() [1/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE 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 source array and the given comp value.

## ◆ min() [2/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE 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 source1 and source2 values.

## ◆ max() [1/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE 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 source array and the given comp value.

## ◆ max() [2/2]

template<typename FloatType , typename CountType >

static void JUCE_CALLTYPE 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 source1 and source2 values.

## ◆ clip()

template<typename FloatType , typename CountType >

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

## ◆ findMinAndMax()

template<typename FloatType , typename CountType >

static Range< FloatType > JUCE_CALLTYPE 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_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::findMinimum | ( | const FloatType * | src,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Finds the minimum value in the given array.

## ◆ findMaximum()

template<typename FloatType , typename CountType >

static FloatType JUCE_CALLTYPE FloatVectorOperationsBase< FloatType, CountType >::findMaximum | ( | const FloatType * | src,
|  | CountType | numValues
| ) |  |
| staticnoexcept

Finds the maximum value in the given array.

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

- juce_FloatVectorOperations.h