OpenShot Audio Library | OpenShotAudio 0.4.0
 
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>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::add ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 72 of file juce_SIMDNativeOps_fallback.h.

◆ allEqual()

template<typename ScalarType, typename vSIMDType>
static forcedinline bool juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::allEqual ( vSIMDType av,
vSIMDType bv )
inlinestaticnoexcept

Definition at line 143 of file juce_SIMDNativeOps_fallback.h.

◆ apply()

template<typename ScalarType, typename vSIMDType>
template<typename Op>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::apply ( vSIMDType av,
vSIMDType bv )
inlinestaticnoexcept

Definition at line 189 of file juce_SIMDNativeOps_fallback.h.

◆ bit_and()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_and ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 75 of file juce_SIMDNativeOps_fallback.h.

◆ bit_not()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_not ( vSIMDType av)
inlinestaticnoexcept

Definition at line 101 of file juce_SIMDNativeOps_fallback.h.

◆ bit_notand()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_notand ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 78 of file juce_SIMDNativeOps_fallback.h.

◆ bit_or()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_or ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 76 of file juce_SIMDNativeOps_fallback.h.

◆ bit_xor()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bit_xor ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 77 of file juce_SIMDNativeOps_fallback.h.

◆ bitapply()

template<typename ScalarType, typename vSIMDType>
template<typename Op>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::bitapply ( vSIMDType av,
vSIMDType bv )
inlinestaticnoexcept

Definition at line 212 of file juce_SIMDNativeOps_fallback.h.

◆ cmp()

template<typename ScalarType, typename vSIMDType>
template<typename Op>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::cmp ( vSIMDType av,
vSIMDType bv )
inlinestaticnoexcept

Definition at line 200 of file juce_SIMDNativeOps_fallback.h.

◆ cmplxmul()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::cmplxmul ( vSIMDType av,
vSIMDType bv )
inlinestaticnoexcept

Definition at line 155 of file juce_SIMDNativeOps_fallback.h.

◆ equal()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::equal ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 82 of file juce_SIMDNativeOps_fallback.h.

◆ expand()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::expand ( ScalarType s)
inlinestaticnoexcept

Definition at line 222 of file juce_SIMDNativeOps_fallback.h.

◆ get()

template<typename ScalarType, typename vSIMDType>
static forcedinline ScalarType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::get ( vSIMDType v,
size_t i )
inlinestaticnoexcept

Definition at line 87 of file juce_SIMDNativeOps_fallback.h.

◆ greaterThan()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::greaterThan ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 84 of file juce_SIMDNativeOps_fallback.h.

◆ greaterThanOrEqual()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::greaterThanOrEqual ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 85 of file juce_SIMDNativeOps_fallback.h.

◆ load()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::load ( const ScalarType * a)
inlinestaticnoexcept

Definition at line 232 of file juce_SIMDNativeOps_fallback.h.

◆ max()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::max ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 81 of file juce_SIMDNativeOps_fallback.h.

◆ min()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::min ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 80 of file juce_SIMDNativeOps_fallback.h.

◆ mul()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::mul ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 74 of file juce_SIMDNativeOps_fallback.h.

◆ multiplyAdd()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::multiplyAdd ( vSIMDType av,
vSIMDType bv,
vSIMDType cv )
inlinestaticnoexcept

Definition at line 132 of file juce_SIMDNativeOps_fallback.h.

◆ notEqual()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::notEqual ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 83 of file juce_SIMDNativeOps_fallback.h.

◆ set()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::set ( vSIMDType v,
size_t i,
ScalarType s )
inlinestaticnoexcept

Definition at line 93 of file juce_SIMDNativeOps_fallback.h.

◆ shuffle()

template<typename ScalarType, typename vSIMDType>
template<unsigned int shuffle_idx>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::shuffle ( vSIMDType av)
inlinestaticnoexcept

Definition at line 251 of file juce_SIMDNativeOps_fallback.h.

◆ store()

template<typename ScalarType, typename vSIMDType>
static forcedinline void juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::store ( vSIMDType av,
ScalarType * dest )
inlinestaticnoexcept

Definition at line 242 of file juce_SIMDNativeOps_fallback.h.

◆ sub()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::sub ( vSIMDType a,
vSIMDType b )
inlinestaticnoexcept

Definition at line 73 of file juce_SIMDNativeOps_fallback.h.

◆ sum()

template<typename ScalarType, typename vSIMDType>
static forcedinline ScalarType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::sum ( vSIMDType av)
inlinestaticnoexcept

Definition at line 111 of file juce_SIMDNativeOps_fallback.h.

◆ truncate()

template<typename ScalarType, typename vSIMDType>
static forcedinline vSIMDType juce::dsp::SIMDFallbackOps< ScalarType, vSIMDType >::truncate ( vSIMDType av)
inlinestaticnoexcept

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
staticconstexpr

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
staticconstexpr

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)
staticconstexpr

Definition at line 61 of file juce_SIMDNativeOps_fallback.h.


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