74 using MaskType =
typename SIMDInternal::MaskTypeFor<ElementType>::type;
80 using PrimitiveType =
typename SIMDInternal::PrimitiveType<ElementType>::type;
100 struct ElementAccess;
140 return {CmplxOps::load (a)};
147 CmplxOps::store (value, a);
156 return CmplxOps::get (value, idx);
164 value = CmplxOps::set (value, idx, v);
177 inline ElementAccess JUCE_VECTOR_CALLTYPE
operator[] (
size_t idx)
noexcept
180 return ElementAccess (*
this, idx);
271 inline bool JUCE_VECTOR_CALLTYPE
operator== (
SIMDRegister other)
const noexcept {
return NativeOps::allEqual (value, other.value); }
280 inline bool JUCE_VECTOR_CALLTYPE
operator!= (Type s)
const noexcept {
return ! (*
this == s); }
324 return { CmplxOps::muladd (a.value, b.value, c.value) };
348 return (
reinterpret_cast<uintptr_t
> (ptr) & bitmask) == 0;
394 u.in = CmplxSIMDOps<MaskType>::expand (a);