Useful fallback routines to use if the native SIMD op is not supported. More...
#include <juce_SIMDNativeOps_fallback.h>

Classes | |
| struct | ScalarAdd |
| struct | ScalarAnd |
| struct | ScalarEq |
| struct | ScalarGeq |
| struct | ScalarGt |
| struct | ScalarMax |
| struct | ScalarMin |
| struct | ScalarMul |
| struct | ScalarNeq |
| struct | ScalarNot |
| struct | ScalarOr |
| struct | ScalarSub |
| struct | ScalarXor |
| union | UnionMaskType |
| union | UnionType |
Public Types | |
| using | MaskType = SIMDInternal::MaskType< ScalarType > |
Static Public Member Functions | |
| static forcedinline vSIMDType | add (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline bool | allEqual (vSIMDType av, vSIMDType bv) noexcept |
| template<typename Op > | |
| static forcedinline vSIMDType | apply (vSIMDType av, vSIMDType bv) noexcept |
| static forcedinline vSIMDType | bit_and (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | bit_not (vSIMDType av) noexcept |
| static forcedinline vSIMDType | bit_notand (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | bit_or (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | bit_xor (vSIMDType a, vSIMDType b) noexcept |
| template<typename Op > | |
| static forcedinline vSIMDType | bitapply (vSIMDType av, vSIMDType bv) noexcept |
| template<typename Op > | |
| static forcedinline vSIMDType | cmp (vSIMDType av, vSIMDType bv) noexcept |
| static forcedinline vSIMDType | cmplxmul (vSIMDType av, vSIMDType bv) noexcept |
| static forcedinline vSIMDType | equal (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | expand (ScalarType s) noexcept |
| static forcedinline ScalarType | get (vSIMDType v, size_t i) noexcept |
| static forcedinline vSIMDType | greaterThan (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | greaterThanOrEqual (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | load (const ScalarType *a) noexcept |
| static forcedinline vSIMDType | max (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | min (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | mul (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | multiplyAdd (vSIMDType av, vSIMDType bv, vSIMDType cv) noexcept |
| static forcedinline vSIMDType | notEqual (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline vSIMDType | set (vSIMDType v, size_t i, ScalarType s) noexcept |
| template<unsigned int shuffle_idx> | |
| static forcedinline vSIMDType | shuffle (vSIMDType av) noexcept |
| static forcedinline void | store (vSIMDType av, ScalarType *dest) noexcept |
| static forcedinline vSIMDType | sub (vSIMDType a, vSIMDType b) noexcept |
| static forcedinline ScalarType | sum (vSIMDType av) noexcept |
| static forcedinline vSIMDType | truncate (vSIMDType av) noexcept |
Static Public Attributes | |
| static constexpr size_t | bits = SIMDInternal::Log2Helper<(int) n>::value |
| static constexpr size_t | mask = (sizeof (vSIMDType) / sizeof (ScalarType)) - 1 |
| static constexpr size_t | n = sizeof (vSIMDType) / sizeof (ScalarType) |
Useful fallback routines to use if the native SIMD op is not supported.
You should never need to use this directly. Use juce_SIMDRegister instead.
@tags{DSP}
| using juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::MaskType = SIMDInternal::MaskType<ScalarType> |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
Referenced by juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::allEqual(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::apply(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_not(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bitapply(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::cmp(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::cmplxmul(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::expand(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::load(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::multiplyAdd(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::shuffle(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::store(), juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::sum(), and juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::truncate().