Loading...
Searching...
No Matches
juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType > Struct Template Reference

`#include <juce_SIMDNativeOps_fallback.h>`

## Public Types

using | MaskType = SIMDInternal::MaskType<ScalarType>

## Static Public Member Functions

static forcedinline vSIMDType | add (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | sub (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | mul (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | bit_and (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
static forcedinline vSIMDType | bit_notand (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | min (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | max (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | equal (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | notEqual (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | greaterThan (vSIMDType a, vSIMDType b) noexcept
static forcedinline vSIMDType | greaterThanOrEqual (vSIMDType a, vSIMDType b) noexcept
static forcedinline ScalarType | get (vSIMDType v, size_t i) noexcept
static forcedinline vSIMDType | set (vSIMDType v, size_t i, ScalarType s) noexcept
static forcedinline vSIMDType | bit_not (vSIMDType av) noexcept
static forcedinline ScalarType | sum (vSIMDType av) noexcept
static forcedinline vSIMDType | truncate (vSIMDType av) noexcept
static forcedinline vSIMDType | multiplyAdd (vSIMDType av, vSIMDType bv, vSIMDType cv) noexcept
static forcedinline bool | allEqual (vSIMDType av, vSIMDType bv) noexcept
static forcedinline vSIMDType | cmplxmul (vSIMDType av, vSIMDType bv) noexcept
template<typename Op>
static forcedinline vSIMDType | apply (vSIMDType av, vSIMDType bv) noexcept
template<typename Op>
static forcedinline vSIMDType | cmp (vSIMDType av, vSIMDType bv) noexcept
template<typename Op>
static forcedinline vSIMDType | bitapply (vSIMDType av, vSIMDType bv) noexcept
static forcedinline vSIMDType | expand (ScalarType s) noexcept
static forcedinline vSIMDType | load (const ScalarType *a) noexcept
static forcedinline void | store (vSIMDType av, ScalarType *dest) noexcept
template<unsigned int shuffle_idx>
static forcedinline vSIMDType | shuffle (vSIMDType av) noexcept

## Static Public Attributes

static constexpr size_t | n = sizeof (vSIMDType) / sizeof (ScalarType)
static constexpr size_t | mask = (sizeof (vSIMDType) / sizeof (ScalarType)) - 1
static constexpr size_t | bits = SIMDInternal::Log2Helper<(int) n>::value

## Detailed Description

template<typename ScalarType, typename vSIMDType>
struct juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >

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.

Definition at line 59 of file juce_SIMDNativeOps_fallback.h.

## Member Typedef Documentation

## MaskType

template<typename ScalarType, typename vSIMDType>

using juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::MaskType = SIMDInternal::MaskType<ScalarType>

Definition at line 66 of file juce_SIMDNativeOps_fallback.h.

## Member Function Documentation

## add()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::add | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 72 of file juce_SIMDNativeOps_fallback.h.

## allEqual()

template<typename ScalarType, typename vSIMDType>

forcedinline bool juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::allEqual | ( | vSIMDType | av,
|  | vSIMDType | bv )

inline static noexcept

Definition at line 143 of file juce_SIMDNativeOps_fallback.h.

## apply()

template<typename ScalarType, typename vSIMDType>
template<typename Op>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::apply | ( | vSIMDType | av,
|  | vSIMDType | bv )

inline static noexcept

Definition at line 189 of file juce_SIMDNativeOps_fallback.h.

## bit_and()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_and | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 75 of file juce_SIMDNativeOps_fallback.h.

## bit_not()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_not | ( | vSIMDType | av | ) |

inline static noexcept

Definition at line 101 of file juce_SIMDNativeOps_fallback.h.

## bit_notand()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_notand | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 78 of file juce_SIMDNativeOps_fallback.h.

## bit_or()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_or | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 76 of file juce_SIMDNativeOps_fallback.h.

## bit_xor()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_xor | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 77 of file juce_SIMDNativeOps_fallback.h.

## bitapply()

template<typename ScalarType, typename vSIMDType>
template<typename Op>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bitapply | ( | vSIMDType | av,
|  | vSIMDType | bv )

inline static noexcept

Definition at line 212 of file juce_SIMDNativeOps_fallback.h.

## cmp()

template<typename ScalarType, typename vSIMDType>
template<typename Op>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::cmp | ( | vSIMDType | av,
|  | vSIMDType | bv )

inline static noexcept

Definition at line 200 of file juce_SIMDNativeOps_fallback.h.

## cmplxmul()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::cmplxmul | ( | vSIMDType | av,
|  | vSIMDType | bv )

inline static noexcept

Definition at line 155 of file juce_SIMDNativeOps_fallback.h.

## equal()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::equal | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 82 of file juce_SIMDNativeOps_fallback.h.

## expand()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::expand | ( | ScalarType | s | ) |

inline static noexcept

Definition at line 222 of file juce_SIMDNativeOps_fallback.h.

## get()

template<typename ScalarType, typename vSIMDType>

forcedinline ScalarType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::get | ( | vSIMDType | v,
|  | size_t | i )

inline static noexcept

Definition at line 87 of file juce_SIMDNativeOps_fallback.h.

## greaterThan()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::greaterThan | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 84 of file juce_SIMDNativeOps_fallback.h.

## greaterThanOrEqual()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::greaterThanOrEqual | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 85 of file juce_SIMDNativeOps_fallback.h.

## load()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::load | ( | const ScalarType * | a | ) |

inline static noexcept

Definition at line 232 of file juce_SIMDNativeOps_fallback.h.

## max()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::max | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 81 of file juce_SIMDNativeOps_fallback.h.

## min()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::min | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 80 of file juce_SIMDNativeOps_fallback.h.

## mul()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::mul | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 74 of file juce_SIMDNativeOps_fallback.h.

## multiplyAdd()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::multiplyAdd | ( | vSIMDType | av,
|  | vSIMDType | bv,
|  | vSIMDType | cv )

inline static noexcept

Definition at line 132 of file juce_SIMDNativeOps_fallback.h.

## notEqual()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::notEqual | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 83 of file juce_SIMDNativeOps_fallback.h.

## set()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::set | ( | vSIMDType | v,
|  | size_t | i,
|  | ScalarType | s )

inline static noexcept

Definition at line 93 of file juce_SIMDNativeOps_fallback.h.

## shuffle()

template<typename ScalarType, typename vSIMDType>
template<unsigned int shuffle_idx>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::shuffle | ( | vSIMDType | av | ) |

inline static noexcept

Definition at line 251 of file juce_SIMDNativeOps_fallback.h.

## store()

template<typename ScalarType, typename vSIMDType>

forcedinline void juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::store | ( | vSIMDType | av,
|  | ScalarType * | dest )

inline static noexcept

Definition at line 242 of file juce_SIMDNativeOps_fallback.h.

## sub()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::sub | ( | vSIMDType | a,
|  | vSIMDType | b )

inline static noexcept

Definition at line 73 of file juce_SIMDNativeOps_fallback.h.

## sum()

template<typename ScalarType, typename vSIMDType>

forcedinline ScalarType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::sum | ( | vSIMDType | av | ) |

inline static noexcept

Definition at line 111 of file juce_SIMDNativeOps_fallback.h.

## truncate()

template<typename ScalarType, typename vSIMDType>

forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::truncate | ( | vSIMDType | av | ) |

inline static noexcept

Definition at line 122 of file juce_SIMDNativeOps_fallback.h.

## Member Data Documentation

## bits

template<typename ScalarType, typename vSIMDType>

size_t juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bits = SIMDInternal::Log2Helper<(int) n>::value

static constexpr

Definition at line 63 of file juce_SIMDNativeOps_fallback.h.

## mask

template<typename ScalarType, typename vSIMDType>

size_t juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::mask = (sizeof (vSIMDType) / sizeof (ScalarType)) - 1

static constexpr

Definition at line 62 of file juce_SIMDNativeOps_fallback.h.

## n

template<typename ScalarType, typename vSIMDType>

size_t juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::n = sizeof (vSIMDType) / sizeof (ScalarType)

static constexpr

Definition at line 61 of file juce_SIMDNativeOps_fallback.h.

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

- juce_SIMDNativeOps_fallback.h