26#ifndef JUCE_SNAP_TO_ZERO
28 #define JUCE_SNAP_TO_ZERO(n) if (! (n < -1.0e-8f || n > 1.0e-8f)) n = 0;
30 #define JUCE_SNAP_TO_ZERO(n) ignoreUnused (n)
33class ScopedNoDenormals;
53template <
typename FloatType,
typename CountType>
60 static void JUCE_CALLTYPE fill (FloatType* dest, FloatType valueToFill, CountType numValues)
noexcept;
63 static void JUCE_CALLTYPE copy (FloatType* dest,
const FloatType* src, CountType numValues)
noexcept;
69 static void JUCE_CALLTYPE add (FloatType* dest, FloatType amountToAdd, CountType numValues)
noexcept;
72 static void JUCE_CALLTYPE add (FloatType* dest,
const FloatType* src, FloatType amount, CountType numValues)
noexcept;
75 static void JUCE_CALLTYPE add (FloatType* dest,
const FloatType* src, CountType numValues)
noexcept;
78 static void JUCE_CALLTYPE add (FloatType* dest,
const FloatType* src1,
const FloatType* src2, CountType num)
noexcept;
81 static void JUCE_CALLTYPE subtract (FloatType* dest,
const FloatType* src, CountType numValues)
noexcept;
84 static void JUCE_CALLTYPE subtract (FloatType* dest,
const FloatType* src1,
const FloatType* src2, CountType num)
noexcept;
99 static void JUCE_CALLTYPE multiply (FloatType* dest,
const FloatType* src, CountType numValues)
noexcept;
102 static void JUCE_CALLTYPE multiply (FloatType* dest,
const FloatType* src1,
const FloatType* src2, CountType numValues)
noexcept;
105 static void JUCE_CALLTYPE multiply (FloatType* dest, FloatType multiplier, CountType numValues)
noexcept;
108 static void JUCE_CALLTYPE multiply (FloatType* dest,
const FloatType* src, FloatType multiplier, CountType num)
noexcept;
111 static void JUCE_CALLTYPE negate (FloatType* dest,
const FloatType* src, CountType numValues)
noexcept;
114 static void JUCE_CALLTYPE abs (FloatType* dest,
const FloatType* src, CountType numValues)
noexcept;
117 static void JUCE_CALLTYPE min (FloatType* dest,
const FloatType* src, FloatType
comp, CountType num)
noexcept;
120 static void JUCE_CALLTYPE min (FloatType* dest,
const FloatType* src1,
const FloatType* src2, CountType num)
noexcept;
123 static void JUCE_CALLTYPE max (FloatType* dest,
const FloatType* src, FloatType
comp, CountType num)
noexcept;
126 static void JUCE_CALLTYPE max (FloatType* dest,
const FloatType* src1,
const FloatType* src2, CountType num)
noexcept;
129 static void JUCE_CALLTYPE clip (FloatType* dest,
const FloatType* src, FloatType low, FloatType high, CountType num)
noexcept;
145template <
typename...>
148template <
typename Head>
151template <
typename Head,
typename... Tail>
163 using Head::copyWithMultiply;
169 using Head::subtract;
172 using Head::addWithMultiply;
175 using Head::subtractWithMultiply;
178 using Head::multiply;
196 using Head::findMinAndMax;
199 using Head::findMinimum;
202 using Head::findMaximum;
220 FloatVectorOperationsBase<float, size_t>,
221 FloatVectorOperationsBase<double, int>,
222 FloatVectorOperationsBase<double, size_t>>
264 #if JUCE_USE_SSE_INTRINSICS || (JUCE_USE_ARM_NEON || defined (__arm64__) || defined (__aarch64__))
#define copy(x)
Definition ADnoteParameters.cpp:1011
#define noexcept
Definition DistrhoDefines.h:72
float abs(const fft_t *freqs, off_t x)
Definition OscilGen.cpp:52
Definition juce_FloatVectorOperations.h:223
static void JUCE_CALLTYPE disableDenormalisedNumberSupport(bool shouldDisable=true) noexcept
Definition juce_FloatVectorOperations.cpp:1494
static void JUCE_CALLTYPE enableFlushToZeroMode(bool shouldEnable) noexcept
Definition juce_FloatVectorOperations.cpp:1477
friend ScopedNoDenormals
Definition juce_FloatVectorOperations.h:244
static void JUCE_CALLTYPE setFpStatusRegister(intptr_t) noexcept
Definition juce_FloatVectorOperations.cpp:1452
static intptr_t JUCE_CALLTYPE getFpStatusRegister() noexcept
Definition juce_FloatVectorOperations.cpp:1430
static bool JUCE_CALLTYPE areDenormalsDisabled() noexcept
Definition juce_FloatVectorOperations.cpp:1513
static void JUCE_CALLTYPE convertFixedToFloat(float *dest, const int *src, float multiplier, int num) noexcept
Definition juce_FloatVectorOperations.cpp:1425
Definition juce_Range.h:40
ScopedNoDenormals() noexcept
Definition juce_FloatVectorOperations.cpp:1528
#define JUCE_API
Definition juce_StandardHeader.h:152
static int JUCE_CDECL comp(const void *a, const void *b)
Definition lsp.c:298
Definition juce_FloatVectorOperations.h:143
Definition carla_juce.cpp:31
void findMinAndMax(const Type *values, int numValues, Type &lowest, Type &highest)
Definition juce_MathsFunctions.h:219
Type findMaximum(const Type *values, Size numValues)
Definition juce_MathsFunctions.h:199
Type findMinimum(const Type *data, Size numValues)
Definition juce_MathsFunctions.h:179
#define min(x, y)
Definition os.h:74
#define max(x, y)
Definition os.h:78
Definition juce_FloatVectorOperations.h:55
static void JUCE_CALLTYPE add(FloatType *dest, FloatType amountToAdd, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1212
static FloatType JUCE_CALLTYPE findMinimum(const FloatType *src, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1402
static void JUCE_CALLTYPE multiply(FloatType *dest, const FloatType *src, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1299
static void JUCE_CALLTYPE clear(FloatType *dest, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1180
static void JUCE_CALLTYPE addWithMultiply(FloatType *dest, const FloatType *src, FloatType multiplier, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1263
static Range< FloatType > JUCE_CALLTYPE findMinAndMax(const FloatType *src, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1395
static void JUCE_CALLTYPE clip(FloatType *dest, const FloatType *src, FloatType low, FloatType high, CountType num) noexcept
Definition juce_FloatVectorOperations.cpp:1385
static FloatType JUCE_CALLTYPE findMaximum(const FloatType *src, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1409
static void JUCE_CALLTYPE subtractWithMultiply(FloatType *dest, const FloatType *src, FloatType multiplier, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1281
static void JUCE_CALLTYPE copyWithMultiply(FloatType *dest, const FloatType *src, FloatType multiplier, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1203
static void JUCE_CALLTYPE fill(FloatType *dest, FloatType valueToFill, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1187
static void JUCE_CALLTYPE subtract(FloatType *dest, const FloatType *src, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1246
static void JUCE_CALLTYPE negate(FloatType *dest, const FloatType *src, CountType numValues) noexcept
Definition juce_FloatVectorOperations.cpp:1333
Definition juce_FloatVectorOperations.h:146