Grok  9.7.5
Namespaces | Classes | Typedefs | Functions | Variables
hwy::HWY_NAMESPACE Namespace Reference

Namespaces

 detail
 
 impl
 

Classes

struct  Dot
 
class  Xorshift128Plus
 
struct  ThreadLocal
 
struct  SharedState
 
struct  Result
 
class  Vec128
 
struct  Mask128
 
struct  Indices128
 
struct  CompressIsPartition
 
struct  DFromV_t
 
struct  Vec1
 
class  Mask1
 
struct  Indices1
 
struct  Simd
 
class  Vec256
 
struct  Mask256
 
struct  Indices256
 
class  Vec512
 
struct  Mask512
 
struct  Indices512
 
class  ForExtendableVectors
 
class  ForShrinkableVectors
 
class  ForGEVectors
 
class  ForPromoteVectors
 
class  ForDemoteVectors
 
class  ForHalfVectors
 
class  ForPartialVectors
 

Typedefs

template<typename T >
using SortTag = ScalableTag< T, -1 >
 
template<typename T >
using Full128 = Simd< T, 16/sizeof(T), 0 >
 
template<typename T >
using Full64 = Simd< T, 8/sizeof(T), 0 >
 
template<typename T >
using Full32 = Simd< T, 4/sizeof(T), 0 >
 
template<typename T >
using Vec64 = Vec128< T, 8/sizeof(T)>
 
template<typename T >
using Vec32 = Vec128< T, 4/sizeof(T)>
 
template<class V >
using DFromV = decltype(detail::DeduceD()(V()))
 
template<class V >
using TFromV = TFromD< DFromV< V > >
 
template<class D >
using VFromD = decltype(Zero(D()))
 
template<class V >
using LaneType = decltype(GetLane(V()))
 
template<class D >
using Vec = decltype(Zero(D()))
 
template<class D >
using Mask = decltype(MaskFromVec(Zero(D())))
 
template<class D >
using MFromD = decltype(MaskFromVec(Zero(D())))
 
template<class DF >
using DU16FromDF = RepartitionToNarrow< RebindToUnsigned< DF > >
 
template<typename T >
using Sisd = Simd< T, 1, 0 >
 
template<typename T , int kPow2 = 0>
using ScalableTag = typename detail::ScalableTagChecker< T, kPow2 >::type
 
template<typename T , size_t kLimit>
using CappedTag = typename detail::CappedTagChecker< T, kLimit >::type
 
template<typename T , size_t kNumLanes>
using FixedTag = typename detail::FixedTagChecker< T, kNumLanes >::type
 
template<class D >
using TFromD = typename D::T
 
template<class T , class D >
using Rebind = typename D::template Rebind< T >
 
template<class D >
using RebindToSigned = Rebind< MakeSigned< TFromD< D > >, D >
 
template<class D >
using RebindToUnsigned = Rebind< MakeUnsigned< TFromD< D > >, D >
 
template<class D >
using RebindToFloat = Rebind< MakeFloat< TFromD< D > >, D >
 
template<class T , class D >
using Repartition = typename D::template Repartition< T >
 
template<class D >
using RepartitionToWide = Repartition< MakeWide< TFromD< D > >, D >
 
template<class D >
using RepartitionToNarrow = Repartition< MakeNarrow< TFromD< D > >, D >
 
template<class D >
using Half = typename D::Half
 
template<class D >
using Twice = typename D::Twice
 
template<class V >
using VecArg = V
 
template<typename T >
using Full256 = Simd< T, 32/sizeof(T), 0 >
 
template<typename T >
using Full512 = Simd< T, 64/sizeof(T), 0 >
 
using GatherIndex64 = long long int
 
template<class Test >
using ForGE128Vectors = ForGEVectors< 128, Test >
 

Functions

template<class D , typename T = TFromD<D>>
void Copy (D d, const T *HWY_RESTRICT from, size_t count, T *HWY_RESTRICT to)
 
template<class D , class Func , typename T = TFromD<D>>
T * CopyIf (D d, const T *HWY_RESTRICT from, size_t count, T *HWY_RESTRICT to, const Func &func)
 
template<class D , class Func , typename T = TFromD<D>>
void Transform (D d, T *HWY_RESTRICT inout, size_t count, const Func &func)
 
template<class D , class Func , typename T = TFromD<D>>
void Transform1 (D d, T *HWY_RESTRICT inout, size_t count, const T *HWY_RESTRICT in1, const Func &func)
 
template<class D , class Func , typename T = TFromD<D>>
void Transform2 (D d, T *HWY_RESTRICT inout, size_t count, const T *HWY_RESTRICT in1, const T *HWY_RESTRICT in2, const Func &func)
 
template<class D , class V >
HWY_INLINEAcos (const D d, V x)
 Highway SIMD version of std::acos(x). More...
 
template<class D , class V >
HWY_NOINLINECallAcos (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINEAcosh (const D d, V x)
 Highway SIMD version of std::acosh(x). More...
 
template<class D , class V >
HWY_NOINLINECallAcosh (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINEAsin (const D d, V x)
 Highway SIMD version of std::asin(x). More...
 
template<class D , class V >
HWY_NOINLINECallAsin (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINEAsinh (const D d, V x)
 Highway SIMD version of std::asinh(x). More...
 
template<class D , class V >
HWY_NOINLINECallAsinh (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINEAtan (const D d, V x)
 Highway SIMD version of std::atan(x). More...
 
template<class D , class V >
HWY_NOINLINECallAtan (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINEAtanh (const D d, V x)
 Highway SIMD version of std::atanh(x). More...
 
template<class D , class V >
HWY_NOINLINECallAtanh (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINECos (const D d, V x)
 Highway SIMD version of std::cos(x). More...
 
template<class D , class V >
HWY_NOINLINECallCos (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINEExp (const D d, V x)
 Highway SIMD version of std::exp(x). More...
 
template<class D , class V >
HWY_NOINLINECallExp (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINEExpm1 (const D d, V x)
 Highway SIMD version of std::expm1(x). More...
 
template<class D , class V >
HWY_NOINLINECallExpm1 (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINELog (const D d, V x)
 Highway SIMD version of std::log(x). More...
 
template<class D , class V >
HWY_NOINLINECallLog (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINELog10 (const D d, V x)
 Highway SIMD version of std::log10(x). More...
 
template<class D , class V >
HWY_NOINLINECallLog10 (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINELog1p (const D d, V x)
 Highway SIMD version of std::log1p(x). More...
 
template<class D , class V >
HWY_NOINLINECallLog1p (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINELog2 (const D d, V x)
 Highway SIMD version of std::log2(x). More...
 
template<class D , class V >
HWY_NOINLINECallLog2 (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINESin (const D d, V x)
 Highway SIMD version of std::sin(x). More...
 
template<class D , class V >
HWY_NOINLINECallSin (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINESinh (const D d, V x)
 Highway SIMD version of std::sinh(x). More...
 
template<class D , class V >
HWY_NOINLINECallSinh (const D d, VecArg< V > x)
 
template<class D , class V >
HWY_INLINETanh (const D d, V x)
 Highway SIMD version of std::tanh(x). More...
 
template<class D , class V >
HWY_NOINLINECallTanh (const D d, VecArg< V > x)
 
template<typename T , class DU64 , HWY_IF_NOT_FLOAT(T) >
Vec< DU64 > RandomValues (DU64 du64, Vec< DU64 > &s0, Vec< DU64 > &s1, const Vec< DU64 > mask)
 
template<class DU64 >
Vec< DU64 > MaskForDist (DU64 du64, const Dist dist, size_t sizeof_t)
 
template<typename T >
InputStats< T > GenerateInput (const Dist dist, T *v, size_t num)
 
template<class Order , typename T >
void Run (Algo algo, T *HWY_RESTRICT inout, size_t num, SharedState &shared, size_t thread)
 
template<typename T , class Traits >
Result MakeResult (const Algo algo, Dist dist, Traits st, size_t num, size_t num_threads, double sec)
 
template<class Traits , typename T >
bool VerifySort (Traits st, const InputStats< T > &input_stats, const T *out, size_t num, const char *caller)
 
template<class D , class Traits , typename T >
void Sort (D d, Traits st, T *HWY_RESTRICT keys, size_t num, T *HWY_RESTRICT buf)
 
template<typename T , size_t N, typename FromT >
HWY_API Vec128< T, NBitCast (Simd< T, N, 0 > d, Vec128< FromT, N *sizeof(T)/sizeof(FromT)> v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NZero (Simd< T, N, 0 > d)
 
template<size_t N>
HWY_API Vec128< bfloat16_t, NZero (Simd< bfloat16_t, N, 0 >)
 
template<typename T , size_t N>
HWY_API Vec128< T, NUndefined (Simd< T, N, 0 >)
 
template<typename T , size_t N, typename T2 >
Vec128< T, NIota (const Simd< T, N, 0 > d, const T2 first)
 
HWY_API uint8_t GetLane (const Vec128< uint8_t, 16 > v)
 
template<size_t N>
HWY_API uint8_t GetLane (const Vec128< uint8_t, N > v)
 
HWY_API int8_t GetLane (const Vec128< int8_t, 16 > v)
 
template<size_t N>
HWY_API int8_t GetLane (const Vec128< int8_t, N > v)
 
HWY_API uint16_t GetLane (const Vec128< uint16_t, 8 > v)
 
template<size_t N>
HWY_API uint16_t GetLane (const Vec128< uint16_t, N > v)
 
HWY_API int16_t GetLane (const Vec128< int16_t, 8 > v)
 
template<size_t N>
HWY_API int16_t GetLane (const Vec128< int16_t, N > v)
 
HWY_API uint32_t GetLane (const Vec128< uint32_t, 4 > v)
 
template<size_t N>
HWY_API uint32_t GetLane (const Vec128< uint32_t, N > v)
 
HWY_API int32_t GetLane (const Vec128< int32_t, 4 > v)
 
template<size_t N>
HWY_API int32_t GetLane (const Vec128< int32_t, N > v)
 
HWY_API uint64_t GetLane (const Vec128< uint64_t, 2 > v)
 
HWY_API uint64_t GetLane (const Vec64< uint64_t > v)
 
HWY_API int64_t GetLane (const Vec128< int64_t, 2 > v)
 
HWY_API int64_t GetLane (const Vec64< int64_t > v)
 
HWY_API float GetLane (const Vec128< float, 4 > v)
 
HWY_API float GetLane (const Vec64< float > v)
 
HWY_API float GetLane (const Vec32< float > v)
 
HWY_API Vec128< uint64_t > SumsOf8 (const Vec128< uint8_t > v)
 
HWY_API Vec64< uint64_t > SumsOf8 (const Vec64< uint8_t > v)
 
 HWY_NEON_DEF_FUNCTION_INT_8_16_32 (Neg, vneg, _, 1) HWY_API Vec64< int64_t > Neg(const Vec64< int64_t > v)
 
HWY_API Vec128< int64_t > Neg (const Vec128< int64_t > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint32_t, NRotateRight (const Vec128< uint32_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint64_t, NRotateRight (const Vec128< uint64_t, N > v)
 
HWY_API Vec128< uint8_t > operator<< (const Vec128< uint8_t > v, const Vec128< uint8_t > bits)
 
template<size_t N, HWY_IF_LE64(uint8_t, N) >
HWY_API Vec128< uint8_t, Noperator<< (const Vec128< uint8_t, N > v, const Vec128< uint8_t, N > bits)
 
HWY_API Vec128< uint16_t > operator<< (const Vec128< uint16_t > v, const Vec128< uint16_t > bits)
 
template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128< uint16_t, Noperator<< (const Vec128< uint16_t, N > v, const Vec128< uint16_t, N > bits)
 
HWY_API Vec128< uint32_t > operator<< (const Vec128< uint32_t > v, const Vec128< uint32_t > bits)
 
template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< uint32_t, Noperator<< (const Vec128< uint32_t, N > v, const Vec128< uint32_t, N > bits)
 
HWY_API Vec128< uint64_t > operator<< (const Vec128< uint64_t > v, const Vec128< uint64_t > bits)
 
HWY_API Vec64< uint64_t > operator<< (const Vec64< uint64_t > v, const Vec64< uint64_t > bits)
 
HWY_API Vec128< int8_t > operator<< (const Vec128< int8_t > v, const Vec128< int8_t > bits)
 
template<size_t N, HWY_IF_LE64(int8_t, N) >
HWY_API Vec128< int8_t, Noperator<< (const Vec128< int8_t, N > v, const Vec128< int8_t, N > bits)
 
HWY_API Vec128< int16_t > operator<< (const Vec128< int16_t > v, const Vec128< int16_t > bits)
 
template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< int16_t, Noperator<< (const Vec128< int16_t, N > v, const Vec128< int16_t, N > bits)
 
HWY_API Vec128< int32_t > operator<< (const Vec128< int32_t > v, const Vec128< int32_t > bits)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, Noperator<< (const Vec128< int32_t, N > v, const Vec128< int32_t, N > bits)
 
HWY_API Vec128< int64_t > operator<< (const Vec128< int64_t > v, const Vec128< int64_t > bits)
 
HWY_API Vec64< int64_t > operator<< (const Vec64< int64_t > v, const Vec64< int64_t > bits)
 
HWY_API Vec128< uint8_t > operator>> (const Vec128< uint8_t > v, const Vec128< uint8_t > bits)
 
template<size_t N, HWY_IF_LE64(uint8_t, N) >
HWY_API Vec128< uint8_t, Noperator>> (const Vec128< uint8_t, N > v, const Vec128< uint8_t, N > bits)
 
HWY_API Vec128< uint16_t > operator>> (const Vec128< uint16_t > v, const Vec128< uint16_t > bits)
 
template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128< uint16_t, Noperator>> (const Vec128< uint16_t, N > v, const Vec128< uint16_t, N > bits)
 
HWY_API Vec128< uint32_t > operator>> (const Vec128< uint32_t > v, const Vec128< uint32_t > bits)
 
template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< uint32_t, Noperator>> (const Vec128< uint32_t, N > v, const Vec128< uint32_t, N > bits)
 
HWY_API Vec128< uint64_t > operator>> (const Vec128< uint64_t > v, const Vec128< uint64_t > bits)
 
HWY_API Vec64< uint64_t > operator>> (const Vec64< uint64_t > v, const Vec64< uint64_t > bits)
 
HWY_API Vec128< int8_t > operator>> (const Vec128< int8_t > v, const Vec128< int8_t > bits)
 
template<size_t N, HWY_IF_LE64(int8_t, N) >
HWY_API Vec128< int8_t, Noperator>> (const Vec128< int8_t, N > v, const Vec128< int8_t, N > bits)
 
HWY_API Vec128< int16_t > operator>> (const Vec128< int16_t > v, const Vec128< int16_t > bits)
 
template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< int16_t, Noperator>> (const Vec128< int16_t, N > v, const Vec128< int16_t, N > bits)
 
HWY_API Vec128< int32_t > operator>> (const Vec128< int32_t > v, const Vec128< int32_t > bits)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, Noperator>> (const Vec128< int32_t, N > v, const Vec128< int32_t, N > bits)
 
HWY_API Vec128< int64_t > operator>> (const Vec128< int64_t > v, const Vec128< int64_t > bits)
 
HWY_API Vec64< int64_t > operator>> (const Vec64< int64_t > v, const Vec64< int64_t > bits)
 
template<typename T , size_t N>
HWY_API Vec128< T, NShiftLeftSame (const Vec128< T, N > v, int bits)
 
template<typename T , size_t N>
HWY_API Vec128< T, NShiftRightSame (const Vec128< T, N > v, int bits)
 
HWY_API Vec128< uint16_t > operator* (const Vec128< uint16_t > a, const Vec128< uint16_t > b)
 
HWY_API Vec128< uint32_t > operator* (const Vec128< uint32_t > a, const Vec128< uint32_t > b)
 
template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128< uint16_t, Noperator* (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< uint32_t, Noperator* (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
HWY_API Vec128< int16_t > operator* (const Vec128< int16_t > a, const Vec128< int16_t > b)
 
HWY_API Vec128< int32_t > operator* (const Vec128< int32_t > a, const Vec128< int32_t > b)
 
template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128< int16_t, Noperator* (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, Noperator* (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
HWY_API Vec128< int16_t > MulHigh (const Vec128< int16_t > a, const Vec128< int16_t > b)
 
HWY_API Vec128< uint16_t > MulHigh (const Vec128< uint16_t > a, const Vec128< uint16_t > b)
 
template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< int16_t, NMulHigh (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128< uint16_t, NMulHigh (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
HWY_API Vec128< int16_t > MulFixedPoint15 (Vec128< int16_t > a, Vec128< int16_t > b)
 
template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< int16_t, NMulFixedPoint15 (Vec128< int16_t, N > a, Vec128< int16_t, N > b)
 
HWY_API Vec128< float > ApproximateReciprocal (const Vec128< float > v)
 
template<size_t N>
HWY_API Vec128< float, NApproximateReciprocal (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< float, Noperator/ (const Vec128< float, N > a, const Vec128< float, N > b)
 
HWY_API Vec128< float > AbsDiff (const Vec128< float > a, const Vec128< float > b)
 
template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128< float, NAbsDiff (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< float, NMulAdd (const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > add)
 
template<size_t N>
HWY_API Vec128< float, NNegMulAdd (const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > add)
 
template<size_t N>
HWY_API Vec128< float, NMulSub (const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > sub)
 
template<size_t N>
HWY_API Vec128< float, NNegMulSub (const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > sub)
 
HWY_API Vec128< float > ApproximateReciprocalSqrt (const Vec128< float > v)
 
template<size_t N>
HWY_API Vec128< float, NApproximateReciprocalSqrt (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< float, NSqrt (const Vec128< float, N > v)
 
template<typename T >
HWY_API Vec128< T > Not (const Vec128< T > v)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T, NNot (const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NAnd (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N, HWY_IF_NOT_FLOAT(T) >
HWY_API Vec128< T, NAndNot (const Vec128< T, N > not_mask, const Vec128< T, N > mask)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NOr (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NXor (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NOrAnd (Vec128< T, N > o, Vec128< T, N > a1, Vec128< T, N > a2)
 
template<typename T , size_t N>
HWY_API Vec128< T, NIfVecThenElse (Vec128< T, N > mask, Vec128< T, N > yes, Vec128< T, N > no)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator& (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator| (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator^ (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N, HWY_IF_NOT_FLOAT(T) >
HWY_API Vec128< T, NPopulationCount (Vec128< T, N > v)
 
HWY_API Vec128< int8_t > Abs (const Vec128< int8_t > v)
 
HWY_API Vec128< int16_t > Abs (const Vec128< int16_t > v)
 
HWY_API Vec128< int32_t > Abs (const Vec128< int32_t > v)
 
HWY_API Vec128< float > Abs (const Vec128< float > v)
 
template<size_t N, HWY_IF_LE64(int8_t, N) >
HWY_API Vec128< int8_t, NAbs (const Vec128< int8_t, N > v)
 
template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< int16_t, NAbs (const Vec128< int16_t, N > v)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, NAbs (const Vec128< int32_t, N > v)
 
template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128< float, NAbs (const Vec128< float, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NCopySign (const Vec128< T, N > magn, const Vec128< T, N > sign)
 
template<typename T , size_t N>
HWY_API Vec128< T, NCopySignToAbs (const Vec128< T, N > abs, const Vec128< T, N > sign)
 
template<typename T , size_t N, HWY_IF_SIGNED(T) >
HWY_API Vec128< T, NBroadcastSignBit (const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Mask128< T, NMaskFromVec (const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NVecFromMask (Simd< T, N, 0 > d, const Mask128< T, N > v)
 
template<typename TFrom , typename TTo , size_t N>
HWY_API Mask128< TTo, NRebindMask (Simd< TTo, N, 0 > dto, Mask128< TFrom, N > m)
 
template<typename T , size_t N>
HWY_API Vec128< T, NIfThenElseZero (const Mask128< T, N > mask, const Vec128< T, N > yes)
 
template<typename T , size_t N>
HWY_API Vec128< T, NIfThenZeroElse (const Mask128< T, N > mask, const Vec128< T, N > no)
 
template<typename T , size_t N>
HWY_API Vec128< T, NIfNegativeThenElse (Vec128< T, N > v, Vec128< T, N > yes, Vec128< T, N > no)
 
template<typename T , size_t N>
HWY_API Vec128< T, NZeroIfNegative (Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Mask128< T, NNot (const Mask128< T, N > m)
 
template<typename T , size_t N>
HWY_API Mask128< T, NAnd (const Mask128< T, N > a, Mask128< T, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, NAndNot (const Mask128< T, N > a, Mask128< T, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, NOr (const Mask128< T, N > a, Mask128< T, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, NXor (const Mask128< T, N > a, Mask128< T, N > b)
 
HWY_API Vec64< uint32_t > Shuffle2301 (const Vec64< uint32_t > v)
 
HWY_API Vec64< int32_t > Shuffle2301 (const Vec64< int32_t > v)
 
HWY_API Vec64< float > Shuffle2301 (const Vec64< float > v)
 
HWY_API Vec128< uint32_t > Shuffle2301 (const Vec128< uint32_t > v)
 
HWY_API Vec128< int32_t > Shuffle2301 (const Vec128< int32_t > v)
 
HWY_API Vec128< float > Shuffle2301 (const Vec128< float > v)
 
template<typename T , size_t N>
HWY_API Mask128< T, Noperator!= (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, Noperator> (Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, Noperator>= (Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, NFirstN (const Simd< T, N, 0 > d, size_t num)
 
template<size_t N>
HWY_API Mask128< uint64_t, NTestBit (Vec128< uint64_t, N > v, Vec128< uint64_t, N > bit)
 
template<size_t N>
HWY_API Mask128< int64_t, NTestBit (Vec128< int64_t, N > v, Vec128< int64_t, N > bit)
 
HWY_API Vec128< int64_t > Abs (const Vec128< int64_t > v)
 
HWY_API Vec64< int64_t > Abs (const Vec64< int64_t > v)
 
template<size_t N>
HWY_API Vec128< uint64_t, NMin (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b)
 
template<size_t N>
HWY_API Vec128< int64_t, NMin (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint64_t, NMax (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b)
 
template<size_t N>
HWY_API Vec128< int64_t, NMax (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b)
 
HWY_API Vec128< uint8_t > LoadU (Full128< uint8_t >, const uint8_t *HWY_RESTRICT unaligned)
 
HWY_API Vec128< uint16_t > LoadU (Full128< uint16_t >, const uint16_t *HWY_RESTRICT unaligned)
 
HWY_API Vec128< uint32_t > LoadU (Full128< uint32_t >, const uint32_t *HWY_RESTRICT unaligned)
 
HWY_API Vec128< uint64_t > LoadU (Full128< uint64_t >, const uint64_t *HWY_RESTRICT unaligned)
 
HWY_API Vec128< int8_t > LoadU (Full128< int8_t >, const int8_t *HWY_RESTRICT unaligned)
 
HWY_API Vec128< int16_t > LoadU (Full128< int16_t >, const int16_t *HWY_RESTRICT unaligned)
 
HWY_API Vec128< int32_t > LoadU (Full128< int32_t >, const int32_t *HWY_RESTRICT unaligned)
 
HWY_API Vec128< int64_t > LoadU (Full128< int64_t >, const int64_t *HWY_RESTRICT unaligned)
 
HWY_API Vec128< float > LoadU (Full128< float >, const float *HWY_RESTRICT unaligned)
 
HWY_API Vec64< uint8_t > LoadU (Full64< uint8_t >, const uint8_t *HWY_RESTRICT p)
 
HWY_API Vec64< uint16_t > LoadU (Full64< uint16_t >, const uint16_t *HWY_RESTRICT p)
 
HWY_API Vec64< uint32_t > LoadU (Full64< uint32_t >, const uint32_t *HWY_RESTRICT p)
 
HWY_API Vec64< uint64_t > LoadU (Full64< uint64_t >, const uint64_t *HWY_RESTRICT p)
 
HWY_API Vec64< int8_t > LoadU (Full64< int8_t >, const int8_t *HWY_RESTRICT p)
 
HWY_API Vec64< int16_t > LoadU (Full64< int16_t >, const int16_t *HWY_RESTRICT p)
 
HWY_API Vec64< int32_t > LoadU (Full64< int32_t >, const int32_t *HWY_RESTRICT p)
 
HWY_API Vec64< int64_t > LoadU (Full64< int64_t >, const int64_t *HWY_RESTRICT p)
 
HWY_API Vec64< float > LoadU (Full64< float >, const float *HWY_RESTRICT p)
 
HWY_API Vec32< uint8_t > LoadU (Full32< uint8_t >, const uint8_t *HWY_RESTRICT p)
 
HWY_API Vec32< uint16_t > LoadU (Full32< uint16_t >, const uint16_t *HWY_RESTRICT p)
 
HWY_API Vec32< uint32_t > LoadU (Full32< uint32_t >, const uint32_t *HWY_RESTRICT p)
 
HWY_API Vec32< int8_t > LoadU (Full32< int8_t >, const int8_t *HWY_RESTRICT p)
 
HWY_API Vec32< int16_t > LoadU (Full32< int16_t >, const int16_t *HWY_RESTRICT p)
 
HWY_API Vec32< int32_t > LoadU (Full32< int32_t >, const int32_t *HWY_RESTRICT p)
 
HWY_API Vec32< float > LoadU (Full32< float >, const float *HWY_RESTRICT p)
 
HWY_API Vec128< uint8_t, 2 > LoadU (Simd< uint8_t, 2, 0 >, const uint8_t *HWY_RESTRICT p)
 
HWY_API Vec128< uint16_t, 1 > LoadU (Simd< uint16_t, 1, 0 >, const uint16_t *HWY_RESTRICT p)
 
HWY_API Vec128< int8_t, 2 > LoadU (Simd< int8_t, 2, 0 >, const int8_t *HWY_RESTRICT p)
 
HWY_API Vec128< int16_t, 1 > LoadU (Simd< int16_t, 1, 0 >, const int16_t *HWY_RESTRICT p)
 
HWY_API Vec128< uint8_t, 1 > LoadU (Simd< uint8_t, 1, 0 >, const uint8_t *HWY_RESTRICT p)
 
HWY_API Vec128< int8_t, 1 > LoadU (Simd< int8_t, 1, 0 >, const int8_t *HWY_RESTRICT p)
 
template<size_t N>
HWY_API Vec128< float16_t, NLoadU (Simd< float16_t, N, 0 > d, const float16_t *HWY_RESTRICT p)
 
template<size_t N>
HWY_API Vec128< bfloat16_t, NLoadU (Simd< bfloat16_t, N, 0 > d, const bfloat16_t *HWY_RESTRICT p)
 
template<typename T , size_t N>
HWY_API Vec128< T, NLoad (Simd< T, N, 0 > d, const T *HWY_RESTRICT p)
 
template<typename T , size_t N>
HWY_API Vec128< T, NMaskedLoad (Mask128< T, N > m, Simd< T, N, 0 > d, const T *HWY_RESTRICT aligned)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Vec128< T, NLoadDup128 (Simd< T, N, 0 > d, const T *const HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec128< uint8_t > v, Full128< uint8_t >, uint8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec128< uint16_t > v, Full128< uint16_t >, uint16_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec128< uint32_t > v, Full128< uint32_t >, uint32_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec128< uint64_t > v, Full128< uint64_t >, uint64_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec128< int8_t > v, Full128< int8_t >, int8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec128< int16_t > v, Full128< int16_t >, int16_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec128< int32_t > v, Full128< int32_t >, int32_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec128< int64_t > v, Full128< int64_t >, int64_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec128< float > v, Full128< float >, float *HWY_RESTRICT unaligned)
 
HWY_API void StoreU (const Vec64< uint8_t > v, Full64< uint8_t >, uint8_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec64< uint16_t > v, Full64< uint16_t >, uint16_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec64< uint32_t > v, Full64< uint32_t >, uint32_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec64< uint64_t > v, Full64< uint64_t >, uint64_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec64< int8_t > v, Full64< int8_t >, int8_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec64< int16_t > v, Full64< int16_t >, int16_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec64< int32_t > v, Full64< int32_t >, int32_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec64< int64_t > v, Full64< int64_t >, int64_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec64< float > v, Full64< float >, float *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec32< uint8_t > v, Full32< uint8_t >, uint8_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec32< uint16_t > v, Full32< uint16_t >, uint16_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec32< uint32_t > v, Full32< uint32_t >, uint32_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec32< int8_t > v, Full32< int8_t >, int8_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec32< int16_t > v, Full32< int16_t >, int16_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec32< int32_t > v, Full32< int32_t >, int32_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec32< float > v, Full32< float >, float *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec128< uint8_t, 2 > v, Simd< uint8_t, 2, 0 >, uint8_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec128< uint16_t, 1 > v, Simd< uint16_t, 1, 0 >, uint16_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec128< int8_t, 2 > v, Simd< int8_t, 2, 0 >, int8_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec128< int16_t, 1 > v, Simd< int16_t, 1, 0 >, int16_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec128< uint8_t, 1 > v, Simd< uint8_t, 1, 0 >, uint8_t *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec128< int8_t, 1 > v, Simd< int8_t, 1, 0 >, int8_t *HWY_RESTRICT p)
 
template<size_t N>
HWY_API void StoreU (Vec128< float16_t, N > v, Simd< float16_t, N, 0 > d, float16_t *HWY_RESTRICT p)
 
template<size_t N>
HWY_API void StoreU (Vec128< bfloat16_t, N > v, Simd< bfloat16_t, N, 0 > d, bfloat16_t *HWY_RESTRICT p)
 
template<typename T , size_t N>
HWY_API void Store (Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT aligned)
 
template<typename T , size_t N>
HWY_API void BlendedStore (Vec128< T, N > v, Mask128< T, N > m, Simd< T, N, 0 > d, T *HWY_RESTRICT p)
 
template<typename T , size_t N>
HWY_API void Stream (const Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT aligned)
 
HWY_API Vec128< uint16_t > PromoteTo (Full128< uint16_t >, const Vec64< uint8_t > v)
 
HWY_API Vec128< uint32_t > PromoteTo (Full128< uint32_t >, const Vec32< uint8_t > v)
 
HWY_API Vec128< uint32_t > PromoteTo (Full128< uint32_t >, const Vec64< uint16_t > v)
 
HWY_API Vec128< uint64_t > PromoteTo (Full128< uint64_t >, const Vec64< uint32_t > v)
 
HWY_API Vec128< int16_t > PromoteTo (Full128< int16_t > d, const Vec64< uint8_t > v)
 
HWY_API Vec128< int32_t > PromoteTo (Full128< int32_t > d, const Vec32< uint8_t > v)
 
HWY_API Vec128< int32_t > PromoteTo (Full128< int32_t > d, const Vec64< uint16_t > v)
 
template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128< uint16_t, NPromoteTo (Simd< uint16_t, N, 0 >, const Vec128< uint8_t, N > v)
 
template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< uint32_t, NPromoteTo (Simd< uint32_t, N, 0 >, const Vec128< uint8_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint32_t, NPromoteTo (Simd< uint32_t, N, 0 >, const Vec128< uint16_t, N > v)
 
template<size_t N, HWY_IF_LE64(uint64_t, N) >
HWY_API Vec128< uint64_t, NPromoteTo (Simd< uint64_t, N, 0 >, const Vec128< uint32_t, N > v)
 
template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< int16_t, NPromoteTo (Simd< int16_t, N, 0 > d, const Vec128< uint8_t, N > v)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 >, const Vec128< uint8_t, N > v)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 >, const Vec128< uint16_t, N > v)
 
HWY_API Vec128< int16_t > PromoteTo (Full128< int16_t >, const Vec64< int8_t > v)
 
HWY_API Vec128< int32_t > PromoteTo (Full128< int32_t >, const Vec32< int8_t > v)
 
HWY_API Vec128< int32_t > PromoteTo (Full128< int32_t >, const Vec64< int16_t > v)
 
HWY_API Vec128< int64_t > PromoteTo (Full128< int64_t >, const Vec64< int32_t > v)
 
template<size_t N>
HWY_API Vec128< int16_t, NPromoteTo (Simd< int16_t, N, 0 >, const Vec128< int8_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 >, const Vec128< int8_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 >, const Vec128< int16_t, N > v)
 
template<size_t N>
HWY_API Vec128< int64_t, NPromoteTo (Simd< int64_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< float, NPromoteTo (Simd< float, N, 0 > df32, const Vec128< float16_t, N > v)
 
HWY_API Vec64< uint16_t > DemoteTo (Full64< uint16_t >, const Vec128< int32_t > v)
 
HWY_API Vec64< int16_t > DemoteTo (Full64< int16_t >, const Vec128< int32_t > v)
 
HWY_API Vec32< uint8_t > DemoteTo (Full32< uint8_t >, const Vec128< int32_t > v)
 
HWY_API Vec64< uint8_t > DemoteTo (Full64< uint8_t >, const Vec128< int16_t > v)
 
HWY_API Vec32< int8_t > DemoteTo (Full32< int8_t >, const Vec128< int32_t > v)
 
HWY_API Vec64< int8_t > DemoteTo (Full64< int8_t >, const Vec128< int16_t > v)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< uint16_t, NDemoteTo (Simd< uint16_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int16_t, NDemoteTo (Simd< int16_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< uint8_t, NDemoteTo (Simd< uint8_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< uint8_t, NDemoteTo (Simd< uint8_t, N, 0 >, const Vec128< int16_t, N > v)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int8_t, NDemoteTo (Simd< int8_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< int8_t, NDemoteTo (Simd< int8_t, N, 0 >, const Vec128< int16_t, N > v)
 
template<size_t N>
HWY_API Vec128< float16_t, NDemoteTo (Simd< float16_t, N, 0 > df16, const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< bfloat16_t, NDemoteTo (Simd< bfloat16_t, N, 0 > dbf16, const Vec128< float, N > v)
 
HWY_API Vec32< uint8_t > U8FromU32 (const Vec128< uint32_t > v)
 
template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< uint8_t, NU8FromU32 (const Vec128< uint32_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint8_t, NDemoteTo (Simd< uint8_t, N, 0 >, const Vec128< int32_t > v)
 
template<size_t N>
HWY_API Vec128< int8_t, NDemoteTo (Simd< int8_t, N, 0 >, const Vec128< int32_t > v)
 
HWY_API Vec128< float > ConvertTo (Full128< float >, const Vec128< int32_t > v)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< float, NConvertTo (Simd< float, N, 0 >, const Vec128< int32_t, N > v)
 
HWY_API Vec128< int32_t > ConvertTo (Full128< int32_t >, const Vec128< float > v)
 
template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128< int32_t, NConvertTo (Simd< int32_t, N, 0 >, const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< float, NTrunc (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< float, NRound (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< float, NCeil (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< float, NFloor (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NNearestInt (const Vec128< float, N > v)
 
template<typename T , size_t N, HWY_IF_LE64(uint8_t, N) >
HWY_API Vec128< T, N/2 > LowerHalf (const Vec128< T, N > v)
 
HWY_API Vec64< uint8_t > LowerHalf (const Vec128< uint8_t > v)
 
HWY_API Vec64< uint16_t > LowerHalf (const Vec128< uint16_t > v)
 
HWY_API Vec64< uint32_t > LowerHalf (const Vec128< uint32_t > v)
 
HWY_API Vec64< uint64_t > LowerHalf (const Vec128< uint64_t > v)
 
HWY_API Vec64< int8_t > LowerHalf (const Vec128< int8_t > v)
 
HWY_API Vec64< int16_t > LowerHalf (const Vec128< int16_t > v)
 
HWY_API Vec64< int32_t > LowerHalf (const Vec128< int32_t > v)
 
HWY_API Vec64< int64_t > LowerHalf (const Vec128< int64_t > v)
 
HWY_API Vec64< float > LowerHalf (const Vec128< float > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, N/2 > LowerHalf (Simd< T, N/2, 0 >, Vec128< T, N > v)
 
template<int kBytes, typename T , class V128 = Vec128<T>>
HWY_API V128 CombineShiftRightBytes (Full128< T > d, V128 hi, V128 lo)
 
template<int kBytes, typename T >
HWY_API Vec64< T > CombineShiftRightBytes (Full64< T > d, Vec64< T > hi, Vec64< T > lo)
 
template<int kBytes, typename T , size_t N>
HWY_API Vec128< T, NShiftLeftBytes (Simd< T, N, 0 >, Vec128< T, N > v)
 
template<int kBytes, typename T , size_t N>
HWY_API Vec128< T, NShiftLeftBytes (const Vec128< T, N > v)
 
template<int kLanes, typename T , size_t N>
HWY_API Vec128< T, NShiftLeftLanes (Simd< T, N, 0 > d, const Vec128< T, N > v)
 
template<int kLanes, typename T , size_t N>
HWY_API Vec128< T, NShiftLeftLanes (const Vec128< T, N > v)
 
template<int kBytes, typename T , size_t N>
HWY_API Vec128< T, NShiftRightBytes (Simd< T, N, 0 >, Vec128< T, N > v)
 
template<int kLanes, typename T , size_t N>
HWY_API Vec128< T, NShiftRightLanes (Simd< T, N, 0 > d, const Vec128< T, N > v)
 
template<int kBytes, typename T , size_t N, HWY_IF_LE32(T, N) >
HWY_API Vec128< T, NCombineShiftRightBytes (Simd< T, N, 0 > d, Vec128< T, N > hi, Vec128< T, N > lo)
 
HWY_API Vec64< uint8_t > UpperHalf (Full64< uint8_t >, const Vec128< uint8_t > v)
 
HWY_API Vec64< uint16_t > UpperHalf (Full64< uint16_t >, const Vec128< uint16_t > v)
 
HWY_API Vec64< uint32_t > UpperHalf (Full64< uint32_t >, const Vec128< uint32_t > v)
 
HWY_API Vec64< uint64_t > UpperHalf (Full64< uint64_t >, const Vec128< uint64_t > v)
 
HWY_API Vec64< int8_t > UpperHalf (Full64< int8_t >, const Vec128< int8_t > v)
 
HWY_API Vec64< int16_t > UpperHalf (Full64< int16_t >, const Vec128< int16_t > v)
 
HWY_API Vec64< int32_t > UpperHalf (Full64< int32_t >, const Vec128< int32_t > v)
 
HWY_API Vec64< int64_t > UpperHalf (Full64< int64_t >, const Vec128< int64_t > v)
 
HWY_API Vec64< float > UpperHalf (Full64< float >, const Vec128< float > v)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T,(N+1)/2 > UpperHalf (Half< Simd< T, N, 0 >>, Vec128< T, N > v)
 
template<int kLane>
HWY_API Vec128< uint16_t > Broadcast (const Vec128< uint16_t > v)
 
template<int kLane, size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128< uint16_t, NBroadcast (const Vec128< uint16_t, N > v)
 
template<int kLane>
HWY_API Vec128< uint32_t > Broadcast (const Vec128< uint32_t > v)
 
template<int kLane, size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< uint32_t, NBroadcast (const Vec128< uint32_t, N > v)
 
template<int kLane>
HWY_API Vec128< uint64_t > Broadcast (const Vec128< uint64_t > v)
 
template<int kLane>
HWY_API Vec128< int16_t > Broadcast (const Vec128< int16_t > v)
 
template<int kLane, size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128< int16_t, NBroadcast (const Vec128< int16_t, N > v)
 
template<int kLane>
HWY_API Vec128< int32_t > Broadcast (const Vec128< int32_t > v)
 
template<int kLane, size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, NBroadcast (const Vec128< int32_t, N > v)
 
template<int kLane>
HWY_API Vec128< int64_t > Broadcast (const Vec128< int64_t > v)
 
template<int kLane>
HWY_API Vec128< float > Broadcast (const Vec128< float > v)
 
template<int kLane, size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128< float, NBroadcast (const Vec128< float, N > v)
 
template<int kLane>
HWY_API Vec64< uint64_t > Broadcast (const Vec64< uint64_t > v)
 
template<int kLane>
HWY_API Vec64< int64_t > Broadcast (const Vec64< int64_t > v)
 
template<typename T , size_t N, typename TI , HWY_IF_LE128(T, N) >
HWY_API Indices128< T, NIndicesFromVec (Simd< T, N, 0 > d, Vec128< TI, N > vec)
 
template<typename T , size_t N, typename TI , HWY_IF_LE128(T, N) >
HWY_API Indices128< T, NSetTableIndices (Simd< T, N, 0 > d, const TI *idx)
 
template<typename T , size_t N>
HWY_API Vec128< T, NTableLookupLanes (Vec128< T, N > v, Indices128< T, N > idx)
 
template<typename T >
HWY_API Vec128< T, 1 > Reverse (Simd< T, 1, 0 >, const Vec128< T, 1 > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, 2 > Reverse (Simd< T, 2, 0 >, const Vec128< T, 2 > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > Reverse (Full128< T >, const Vec128< T > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, NReverse (Simd< T, N, 0 > d, const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) , HWY_IF_LE64(T, N) >
HWY_API Vec128< T, NReverse2 (Simd< T, N, 0 > d, const Vec128< T, N > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T > Reverse2 (Full128< T > d, const Vec128< T > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T, NReverse2 (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) , HWY_IF_LE64(T, N) >
HWY_API Vec128< T, NReverse4 (Simd< T, N, 0 > d, const Vec128< T, N > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T > Reverse4 (Full128< T > d, const Vec128< T > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, NReverse4 (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, NReverse8 (Simd< T, N, 0 > d, const Vec128< T, N > v)
 
template<typename T >
HWY_API Vec128< T > Shuffle1032 (const Vec128< T > v)
 
template<typename T >
HWY_API Vec128< T > Shuffle01 (const Vec128< T > v)
 
template<typename T >
HWY_API Vec128< T > Shuffle0321 (const Vec128< T > v)
 
template<typename T >
HWY_API Vec128< T > Shuffle2103 (const Vec128< T > v)
 
template<typename T >
HWY_API Vec128< T > Shuffle0123 (const Vec128< T > v)
 
HWY_API Vec128< uint64_t > InterleaveLower (const Vec128< uint64_t > a, const Vec128< uint64_t > b)
 
HWY_API Vec128< int64_t > InterleaveLower (const Vec128< int64_t > a, const Vec128< int64_t > b)
 
HWY_API Vec128< float > InterleaveLower (const Vec128< float > a, const Vec128< float > b)
 
template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128< float, NInterleaveLower (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<typename T , size_t N, HWY_IF_LE32(T, N) >
HWY_API Vec128< T, NInterleaveLower (Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N, class V = Vec128<T, N>>
HWY_APIInterleaveLower (Simd< T, N, 0 >, V a, V b)
 
template<typename T , size_t N, HWY_IF_GE64(T, N) , class V = Vec128<T, N>>
HWY_APIInterleaveUpper (Simd< T, N, 0 >, V a, V b)
 
template<class V , class DW = RepartitionToWide<DFromV<V>>>
HWY_API VFromD< DW > ZipLower (V a, V b)
 
template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > ZipLower (DW dw, V a, V b)
 
template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > ZipUpper (DW dw, V a, V b)
 
template<size_t N>
HWY_API Vec128< float, NReorderWidenMulAccumulate (Simd< float, N, 0 > df32, Vec128< bfloat16_t, 2 *N > a, Vec128< bfloat16_t, 2 *N > b, const Vec128< float, N > sum0, Vec128< float, N > &sum1)
 
HWY_API Vec128< uint8_t > Combine (Full128< uint8_t >, Vec64< uint8_t > hi, Vec64< uint8_t > lo)
 
HWY_API Vec128< uint16_t > Combine (Full128< uint16_t >, Vec64< uint16_t > hi, Vec64< uint16_t > lo)
 
HWY_API Vec128< uint32_t > Combine (Full128< uint32_t >, Vec64< uint32_t > hi, Vec64< uint32_t > lo)
 
HWY_API Vec128< uint64_t > Combine (Full128< uint64_t >, Vec64< uint64_t > hi, Vec64< uint64_t > lo)
 
HWY_API Vec128< int8_t > Combine (Full128< int8_t >, Vec64< int8_t > hi, Vec64< int8_t > lo)
 
HWY_API Vec128< int16_t > Combine (Full128< int16_t >, Vec64< int16_t > hi, Vec64< int16_t > lo)
 
HWY_API Vec128< int32_t > Combine (Full128< int32_t >, Vec64< int32_t > hi, Vec64< int32_t > lo)
 
HWY_API Vec128< int64_t > Combine (Full128< int64_t >, Vec64< int64_t > hi, Vec64< int64_t > lo)
 
HWY_API Vec128< float > Combine (Full128< float >, Vec64< float > hi, Vec64< float > lo)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T, NCombine (Simd< T, N, 0 > d, Vec128< T, N/2 > hi, Vec128< T, N/2 > lo)
 
template<typename T , size_t N>
HWY_API Vec128< T, NZeroExtendVector (Simd< T, N, 0 > d, Vec128< T, N/2 > lo)
 
template<typename T , size_t N, HWY_IF_GE64(T, N) >
HWY_API Vec128< T, NConcatLowerLower (const Simd< T, N, 0 > d, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , size_t N, HWY_IF_GE64(T, N) >
HWY_API Vec128< T, NConcatUpperUpper (const Simd< T, N, 0 > d, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , size_t N, HWY_IF_GE64(T, N) >
HWY_API Vec128< T, NConcatLowerUpper (const Simd< T, N, 0 > d, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , size_t N>
HWY_API Vec128< T, NConcatUpperLower (Simd< T, N, 0 > d, Vec128< T, N > hi, Vec128< T, N > lo)
 
HWY_API Vec128< uint32_t > ConcatOdd (Full128< uint32_t >, Vec128< uint32_t > hi, Vec128< uint32_t > lo)
 
HWY_API Vec128< int32_t > ConcatOdd (Full128< int32_t >, Vec128< int32_t > hi, Vec128< int32_t > lo)
 
HWY_API Vec128< float > ConcatOdd (Full128< float >, Vec128< float > hi, Vec128< float > lo)
 
template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< uint32_t, NConcatOdd (Simd< uint32_t, N, 0 >, Vec128< uint32_t, N > hi, Vec128< uint32_t, N > lo)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, NConcatOdd (Simd< int32_t, N, 0 >, Vec128< int32_t, N > hi, Vec128< int32_t, N > lo)
 
template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128< float, NConcatOdd (Simd< float, N, 0 >, Vec128< float, N > hi, Vec128< float, N > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > ConcatOdd (Full128< T > d, Vec128< T > hi, Vec128< T > lo)
 
HWY_API Vec128< uint32_t > ConcatEven (Full128< uint32_t >, Vec128< uint32_t > hi, Vec128< uint32_t > lo)
 
HWY_API Vec128< int32_t > ConcatEven (Full128< int32_t >, Vec128< int32_t > hi, Vec128< int32_t > lo)
 
HWY_API Vec128< float > ConcatEven (Full128< float >, Vec128< float > hi, Vec128< float > lo)
 
template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< uint32_t, NConcatEven (Simd< uint32_t, N, 0 >, Vec128< uint32_t, N > hi, Vec128< uint32_t, N > lo)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int32_t, NConcatEven (Simd< int32_t, N, 0 >, Vec128< int32_t, N > hi, Vec128< int32_t, N > lo)
 
template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128< float, NConcatEven (Simd< float, N, 0 >, Vec128< float, N > hi, Vec128< float, N > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > ConcatEven (Full128< T > d, Vec128< T > hi, Vec128< T > lo)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, NDupEven (Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, NDupOdd (Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NOddEven (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NOddEvenBlocks (Vec128< T, N >, Vec128< T, N > even)
 
template<typename T , size_t N>
HWY_API Vec128< T, NSwapAdjacentBlocks (Vec128< T, N > v)
 
template<typename T >
HWY_API Vec128< T > ReverseBlocks (Full128< T >, const Vec128< T > v)
 
template<size_t N>
HWY_API Vec128< bfloat16_t, 2 *NReorderDemote2To (Simd< bfloat16_t, 2 *N, 0 > dbf16, Vec128< float, N > a, Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< float, NPromoteTo (Simd< float, N, 0 > df32, const Vec128< bfloat16_t, N > v)
 
HWY_API Vec128< int64_t > MulEven (Vec128< int32_t > a, Vec128< int32_t > b)
 
HWY_API Vec128< uint64_t > MulEven (Vec128< uint32_t > a, Vec128< uint32_t > b)
 
template<size_t N>
HWY_API Vec128< int64_t,(N+1)/2 > MulEven (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint64_t,(N+1)/2 > MulEven (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
HWY_INLINE Vec128< uint64_t > MulEven (Vec128< uint64_t > a, Vec128< uint64_t > b)
 
HWY_INLINE Vec128< uint64_t > MulOdd (Vec128< uint64_t > a, Vec128< uint64_t > b)
 
template<typename T , typename TI >
HWY_API Vec128< TI > TableLookupBytes (const Vec128< T > bytes, const Vec128< TI > from)
 
template<typename T , typename TI , size_t NI, HWY_IF_LE64(TI, NI) >
HWY_API Vec128< TI, NI > TableLookupBytes (const Vec128< T > bytes, const Vec128< TI, NI > from)
 
template<typename T , size_t N, typename TI , HWY_IF_LE64(T, N) >
HWY_API Vec128< TI > TableLookupBytes (const Vec128< T, N > bytes, const Vec128< TI > from)
 
template<typename T , size_t N, typename TI , size_t NI, HWY_IF_LE64(T, N) , HWY_IF_LE64(TI, NI) >
HWY_API VFromD< Repartition< T, Simd< TI, NI, 0 > > > TableLookupBytes (Vec128< T, N > bytes, Vec128< TI, NI > from)
 
template<class V , class VI >
HWY_API VI TableLookupBytesOr0 (const V bytes, const VI from)
 
template<typename T , size_t N, typename Offset , HWY_IF_LE128(T, N) >
HWY_API void ScatterOffset (Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT base, const Vec128< Offset, N > offset)
 
template<typename T , size_t N, typename Index , HWY_IF_LE128(T, N) >
HWY_API void ScatterIndex (Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT base, const Vec128< Index, N > index)
 
template<typename T , size_t N, typename Offset >
HWY_API Vec128< T, NGatherOffset (const Simd< T, N, 0 > d, const T *HWY_RESTRICT base, const Vec128< Offset, N > offset)
 
template<typename T , size_t N, typename Index >
HWY_API Vec128< T, NGatherIndex (const Simd< T, N, 0 > d, const T *HWY_RESTRICT base, const Vec128< Index, N > index)
 
template<typename T , size_t N>
HWY_API Vec128< T, NSumOfLanes (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NMinOfLanes (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NMaxOfLanes (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Mask128< T, NLoadMaskBits (Simd< T, N, 0 > d, const uint8_t *HWY_RESTRICT bits)
 
template<typename T >
HWY_API size_t CountTrue (Full128< T >, const Mask128< T > mask)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API size_t CountTrue (Simd< T, N, 0 >, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_API intptr_t FindFirstTrue (const Simd< T, N, 0 >, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_API size_t StoreMaskBits (Simd< T, N, 0 >, const Mask128< T, N > mask, uint8_t *bits)
 
template<typename T >
HWY_API bool AllFalse (const Full128< T > d, const Mask128< T > m)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API bool AllFalse (const Simd< T, N, 0 >, const Mask128< T, N > m)
 
template<typename T , size_t N>
HWY_API bool AllTrue (const Simd< T, N, 0 > d, const Mask128< T, N > m)
 
template<typename T , size_t N>
HWY_API Vec128< T, NCompress (Vec128< T, N > v, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_INLINE Vec128< T, NCompressBits (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits)
 
template<typename T , size_t N>
HWY_API size_t CompressStore (Vec128< T, N > v, const Mask128< T, N > mask, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N>
HWY_API size_t CompressBlendedStore (Vec128< T, N > v, Mask128< T, N > m, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N>
HWY_API size_t CompressBitsStore (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved3 (const Vec128< uint8_t > v0, const Vec128< uint8_t > v1, const Vec128< uint8_t > v2, Full128< uint8_t >, uint8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved3 (const Vec64< uint8_t > v0, const Vec64< uint8_t > v1, const Vec64< uint8_t > v2, Full64< uint8_t >, uint8_t *HWY_RESTRICT unaligned)
 
template<size_t N, HWY_IF_LE32(uint8_t, N) >
HWY_API void StoreInterleaved3 (const Vec128< uint8_t, N > v0, const Vec128< uint8_t, N > v1, const Vec128< uint8_t, N > v2, Simd< uint8_t, N, 0 >, uint8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved4 (const Vec128< uint8_t > v0, const Vec128< uint8_t > v1, const Vec128< uint8_t > v2, const Vec128< uint8_t > v3, Full128< uint8_t >, uint8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved4 (const Vec64< uint8_t > v0, const Vec64< uint8_t > v1, const Vec64< uint8_t > v2, const Vec64< uint8_t > v3, Full64< uint8_t >, uint8_t *HWY_RESTRICT unaligned)
 
template<size_t N, HWY_IF_LE32(uint8_t, N) >
HWY_API void StoreInterleaved4 (const Vec128< uint8_t, N > v0, const Vec128< uint8_t, N > v1, const Vec128< uint8_t, N > v2, const Vec128< uint8_t, N > v3, Simd< uint8_t, N, 0 >, uint8_t *HWY_RESTRICT unaligned)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, NLt128 (Simd< T, N, 0 > d, Vec128< T, N > a, Vec128< T, N > b)
 
template<class D >
HWY_INLINE VFromD< D > Min128 (D d, const VFromD< D > a, const VFromD< D > b)
 
template<class D >
HWY_INLINE VFromD< D > Max128 (D d, const VFromD< D > a, const VFromD< D > b)
 
template<class V >
HWY_APIAdd (V a, V b)
 
template<class V >
HWY_APISub (V a, V b)
 
template<class V >
HWY_APIMul (V a, V b)
 
template<class V >
HWY_APIDiv (V a, V b)
 
template<class V >
Shl (V a, V b)
 
template<class V >
Shr (V a, V b)
 
template<class V >
HWY_API auto Eq (V a, V b) -> decltype(a==b)
 
template<class V >
HWY_API auto Ne (V a, V b) -> decltype(a==b)
 
template<class V >
HWY_API auto Lt (V a, V b) -> decltype(a==b)
 
template<class V >
HWY_API auto Gt (V a, V b) -> decltype(a==b)
 
template<class V >
HWY_API auto Ge (V a, V b) -> decltype(a==b)
 
template<class V >
HWY_API auto Le (V a, V b) -> decltype(a==b)
 
template<typename T , size_t N, int kPow2>
HWY_API size_t Lanes (Simd< T, N, kPow2 > d)
 
template<size_t N, int kPow2>
svuint16_t Set (Simd< bfloat16_t, N, kPow2 > d, bfloat16_t arg)
 
template<class D >
VFromD< D > Zero (D d)
 
template<class D , class FromV >
HWY_API VFromD< D > BitCast (D d, FromV v)
 
template<class V , HWY_IF_FLOAT_V(V) >
HWY_APIAnd (const V a, const V b)
 
template<class V , HWY_IF_FLOAT_V(V) >
HWY_APIOr (const V a, const V b)
 
template<class V , HWY_IF_FLOAT_V(V) >
HWY_APIXor (const V a, const V b)
 
template<class V , HWY_IF_FLOAT_V(V) >
HWY_APIAndNot (const V a, const V b)
 
template<class V >
HWY_APIOrAnd (const V o, const V a1, const V a2)
 
template<class V >
HWY_APICopySign (const V magn, const V sign)
 
template<class V >
HWY_APICopySignToAbs (const V abs, const V sign)
 
HWY_API svuint64_t SumsOf8 (const svuint8_t v)
 
template<int kBits, class V >
HWY_APIRotateRight (const V v)
 
HWY_API svint16_t MulFixedPoint15 (svint16_t a, svint16_t b)
 
template<class D , typename MFrom >
HWY_API svbool_t RebindMask (const D, const MFrom mask)
 
HWY_API svbool_t Not (svbool_t m)
 
HWY_API svbool_t And (svbool_t a, svbool_t b)
 
HWY_API svbool_t AndNot (svbool_t a, svbool_t b)
 
HWY_API svbool_t Or (svbool_t a, svbool_t b)
 
HWY_API svbool_t Xor (svbool_t a, svbool_t b)
 
template<class D >
HWY_API bool AllFalse (D d, svbool_t m)
 
template<class D >
HWY_API bool AllTrue (D d, svbool_t m)
 
template<class D >
HWY_API intptr_t FindFirstTrue (D d, svbool_t m)
 
template<class M , class V >
HWY_APIIfThenElseZero (const M mask, const V yes)
 
template<class M , class V >
HWY_APIIfThenZeroElse (const M mask, const V no)
 
template<class V >
HWY_API svbool_t Gt (const V a, const V b)
 
template<class V >
HWY_API svbool_t Ge (const V a, const V b)
 
template<class V >
HWY_API svbool_t TestBit (const V a, const V bit)
 
template<class V >
HWY_API svbool_t MaskFromVec (const V v)
 
template<class D , HWY_IF_NOT_FLOAT_D(D) >
HWY_API VFromD< D > VecFromMask (const D d, svbool_t mask)
 
template<class V >
HWY_APIIfVecThenElse (const V mask, const V yes, const V no)
 
template<size_t N, int kPow2>
HWY_API svuint16_t Load (Simd< bfloat16_t, N, kPow2 > d, const bfloat16_t *HWY_RESTRICT p)
 
template<size_t N, int kPow2>
HWY_API void Store (svuint16_t v, Simd< bfloat16_t, N, kPow2 > d, bfloat16_t *HWY_RESTRICT p)
 
template<class D >
HWY_API VFromD< D > LoadU (D d, const TFromD< D > *HWY_RESTRICT p)
 
template<class V , class D >
HWY_API void StoreU (const V v, D d, TFromD< D > *HWY_RESTRICT p)
 
template<size_t N, int kPow2>
HWY_API svuint32_t PromoteTo (Simd< uint32_t, N, kPow2 > dto, svuint8_t vfrom)
 
template<size_t N, int kPow2>
HWY_API svint32_t PromoteTo (Simd< int32_t, N, kPow2 > dto, svint8_t vfrom)
 
template<size_t N, int kPow2>
HWY_API svint16_t PromoteTo (Simd< int16_t, N, kPow2 > dto, svuint8_t vfrom)
 
template<size_t N, int kPow2>
HWY_API svint32_t PromoteTo (Simd< int32_t, N, kPow2 > dto, svuint16_t vfrom)
 
template<size_t N, int kPow2>
HWY_API svint32_t PromoteTo (Simd< int32_t, N, kPow2 > dto, svuint8_t vfrom)
 
template<size_t N, int kPow2>
HWY_API svfloat32_t PromoteTo (Simd< float32_t, N, kPow2 >, const svfloat16_t v)
 
template<size_t N, int kPow2>
HWY_API svfloat64_t PromoteTo (Simd< float64_t, N, kPow2 >, const svfloat32_t v)
 
template<size_t N, int kPow2>
HWY_API svfloat64_t PromoteTo (Simd< float64_t, N, kPow2 >, const svint32_t v)
 
template<size_t N, int kPow2>
HWY_API svuint8_t DemoteTo (Simd< uint8_t, N, kPow2 > dn, const svint16_t v)
 
template<size_t N, int kPow2>
HWY_API svuint16_t DemoteTo (Simd< uint16_t, N, kPow2 > dn, const svint32_t v)
 
template<size_t N, int kPow2>
HWY_API svuint8_t DemoteTo (Simd< uint8_t, N, kPow2 > dn, const svint32_t v)
 
HWY_API svuint8_t U8FromU32 (const svuint32_t v)
 
template<size_t N, int kPow2>
HWY_API svint8_t DemoteTo (Simd< int8_t, N, kPow2 > dn, const svint16_t v)
 
template<size_t N, int kPow2>
HWY_API svint16_t DemoteTo (Simd< int16_t, N, kPow2 > dn, const svint32_t v)
 
template<size_t N, int kPow2>
HWY_API svint8_t DemoteTo (Simd< int8_t, N, kPow2 > dn, const svint32_t v)
 
template<class D >
HWY_API VFromD< D > ConcatOdd (D d, VFromD< D > hi, VFromD< D > lo)
 
template<class D >
HWY_API VFromD< D > ConcatEven (D d, VFromD< D > hi, VFromD< D > lo)
 
template<size_t N, int kPow2>
HWY_API svfloat16_t DemoteTo (Simd< float16_t, N, kPow2 > d, const svfloat32_t v)
 
template<size_t N, int kPow2>
HWY_API svuint16_t DemoteTo (Simd< bfloat16_t, N, kPow2 >, svfloat32_t v)
 
template<size_t N, int kPow2>
HWY_API svfloat32_t DemoteTo (Simd< float32_t, N, kPow2 > d, const svfloat64_t v)
 
template<size_t N, int kPow2>
HWY_API svint32_t DemoteTo (Simd< int32_t, N, kPow2 > d, const svfloat64_t v)
 
template<class VF , class DI = RebindToSigned<DFromV<VF>>>
HWY_API VFromD< DI > NearestInt (VF v)
 
template<class D , HWY_IF_FLOAT_D(D) >
HWY_API VFromD< D > Iota (const D d, TFromD< D > first)
 
template<class D , class V >
HWY_APIConcatUpperLower (const D d, const V hi, const V lo)
 
template<class D , class V >
HWY_APIConcatLowerLower (const D d, const V hi, const V lo)
 
template<class D , class V >
HWY_APIConcatLowerUpper (const D d, const V hi, const V lo)
 
template<class D , class V >
HWY_APIConcatUpperUpper (const D d, const V hi, const V lo)
 
template<class D , class V2 >
HWY_API VFromD< D > Combine (const D d, const V2 hi, const V2 lo)
 
template<class D , class V >
HWY_APIZeroExtendVector (const D d, const V lo)
 
template<class D2 , class V >
HWY_APILowerHalf (D2, const V v)
 
template<class V >
HWY_APILowerHalf (const V v)
 
template<class D2 , class V >
HWY_APIUpperHalf (const D2, const V v)
 
template<class V >
HWY_APIDupEven (const V v)
 
template<class V >
HWY_APIDupOdd (const V v)
 
template<class V >
HWY_APIOddEven (const V odd, const V even)
 
template<class V >
HWY_APIOddEvenBlocks (const V odd, const V even)
 
template<class D , class VI >
HWY_API VFromD< RebindToUnsigned< D > > IndicesFromVec (D d, VI vec)
 
template<class D , typename TI >
HWY_API VFromD< RebindToUnsigned< D > > SetTableIndices (D d, const TI *idx)
 
template<class V >
HWY_APISwapAdjacentBlocks (const V v)
 
template<class D , HWY_IF_LANE_SIZE_D(D, 2) >
HWY_API VFromD< D > Reverse2 (D d, const VFromD< D > v)
 
template<class D >
HWY_API VFromD< D > Reverse4 (D d, const VFromD< D > v)
 
template<class D >
HWY_API VFromD< D > Reverse8 (D d, const VFromD< D > v)
 
template<class V , HWY_IF_LANE_SIZE_V(V, 2) >
HWY_APICompress (V v, svbool_t mask16)
 
HWY_API svfloat16_t Compress (svfloat16_t v, svbool_t mask16)
 
template<class V , class M , class D >
HWY_API size_t CompressStore (const V v, const M mask, const D d, TFromD< D > *HWY_RESTRICT unaligned)
 
template<class V , class M , class D >
HWY_API size_t CompressBlendedStore (const V v, const M mask, const D d, TFromD< D > *HWY_RESTRICT unaligned)
 
template<size_t kBytes, class D , class V = VFromD<D>>
HWY_APICombineShiftRightBytes (const D d, const V hi, const V lo)
 
template<class V >
HWY_APIShuffle2301 (const V v)
 
template<class V >
HWY_APIShuffle2103 (const V v)
 
template<class V >
HWY_APIShuffle0321 (const V v)
 
template<class V >
HWY_APIShuffle1032 (const V v)
 
template<class V >
HWY_APIShuffle01 (const V v)
 
template<class V >
HWY_APIShuffle0123 (const V v)
 
template<class D , class V = VFromD<D>>
HWY_APIReverseBlocks (D d, V v)
 
template<class V , class VI >
HWY_API VI TableLookupBytes (const V v, const VI idx)
 
template<int kLane, class V >
HWY_APIBroadcast (const V v)
 
template<size_t kLanes, class D , class V = VFromD<D>>
HWY_APIShiftLeftLanes (D d, const V v)
 
template<size_t kLanes, class V >
HWY_APIShiftLeftLanes (const V v)
 
template<size_t kLanes, class D , class V = VFromD<D>>
HWY_APIShiftRightLanes (D d, V v)
 
template<int kBytes, class D , class V = VFromD<D>>
HWY_APIShiftLeftBytes (const D d, const V v)
 
template<int kBytes, class V >
HWY_APIShiftLeftBytes (const V v)
 
template<int kBytes, class D , class V = VFromD<D>>
HWY_APIShiftRightBytes (const D d, const V v)
 
template<class D , class V >
HWY_APIInterleaveLower (D d, const V a, const V b)
 
template<class V >
HWY_APIInterleaveLower (const V a, const V b)
 
template<class D , class V = VFromD<D>, hwy::EnableIf< detail::IsFull(D())> * = nullptr>
HWY_APIInterleaveUpper (D d, const V a, const V b)
 
template<class V , class DW = RepartitionToWide<DFromV<V>>>
HWY_API VFromD< DW > ZipLower (DW dw, V a, V b)
 
template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > ZipLower (const V a, const V b)
 
template<class V , class DW = RepartitionToWide<DFromV<V>>>
HWY_API VFromD< DW > ZipUpper (DW dw, V a, V b)
 
template<size_t N, int kPow2>
HWY_API svfloat32_t PromoteTo (Simd< float32_t, N, kPow2 > df32, const svuint16_t v)
 
template<size_t N, int kPow2>
HWY_API svuint16_t ReorderDemote2To (Simd< bfloat16_t, N, kPow2 > dbf16, svfloat32_t a, svfloat32_t b)
 
template<class V >
HWY_APIZeroIfNegative (const V v)
 
template<class V >
HWY_APIBroadcastSignBit (const V v)
 
template<class V >
HWY_APIIfNegativeThenElse (V v, V yes, V no)
 
template<class D , HWY_IF_LANE_SIZE_D(D, 1) >
HWY_INLINE svbool_t LoadMaskBits (D d, const uint8_t *HWY_RESTRICT bits)
 
template<class D >
HWY_API size_t StoreMaskBits (D d, svbool_t m, uint8_t *bits)
 
template<class V >
HWY_INLINECompressBits (V v, const uint8_t *HWY_RESTRICT bits)
 
template<class D >
HWY_API size_t CompressBitsStore (VFromD< D > v, const uint8_t *HWY_RESTRICT bits, D d, TFromD< D > *HWY_RESTRICT unaligned)
 
template<class V , class DW = RepartitionToWide<DFromV<V>>>
HWY_API VFromD< DW > MulEven (const V a, const V b)
 
HWY_API svuint64_t MulEven (const svuint64_t a, const svuint64_t b)
 
HWY_API svuint64_t MulOdd (const svuint64_t a, const svuint64_t b)
 
template<size_t N, int kPow2>
HWY_API svfloat32_t ReorderWidenMulAccumulate (Simd< float, N, kPow2 > df32, svuint16_t a, svuint16_t b, const svfloat32_t sum0, svfloat32_t &sum1)
 
template<class D >
HWY_INLINE svbool_t Lt128 (D, const svuint64_t a, const svuint64_t b)
 
template<class D >
HWY_INLINE svuint64_t Min128 (D d, const svuint64_t a, const svuint64_t b)
 
template<class D >
HWY_INLINE svuint64_t Max128 (D d, const svuint64_t a, const svuint64_t b)
 
template<class V >
HWY_APIClamp (const V v, const V lo, const V hi)
 
template<class D >
HWY_API Vec< D > SignBit (D d)
 
template<class D >
HWY_API Vec< D > NaN (D d)
 
template<class D , typename T = TFromD<D>>
HWY_API void SafeCopyN (const size_t num, D d, const T *HWY_RESTRICT from, T *HWY_RESTRICT to)
 
template<typename V , HWY_IF_LANES_ARE(uint8_t, V) , HWY_IF_GE128_D(DFromV< V >) , HWY_IF_POW2_GE(DFromV< V >, HWY_MIN_POW2_FOR_128) >
HWY_APIPopulationCount (V v)
 
template<typename V , HWY_IF_LANES_ARE(uint16_t, V) >
HWY_APIPopulationCount (V v)
 
template<typename T , size_t N, int kPow2>
constexpr size_t MLenFromD (Simd< T, N, kPow2 >)
 
template<size_t N, int kPow2>
HWY_API size_t Lanes (Simd< bfloat16_t, N, kPow2 >)
 
template<size_t N, int kPow2>
decltype(Set(Simd< uint16_t, N, kPow2 >(), 0)) Set (Simd< bfloat16_t, N, kPow2 > d, bfloat16_t arg)
 
template<typename T , size_t N, int kPow2>
HWY_API VFromD< Simd< T, N, kPow2 > > Zero (Simd< T, N, kPow2 > d)
 
template<class D >
HWY_API VFromD< D > Undefined (D d)
 
template<class V , HWY_IF_FLOAT_V(V) >
HWY_APINot (const V v)
 
template<class V >
HWY_APIAndNot (const V not_a, const V b)
 
template<class VU8 >
HWY_API VFromD< Repartition< uint64_t, DFromV< VU8 > > > SumsOf8 (const VU8 v)
 
template<class V >
HWY_API auto TestBit (const V a, const V bit) -> decltype(Eq(a, bit))
 
template<class V >
HWY_API auto MaskFromVec (const V v) -> decltype(Eq(v, v))
 
template<class D , typename MFrom >
HWY_API MFromD< D > RebindMask (const D, const MFrom mask)
 
template<class D , HWY_IF_NOT_FLOAT_D(D) >
HWY_API VFromD< D > VecFromMask (const D d, MFromD< D > mask)
 
template<class D >
HWY_API bool AllFalse (D d, MFromD< D > m)
 
template<size_t N, int kPow2>
HWY_API VFromD< Simd< uint16_t, N, kPow2 > > Load (Simd< bfloat16_t, N, kPow2 > d, const bfloat16_t *HWY_RESTRICT p)
 
template<size_t N, int kPow2>
HWY_API void Store (VFromD< Simd< uint16_t, N, kPow2 >> v, Simd< bfloat16_t, N, kPow2 > d, bfloat16_t *HWY_RESTRICT p)
 
template<class V , class D , typename T >
HWY_API void Stream (const V v, D d, T *HWY_RESTRICT aligned)
 
template<class D , HWY_IF_LANE_SIZE_D(D, 4) >
HWY_API void ScatterIndex (VFromD< D > v, D d, TFromD< D > *HWY_RESTRICT base, const VFromD< RebindToSigned< D >> index)
 
template<class D , HWY_IF_LANE_SIZE_D(D, 4) >
HWY_API VFromD< D > GatherIndex (D d, const TFromD< D > *HWY_RESTRICT base, const VFromD< RebindToSigned< D >> index)
 
 HWY_RVV_STORE3 (uint, u, 8, _, _, mf8, _, _, -3, 64, StoreInterleaved3, sseg3) HWY_RVV_STORE3(uint
 
sseg3 HWY_RVV_STORE3 (uint, u, 8, _, _, mf2, _, _, -1, 16, StoreInterleaved3, sseg3) HWY_RVV_STORE3(uint
 
sseg3 sseg3 HWY_RVV_STORE3 (uint, u, 8, _, _, m2, _, _, 1, 4, StoreInterleaved3, sseg3) HWY_RVV_STORE4(uint
 
sseg3 sseg3 sseg4 HWY_RVV_STORE4 (uint, u, 8, _, _, mf4, _, _, -2, 32, StoreInterleaved4, sseg4) HWY_RVV_STORE4(uint
 
sseg3 sseg3 sseg4 sseg4 HWY_RVV_STORE4 (uint, u, 8, _, _, m1, _, _, 0, 8, StoreInterleaved4, sseg4) HWY_RVV_STORE4(uint
 
template<size_t N, int kPow2>
HWY_API auto PromoteTo (Simd< int16_t, N, kPow2 > d, VFromD< Rebind< uint8_t, decltype(d)>> v) -> VFromD< decltype(d)>
 
template<size_t N, int kPow2>
HWY_API auto PromoteTo (Simd< int32_t, N, kPow2 > d, VFromD< Rebind< uint8_t, decltype(d)>> v) -> VFromD< decltype(d)>
 
template<size_t N, int kPow2>
HWY_API auto PromoteTo (Simd< int32_t, N, kPow2 > d, VFromD< Rebind< uint16_t, decltype(d)>> v) -> VFromD< decltype(d)>
 
template<size_t N, int kPow2>
HWY_API auto PromoteTo (Simd< float32_t, N, kPow2 > d, VFromD< Rebind< bfloat16_t, decltype(d)>> v) -> VFromD< decltype(d)>
 
template<size_t N>
HWY_API vuint8mf8_t DemoteTo (Simd< uint8_t, N, -3 > d, const vint32mf2_t v)
 
template<size_t N>
HWY_API vuint8mf4_t DemoteTo (Simd< uint8_t, N, -2 > d, const vint32m1_t v)
 
template<size_t N>
HWY_API vuint8mf2_t DemoteTo (Simd< uint8_t, N, -1 > d, const vint32m2_t v)
 
template<size_t N>
HWY_API vuint8m1_t DemoteTo (Simd< uint8_t, N, 0 > d, const vint32m4_t v)
 
template<size_t N>
HWY_API vuint8m2_t DemoteTo (Simd< uint8_t, N, 1 > d, const vint32m8_t v)
 
HWY_API vuint8mf8_t U8FromU32 (const vuint32mf2_t v)
 
HWY_API vuint8mf4_t U8FromU32 (const vuint32m1_t v)
 
HWY_API vuint8mf2_t U8FromU32 (const vuint32m2_t v)
 
HWY_API vuint8m1_t U8FromU32 (const vuint32m4_t v)
 
HWY_API vuint8m2_t U8FromU32 (const vuint32m8_t v)
 
template<size_t N>
HWY_API vint8mf8_t DemoteTo (Simd< int8_t, N, -3 > d, const vint32mf2_t v)
 
template<size_t N>
HWY_API vint8mf4_t DemoteTo (Simd< int8_t, N, -2 > d, const vint32m1_t v)
 
template<size_t N>
HWY_API vint8mf2_t DemoteTo (Simd< int8_t, N, -1 > d, const vint32m2_t v)
 
template<size_t N>
HWY_API vint8m1_t DemoteTo (Simd< int8_t, N, 0 > d, const vint32m4_t v)
 
template<size_t N>
HWY_API vint8m2_t DemoteTo (Simd< int8_t, N, 1 > d, const vint32m8_t v)
 
 HWY_RVV_FOREACH_F64 (HWY_RVV_DEMOTE_F, DemoteTo, vfncvt_rod_f_f_w_f, _DEMOTE_VIRT) template< size_t N > HWY_API vint32mf2_t DemoteTo(Simd< int32_t
 
template<size_t N>
HWY_API vint32mf2_t DemoteTo (Simd< int32_t, N, -1 > d, const vfloat64m1_t v)
 
template<size_t N>
HWY_API vint32m1_t DemoteTo (Simd< int32_t, N, 0 > d, const vfloat64m2_t v)
 
template<size_t N>
HWY_API vint32m2_t DemoteTo (Simd< int32_t, N, 1 > d, const vfloat64m4_t v)
 
template<size_t N>
HWY_API vint32m4_t DemoteTo (Simd< int32_t, N, 2 > d, const vfloat64m8_t v)
 
template<size_t N, int kPow2>
HWY_API VFromD< Simd< uint16_t, N, kPow2 > > DemoteTo (Simd< bfloat16_t, N, kPow2 > d, VFromD< Simd< float, N, kPow2+1 >> v)
 
template<class D2 , class V >
HWY_API VFromD< D2 > Combine (D2 d2, const V hi, const V lo)
 
template<class D2 , class V >
HWY_API VFromD< D2 > ZeroExtendVector (D2 d2, const V lo)
 
template<class DH , hwy::EnableIf< detail::IsSupportedLMUL(DH())> * = nullptr>
HWY_API VFromD< DH > LowerHalf (const DH, const VFromD< Twice< DH >> v)
 
template<class DH , class V , hwy::EnableIf<!detail::IsSupportedLMUL(DH())> * = nullptr>
HWY_APILowerHalf (const DH, const V v)
 
template<class V >
HWY_API VFromD< Half< DFromV< V > > > LowerHalf (const V v)
 
template<class DH >
HWY_API VFromD< DH > UpperHalf (const DH d2, const VFromD< Twice< DH >> v)
 
template<class D , class V >
HWY_APIConcatOdd (D d, const V hi, const V lo)
 
template<class D , class V >
HWY_APIConcatEven (D d, const V hi, const V lo)
 
template<class D >
HWY_API VFromD< D > Reverse (D, VFromD< D > v)
 
template<class D , HWY_IF_LANE_SIZE_D(D, 2) , HWY_RVV_IF_POW2_IN(D, -1, 3) >
HWY_API VFromD< D > Reverse2 (D d, const VFromD< D > v)
 
template<class D , class V = VFromD<D>, HWY_IF_LANE_SIZE_D(D, 8) >
HWY_APIReverse2 (D, const V v)
 
template<size_t kLanes, class D , class V = VFromD<D>>
HWY_APICombineShiftRightLanes (const D d, const V hi, V lo)
 
template<class VT , class VI >
HWY_API VI TableLookupBytes (const VT vt, const VI vi)
 
template<class VT , class VI >
HWY_API VI TableLookupBytesOr0 (const VT vt, const VI idx)
 
template<int kBytes, class D >
HWY_API VFromD< D > ShiftLeftBytes (D d, const VFromD< D > v)
 
template<size_t kLanes, typename T , size_t N, int kPow2, class V = VFromD<Simd<T, N, kPow2>>>
HWY_APIShiftRightLanes (const Simd< T, N, kPow2 > d, V v)
 
template<class D , class V >
HWY_APIInterleaveUpper (const D d, const V a, const V b)
 
template<class D >
HWY_API VFromD< D > SumOfLanes (D d, const VFromD< D > v)
 
template<class D >
HWY_API VFromD< D > MinOfLanes (D d, const VFromD< D > v)
 
template<class D >
HWY_API VFromD< D > MaxOfLanes (D d, const VFromD< D > v)
 
template<class V >
decltype(MaskFromVec(v)) HWY_APIRound (const V v)
 
template<class V >
HWY_APITrunc (const V v)
 
template<class V >
HWY_APICeil (const V v)
 
template<class V >
HWY_APIFloor (const V v)
 
template<class V , HWY_IF_LANE_SIZE_V(V, 4) , class D = DFromV<V>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > MulEven (const V a, const V b)
 
template<class V , HWY_IF_LANE_SIZE_V(V, 8) >
HWY_INLINEMulEven (const V a, const V b)
 
template<class V , HWY_IF_LANE_SIZE_V(V, 8) >
HWY_INLINEMulOdd (const V a, const V b)
 
template<size_t N, int kPow2>
HWY_API VFromD< Simd< uint16_t, N, kPow2 > > ReorderDemote2To (Simd< bfloat16_t, N, kPow2 > dbf16, VFromD< RepartitionToWide< decltype(dbf16)>> a, VFromD< RepartitionToWide< decltype(dbf16)>> b)
 
template<size_t N, int kPow2>
HWY_API auto ReorderWidenMulAccumulate (Simd< float, N, kPow2 > df32, VFromD< DU16FromDF< decltype(df32)>> a, VFromD< DU16FromDF< decltype(df32)>> b, const VFromD< decltype(df32)> sum0, VFromD< decltype(df32)> &sum1) -> VFromD< decltype(df32)>
 
template<class D >
HWY_INLINE MFromD< D > Lt128 (D d, const VFromD< D > a, const VFromD< D > b)
 
template<typename T , typename FromT >
HWY_API Vec1< T > BitCast (Sisd< T >, Vec1< FromT > v)
 
template<typename T >
HWY_API Vec1< T > Zero (Sisd< T >)
 
template<typename T , typename T2 >
HWY_API Vec1< T > Set (Sisd< T >, const T2 t)
 
template<typename T >
HWY_API Vec1< T > Undefined (Sisd< T > d)
 
template<typename T , typename T2 >
HWY_API Vec1< T > Iota (const Sisd< T >, const T2 first)
 
template<typename T >
HWY_API Vec1< T > Not (const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > And (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > operator& (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > AndNot (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > Or (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > operator| (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > Xor (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > operator^ (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > OrAnd (const Vec1< T > o, const Vec1< T > a1, const Vec1< T > a2)
 
template<typename T >
HWY_API Vec1< T > IfVecThenElse (Vec1< T > mask, Vec1< T > yes, Vec1< T > no)
 
template<typename T >
HWY_API Vec1< T > CopySign (const Vec1< T > magn, const Vec1< T > sign)
 
template<typename T >
HWY_API Vec1< T > CopySignToAbs (const Vec1< T > abs, const Vec1< T > sign)
 
template<typename T >
HWY_API Vec1< T > BroadcastSignBit (const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > PopulationCount (Vec1< T > v)
 
template<typename TFrom , typename TTo >
HWY_API Mask1< TTo > RebindMask (Sisd< TTo >, Mask1< TFrom > m)
 
template<typename T >
HWY_API Mask1< T > MaskFromVec (const Vec1< T > v)
 
template<typename T >
Vec1< T > VecFromMask (const Mask1< T > mask)
 
template<typename T >
Vec1< T > VecFromMask (Sisd< T >, const Mask1< T > mask)
 
template<typename T >
HWY_API Mask1< T > FirstN (Sisd< T >, size_t n)
 
template<typename T >
HWY_API Vec1< T > IfThenElse (const Mask1< T > mask, const Vec1< T > yes, const Vec1< T > no)
 
template<typename T >
HWY_API Vec1< T > IfThenElseZero (const Mask1< T > mask, const Vec1< T > yes)
 
template<typename T >
HWY_API Vec1< T > IfThenZeroElse (const Mask1< T > mask, const Vec1< T > no)
 
template<typename T >
HWY_API Vec1< T > IfNegativeThenElse (Vec1< T > v, Vec1< T > yes, Vec1< T > no)
 
template<typename T >
HWY_API Vec1< T > ZeroIfNegative (const Vec1< T > v)
 
template<typename T >
HWY_API Mask1< T > Not (const Mask1< T > m)
 
template<typename T >
HWY_API Mask1< T > And (const Mask1< T > a, Mask1< T > b)
 
template<typename T >
HWY_API Mask1< T > AndNot (const Mask1< T > a, Mask1< T > b)
 
template<typename T >
HWY_API Mask1< T > Or (const Mask1< T > a, Mask1< T > b)
 
template<typename T >
HWY_API Mask1< T > Xor (const Mask1< T > a, Mask1< T > b)
 
template<int kBits, typename T >
HWY_API Vec1< T > ShiftLeft (const Vec1< T > v)
 
template<int kBits, typename T >
HWY_API Vec1< T > ShiftRight (const Vec1< T > v)
 
template<int kBits, typename T >
HWY_API Vec1< T > RotateRight (const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > ShiftLeftSame (const Vec1< T > v, int bits)
 
template<typename T >
HWY_API Vec1< T > ShiftRightSame (const Vec1< T > v, int bits)
 
template<typename T >
HWY_API Vec1< T > operator<< (const Vec1< T > v, const Vec1< T > bits)
 
template<typename T >
HWY_API Vec1< T > operator>> (const Vec1< T > v, const Vec1< T > bits)
 
template<typename T >
HWY_API Vec1< T > operator+ (Vec1< T > a, Vec1< T > b)
 
HWY_API Vec1< float > operator+ (const Vec1< float > a, const Vec1< float > b)
 
HWY_API Vec1< double > operator+ (const Vec1< double > a, const Vec1< double > b)
 
template<typename T >
HWY_API Vec1< T > operator- (Vec1< T > a, Vec1< T > b)
 
HWY_API Vec1< float > operator- (const Vec1< float > a, const Vec1< float > b)
 
HWY_API Vec1< double > operator- (const Vec1< double > a, const Vec1< double > b)
 
HWY_API Vec1< uint64_t > SumsOf8 (const Vec1< uint8_t > v)
 
HWY_API Vec1< uint8_t > SaturatedAdd (const Vec1< uint8_t > a, const Vec1< uint8_t > b)
 
HWY_API Vec1< uint16_t > SaturatedAdd (const Vec1< uint16_t > a, const Vec1< uint16_t > b)
 
HWY_API Vec1< int8_t > SaturatedAdd (const Vec1< int8_t > a, const Vec1< int8_t > b)
 
HWY_API Vec1< int16_t > SaturatedAdd (const Vec1< int16_t > a, const Vec1< int16_t > b)
 
HWY_API Vec1< uint8_t > SaturatedSub (const Vec1< uint8_t > a, const Vec1< uint8_t > b)
 
HWY_API Vec1< uint16_t > SaturatedSub (const Vec1< uint16_t > a, const Vec1< uint16_t > b)
 
HWY_API Vec1< int8_t > SaturatedSub (const Vec1< int8_t > a, const Vec1< int8_t > b)
 
HWY_API Vec1< int16_t > SaturatedSub (const Vec1< int16_t > a, const Vec1< int16_t > b)
 
HWY_API Vec1< uint8_t > AverageRound (const Vec1< uint8_t > a, const Vec1< uint8_t > b)
 
HWY_API Vec1< uint16_t > AverageRound (const Vec1< uint16_t > a, const Vec1< uint16_t > b)
 
template<typename T >
HWY_API Vec1< T > Abs (const Vec1< T > a)
 
HWY_API Vec1< float > Abs (const Vec1< float > a)
 
HWY_API Vec1< double > Abs (const Vec1< double > a)
 
template<typename T , HWY_IF_NOT_FLOAT(T) >
HWY_API Vec1< T > Min (const Vec1< T > a, const Vec1< T > b)
 
template<typename T , HWY_IF_NOT_FLOAT(T) >
HWY_API Vec1< T > Max (const Vec1< T > a, const Vec1< T > b)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec1< T > Neg (const Vec1< T > v)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec1< T > operator* (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > operator/ (const Vec1< T > a, const Vec1< T > b)
 
HWY_API Vec1< int16_t > MulHigh (const Vec1< int16_t > a, const Vec1< int16_t > b)
 
HWY_API Vec1< uint16_t > MulHigh (const Vec1< uint16_t > a, const Vec1< uint16_t > b)
 
HWY_API Vec1< int16_t > MulFixedPoint15 (Vec1< int16_t > a, Vec1< int16_t > b)
 
HWY_API Vec1< int64_t > MulEven (const Vec1< int32_t > a, const Vec1< int32_t > b)
 
HWY_API Vec1< uint64_t > MulEven (const Vec1< uint32_t > a, const Vec1< uint32_t > b)
 
HWY_API Vec1< float > ApproximateReciprocal (const Vec1< float > v)
 
HWY_API Vec1< float > AbsDiff (const Vec1< float > a, const Vec1< float > b)
 
template<typename T >
HWY_API Vec1< T > MulAdd (const Vec1< T > mul, const Vec1< T > x, const Vec1< T > add)
 
template<typename T >
HWY_API Vec1< T > NegMulAdd (const Vec1< T > mul, const Vec1< T > x, const Vec1< T > add)
 
template<typename T >
HWY_API Vec1< T > MulSub (const Vec1< T > mul, const Vec1< T > x, const Vec1< T > sub)
 
template<typename T >
HWY_API Vec1< T > NegMulSub (const Vec1< T > mul, const Vec1< T > x, const Vec1< T > sub)
 
HWY_API Vec1< float > ApproximateReciprocalSqrt (const Vec1< float > v)
 
HWY_API Vec1< float > Sqrt (const Vec1< float > v)
 
HWY_API Vec1< double > Sqrt (const Vec1< double > v)
 
template<typename T >
HWY_API Vec1< T > Round (const Vec1< T > v)
 
HWY_API Vec1< int32_t > NearestInt (const Vec1< float > v)
 
template<typename T >
HWY_API Vec1< T > Trunc (const Vec1< T > v)
 
template<typename Float , typename Bits , int kMantissaBits, int kExponentBits, class V >
Ceiling (const V v)
 
template<typename Float , typename Bits , int kMantissaBits, int kExponentBits, class V >
Floor (const V v)
 
HWY_API Vec1< float > Ceil (const Vec1< float > v)
 
HWY_API Vec1< double > Ceil (const Vec1< double > v)
 
HWY_API Vec1< float > Floor (const Vec1< float > v)
 
HWY_API Vec1< double > Floor (const Vec1< double > v)
 
template<typename T >
HWY_API Mask1< T > operator== (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Mask1< T > operator!= (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Mask1< T > TestBit (const Vec1< T > v, const Vec1< T > bit)
 
template<typename T >
HWY_API Mask1< T > operator< (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Mask1< T > operator> (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Mask1< T > operator<= (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Mask1< T > operator>= (const Vec1< T > a, const Vec1< T > b)
 
template<typename T >
HWY_API Vec1< T > Load (Sisd< T >, const T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API Vec1< T > MaskedLoad (Mask1< T > m, Sisd< T > d, const T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API Vec1< T > LoadU (Sisd< T > d, const T *HWY_RESTRICT p)
 
template<typename T >
HWY_API Vec1< T > LoadDup128 (Sisd< T > d, const T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API void Store (const Vec1< T > v, Sisd< T >, T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API void StoreU (const Vec1< T > v, Sisd< T > d, T *HWY_RESTRICT p)
 
template<typename T >
HWY_API void BlendedStore (const Vec1< T > v, Mask1< T > m, Sisd< T > d, T *HWY_RESTRICT p)
 
HWY_API void StoreInterleaved3 (const Vec1< uint8_t > v0, const Vec1< uint8_t > v1, const Vec1< uint8_t > v2, Sisd< uint8_t > d, uint8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved4 (const Vec1< uint8_t > v0, const Vec1< uint8_t > v1, const Vec1< uint8_t > v2, const Vec1< uint8_t > v3, Sisd< uint8_t > d, uint8_t *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API void Stream (const Vec1< T > v, Sisd< T > d, T *HWY_RESTRICT aligned)
 
template<typename T , typename Offset >
HWY_API void ScatterOffset (Vec1< T > v, Sisd< T > d, T *base, const Vec1< Offset > offset)
 
template<typename T , typename Index >
HWY_API void ScatterIndex (Vec1< T > v, Sisd< T > d, T *HWY_RESTRICT base, const Vec1< Index > index)
 
template<typename T , typename Offset >
HWY_API Vec1< T > GatherOffset (Sisd< T > d, const T *base, const Vec1< Offset > offset)
 
template<typename T , typename Index >
HWY_API Vec1< T > GatherIndex (Sisd< T > d, const T *HWY_RESTRICT base, const Vec1< Index > index)
 
template<typename FromT , typename ToT >
HWY_API Vec1< ToT > PromoteTo (Sisd< ToT >, Vec1< FromT > from)
 
HWY_API Vec1< float > DemoteTo (Sisd< float >, Vec1< double > from)
 
HWY_API Vec1< int32_t > DemoteTo (Sisd< int32_t >, Vec1< double > from)
 
template<typename FromT , typename ToT >
HWY_API Vec1< ToT > DemoteTo (Sisd< ToT >, Vec1< FromT > from)
 
HWY_API Vec1< float > PromoteTo (Sisd< float >, const Vec1< float16_t > v)
 
HWY_API Vec1< float > PromoteTo (Sisd< float > d, const Vec1< bfloat16_t > v)
 
HWY_API Vec1< float16_tDemoteTo (Sisd< float16_t >, const Vec1< float > v)
 
HWY_API Vec1< bfloat16_tDemoteTo (Sisd< bfloat16_t > d, const Vec1< float > v)
 
template<typename FromT , typename ToT , HWY_IF_FLOAT(FromT) >
HWY_API Vec1< ToT > ConvertTo (Sisd< ToT >, Vec1< FromT > from)
 
HWY_API Vec1< uint8_t > U8FromU32 (const Vec1< uint32_t > v)
 
template<typename T >
HWY_API Vec1< T > LowerHalf (Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > LowerHalf (Sisd< T >, Vec1< T > v)
 
template<typename T >
HWY_APIGetLane (const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > DupEven (Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > OddEven (Vec1< T >, Vec1< T > even)
 
template<typename T >
HWY_API Vec1< T > OddEvenBlocks (Vec1< T >, Vec1< T > even)
 
template<typename T >
HWY_API Vec1< T > SwapAdjacentBlocks (Vec1< T > v)
 
template<typename T , typename TI >
HWY_API Indices1< T > IndicesFromVec (Sisd< T >, Vec1< TI > vec)
 
template<typename T , typename TI >
HWY_API Indices1< T > SetTableIndices (Sisd< T > d, const TI *idx)
 
template<typename T >
HWY_API Vec1< T > TableLookupLanes (const Vec1< T > v, const Indices1< T >)
 
template<typename T >
HWY_API Vec1< T > ReverseBlocks (Sisd< T >, const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > Reverse (Sisd< T >, const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > Reverse2 (Sisd< T >, const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > Reverse4 (Sisd< T >, const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > Reverse8 (Sisd< T >, const Vec1< T > v)
 
template<int kLane, typename T >
HWY_API Vec1< T > Broadcast (const Vec1< T > v)
 
template<typename T , typename TI >
HWY_API Vec1< TI > TableLookupBytes (const Vec1< T > in, const Vec1< TI > indices)
 
template<typename T , typename TI >
HWY_API Vec1< TI > TableLookupBytesOr0 (const Vec1< T > in, const Vec1< TI > indices)
 
HWY_API Vec1< uint16_t > ZipLower (const Vec1< uint8_t > a, const Vec1< uint8_t > b)
 
HWY_API Vec1< uint32_t > ZipLower (const Vec1< uint16_t > a, const Vec1< uint16_t > b)
 
HWY_API Vec1< uint64_t > ZipLower (const Vec1< uint32_t > a, const Vec1< uint32_t > b)
 
HWY_API Vec1< int16_t > ZipLower (const Vec1< int8_t > a, const Vec1< int8_t > b)
 
HWY_API Vec1< int32_t > ZipLower (const Vec1< int16_t > a, const Vec1< int16_t > b)
 
HWY_API Vec1< int64_t > ZipLower (const Vec1< int32_t > a, const Vec1< int32_t > b)
 
template<typename T , typename TW = MakeWide<T>, class VW = Vec1<TW>>
HWY_API VW ZipLower (Sisd< TW >, Vec1< T > a, Vec1< T > b)
 
template<typename T >
HWY_API bool AllFalse (Sisd< T >, const Mask1< T > mask)
 
template<typename T >
HWY_API bool AllTrue (Sisd< T >, const Mask1< T > mask)
 
template<typename T >
HWY_API Mask1< T > LoadMaskBits (Sisd< T >, const uint8_t *HWY_RESTRICT bits)
 
template<typename T >
HWY_API size_t StoreMaskBits (Sisd< T > d, const Mask1< T > mask, uint8_t *bits)
 
template<typename T >
HWY_API size_t CountTrue (Sisd< T >, const Mask1< T > mask)
 
template<typename T >
HWY_API intptr_t FindFirstTrue (Sisd< T >, const Mask1< T > mask)
 
template<typename T >
HWY_API Vec1< T > Compress (Vec1< T > v, const Mask1< T >)
 
template<typename T >
HWY_API Vec1< T > Compress (Vec1< T > v, const uint8_t *HWY_RESTRICT)
 
template<typename T >
HWY_API size_t CompressStore (Vec1< T > v, const Mask1< T > mask, Sisd< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t CompressBlendedStore (Vec1< T > v, const Mask1< T > mask, Sisd< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t CompressBitsStore (Vec1< T > v, const uint8_t *HWY_RESTRICT bits, Sisd< T > d, T *HWY_RESTRICT unaligned)
 
HWY_API Vec1< float > ReorderWidenMulAccumulate (Sisd< float >, Vec1< bfloat16_t > a, Vec1< bfloat16_t > b, const Vec1< float > sum0, Vec1< float > &)
 
template<typename T >
HWY_API Vec1< T > SumOfLanes (Sisd< T >, const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > MinOfLanes (Sisd< T >, const Vec1< T > v)
 
template<typename T >
HWY_API Vec1< T > MaxOfLanes (Sisd< T >, const Vec1< T > v)
 
template<class D >
HWY_INLINE constexpr HWY_MAYBE_UNUSED int Pow2 (D)
 
template<class D >
HWY_INLINE constexpr HWY_MAYBE_UNUSED size_t MaxLanes (D)
 
template<typename T , size_t N, int kPow2>
HWY_INLINE HWY_MAYBE_UNUSED size_t Lanes (Simd< T, N, kPow2 >)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Vec128< T, NZero (Simd< T, N, 0 >)
 
template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, NZero (Simd< float, N, 0 >)
 
template<size_t N, HWY_IF_LE128(uint8_t, N) >
HWY_API Vec128< uint8_t, NSet (Simd< uint8_t, N, 0 >, const uint8_t t)
 
template<size_t N, HWY_IF_LE128(uint16_t, N) >
HWY_API Vec128< uint16_t, NSet (Simd< uint16_t, N, 0 >, const uint16_t t)
 
template<size_t N, HWY_IF_LE128(uint32_t, N) >
HWY_API Vec128< uint32_t, NSet (Simd< uint32_t, N, 0 >, const uint32_t t)
 
template<size_t N, HWY_IF_LE128(uint64_t, N) >
HWY_API Vec128< uint64_t, NSet (Simd< uint64_t, N, 0 >, const uint64_t t)
 
template<size_t N, HWY_IF_LE128(int8_t, N) >
HWY_API Vec128< int8_t, NSet (Simd< int8_t, N, 0 >, const int8_t t)
 
template<size_t N, HWY_IF_LE128(int16_t, N) >
HWY_API Vec128< int16_t, NSet (Simd< int16_t, N, 0 >, const int16_t t)
 
template<size_t N, HWY_IF_LE128(int32_t, N) >
HWY_API Vec128< int32_t, NSet (Simd< int32_t, N, 0 >, const int32_t t)
 
template<size_t N, HWY_IF_LE128(int64_t, N) >
HWY_API Vec128< int64_t, NSet (Simd< int64_t, N, 0 >, const int64_t t)
 
template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, NSet (Simd< float, N, 0 >, const float t)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Vec128< T, NUndefined (Simd< T, N, 0 > d)
 
template<size_t N>
HWY_API Vec128< uint8_t, Noperator+ (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, Noperator+ (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint32_t, Noperator+ (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint64_t, Noperator+ (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, Noperator+ (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, Noperator+ (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int32_t, Noperator+ (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< int64_t, Noperator+ (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b)
 
template<size_t N>
HWY_API Vec128< float, Noperator+ (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< uint8_t, Noperator- (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, Noperator- (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint32_t, Noperator- (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint64_t, Noperator- (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, Noperator- (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, Noperator- (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int32_t, Noperator- (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< int64_t, Noperator- (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b)
 
template<size_t N>
HWY_API Vec128< float, Noperator- (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< uint8_t, NSaturatedAdd (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NSaturatedAdd (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, NSaturatedAdd (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NSaturatedAdd (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint8_t, NSaturatedSub (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NSaturatedSub (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, NSaturatedSub (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NSaturatedSub (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint8_t, NAverageRound (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NAverageRound (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, NAbs (const Vec128< int8_t, N > v)
 
template<size_t N>
HWY_API Vec128< int16_t, NAbs (const Vec128< int16_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NAbs (const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< int64_t, NAbs (const Vec128< int64_t, N > v)
 
template<size_t N>
HWY_API Vec128< float, NAbs (const Vec128< float, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint16_t, NShiftLeft (const Vec128< uint16_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint16_t, NShiftRight (const Vec128< uint16_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint32_t, NShiftLeft (const Vec128< uint32_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint64_t, NShiftLeft (const Vec128< uint64_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint32_t, NShiftRight (const Vec128< uint32_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint64_t, NShiftRight (const Vec128< uint64_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< int16_t, NShiftLeft (const Vec128< int16_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< int16_t, NShiftRight (const Vec128< int16_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< int32_t, NShiftLeft (const Vec128< int32_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< int64_t, NShiftLeft (const Vec128< int64_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< int32_t, NShiftRight (const Vec128< int32_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< int64_t, NShiftRight (const Vec128< int64_t, N > v)
 
template<int kBits, typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, NShiftLeft (const Vec128< T, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< uint8_t, NShiftRight (const Vec128< uint8_t, N > v)
 
template<int kBits, size_t N>
HWY_API Vec128< int8_t, NShiftRight (const Vec128< int8_t, N > v)
 
template<int kBits, typename T , size_t N>
HWY_API Vec128< T, NRotateRight (const Vec128< T, N > v)
 
template<size_t N>
HWY_API Vec128< uint16_t, NShiftLeftSame (const Vec128< uint16_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< uint16_t, NShiftRightSame (const Vec128< uint16_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< uint32_t, NShiftLeftSame (const Vec128< uint32_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< uint32_t, NShiftRightSame (const Vec128< uint32_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< uint64_t, NShiftLeftSame (const Vec128< uint64_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< uint64_t, NShiftRightSame (const Vec128< uint64_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< int16_t, NShiftLeftSame (const Vec128< int16_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< int16_t, NShiftRightSame (const Vec128< int16_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< int32_t, NShiftLeftSame (const Vec128< int32_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< int32_t, NShiftRightSame (const Vec128< int32_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< int64_t, NShiftLeftSame (const Vec128< int64_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< int64_t, NShiftRightSame (const Vec128< int64_t, N > v, const int bits)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, NShiftLeftSame (const Vec128< T, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< uint8_t, NShiftRightSame (Vec128< uint8_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< int8_t, NShiftRightSame (Vec128< int8_t, N > v, const int bits)
 
template<size_t N>
HWY_API Vec128< uint8_t, NMin (Vec128< uint8_t, N > a, Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NMin (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint32_t, NMin (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, NMin (Vec128< int8_t, N > a, Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NMin (Vec128< int16_t, N > a, Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int32_t, NMin (Vec128< int32_t, N > a, Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< float, NMin (Vec128< float, N > a, Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< uint8_t, NMax (Vec128< uint8_t, N > a, Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NMax (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint32_t, NMax (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, NMax (Vec128< int8_t, N > a, Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NMax (Vec128< int16_t, N > a, Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int32_t, NMax (Vec128< int32_t, N > a, Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< float, NMax (Vec128< float, N > a, Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, Noperator* (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint32_t, Noperator* (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, Noperator* (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int32_t, Noperator* (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NMulHigh (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NMulHigh (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NMulFixedPoint15 (Vec128< int16_t, N > a, Vec128< int16_t, N > b)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NNeg (const Vec128< T, N > v)
 
template<size_t N>
HWY_API Vec128< int8_t, NNeg (const Vec128< int8_t, N > v)
 
template<size_t N>
HWY_API Vec128< int16_t, NNeg (const Vec128< int16_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NNeg (const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< int64_t, NNeg (const Vec128< int64_t, N > v)
 
template<size_t N>
HWY_API Vec128< float, Noperator* (Vec128< float, N > a, Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< float, NAbsDiff (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, NTestBit (Vec128< T, N > v, Vec128< T, N > bit)
 
template<size_t N>
HWY_API Mask128< uint8_t, Noperator== (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint16_t, Noperator== (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint32_t, Noperator== (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint64_t, Noperator== (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b)
 
template<size_t N>
HWY_API Mask128< int8_t, Noperator== (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Mask128< int16_t, Noperator== (Vec128< int16_t, N > a, Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Mask128< int32_t, Noperator== (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Mask128< int64_t, Noperator== (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b)
 
template<size_t N>
HWY_API Mask128< float, Noperator== (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Mask128< uint8_t, Noperator!= (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint16_t, Noperator!= (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint32_t, Noperator!= (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint64_t, Noperator!= (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b)
 
template<size_t N>
HWY_API Mask128< int8_t, Noperator!= (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Mask128< int16_t, Noperator!= (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Mask128< int32_t, Noperator!= (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Mask128< int64_t, Noperator!= (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b)
 
template<size_t N>
HWY_API Mask128< float, Noperator!= (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Mask128< int8_t, Noperator> (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Mask128< int16_t, Noperator> (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Mask128< int32_t, Noperator> (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Mask128< int64_t, Noperator> (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint8_t, Noperator> (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint16_t, Noperator> (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint32_t, Noperator> (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Mask128< uint64_t, Noperator> (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b)
 
template<size_t N>
HWY_API Mask128< float, Noperator> (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, Noperator< (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<size_t N>
HWY_API Mask128< float, Noperator<= (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Mask128< float, Noperator>= (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NNot (Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NAnd (Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NAndNot (Vec128< T, N > not_mask, Vec128< T, N > mask)
 
template<typename T , size_t N>
HWY_API Vec128< T, NOr (Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NXor (Vec128< T, N > a, Vec128< T, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, NBroadcastSignBit (const Vec128< int8_t, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NIfThenElse (Mask128< T, N > mask, Vec128< T, N > yes, Vec128< T, N > no)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NZeroIfNegative (Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, Noperator<< (Vec128< T, N > v, const Vec128< T, N > bits)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, Noperator>> (Vec128< T, N > v, const Vec128< T, N > bits)
 
template<typename T >
HWY_API Vec128< T > Load (Full128< T >, const T *HWY_RESTRICT aligned)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T, NLoad (Simd< T, N, 0 >, const T *HWY_RESTRICT p)
 
template<typename T , size_t N>
HWY_API Vec128< T, NLoadU (Simd< T, N, 0 > d, const T *HWY_RESTRICT p)
 
template<typename T >
HWY_API void Store (Vec128< T > v, Full128< T >, T *HWY_RESTRICT aligned)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API void Store (Vec128< T, N > v, Simd< T, N, 0 >, T *HWY_RESTRICT p)
 
HWY_API void Store (const Vec128< float, 1 > v, Simd< float, 1, 0 >, float *HWY_RESTRICT p)
 
template<typename T , size_t N>
HWY_API void StoreU (Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT p)
 
template<size_t N>
HWY_API uint64_t GetLane (const Vec128< uint64_t, N > v)
 
template<size_t N>
HWY_API int64_t GetLane (const Vec128< int64_t, N > v)
 
template<size_t N>
HWY_API float GetLane (const Vec128< float, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, N/2 > LowerHalf (Vec128< T, N > v)
 
template<typename T >
HWY_API Vec64< T > UpperHalf (Full64< T >, const Vec128< T > v)
 
template<int kBytes, typename T , class V = Vec128<T>>
HWY_APICombineShiftRightBytes (Full128< T >, V hi, V lo)
 
template<int kBytes, typename T , size_t N, HWY_IF_LE64(T, N) , class V = Vec128<T, N>>
HWY_APICombineShiftRightBytes (Simd< T, N, 0 > d, V hi, V lo)
 
template<int kLane, typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, NBroadcast (const Vec128< T, N > v)
 
template<typename T , size_t N, typename TI , size_t NI>
HWY_API Vec128< TI, NI > TableLookupBytes (const Vec128< T, N > bytes, const Vec128< TI, NI > from)
 
template<typename T , size_t N, typename TI , size_t NI>
HWY_API Vec128< TI, NI > TableLookupBytesOr0 (const Vec128< T, N > bytes, const Vec128< TI, NI > from)
 
template<typename T , size_t N>
HWY_API Vec128< T, NShuffle2301 (const Vec128< T, N > v)
 
template<size_t N>
HWY_API Vec128< uint8_t, NInterleaveLower (Vec128< uint8_t, N > a, Vec128< uint8_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NInterleaveLower (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint32_t, NInterleaveLower (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint64_t, NInterleaveLower (Vec128< uint64_t, N > a, Vec128< uint64_t, N > b)
 
template<size_t N>
HWY_API Vec128< int8_t, NInterleaveLower (Vec128< int8_t, N > a, Vec128< int8_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NInterleaveLower (Vec128< int16_t, N > a, Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int32_t, NInterleaveLower (Vec128< int32_t, N > a, Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< int64_t, NInterleaveLower (Vec128< int64_t, N > a, Vec128< int64_t, N > b)
 
template<size_t N>
HWY_API Vec128< float, NInterleaveLower (Vec128< float, N > a, Vec128< float, N > b)
 
template<class V >
HWY_APIInterleaveLower (DFromV< V >, V a, V b)
 
template<typename T , class V = Vec128<T>>
HWY_APIInterleaveUpper (Full128< T >, V a, V b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NCombine (Simd< T, N, 0 > d, Vec128< T, N/2 > hi_half, Vec128< T, N/2 > lo_half)
 
template<typename T >
HWY_API Vec128< T > ConcatLowerLower (Full128< T >, const Vec128< T > hi, const Vec128< T > lo)
 
template<typename T >
HWY_API Vec128< T > ConcatUpperUpper (Full128< T >, const Vec128< T > hi, const Vec128< T > lo)
 
template<typename T >
HWY_API Vec128< T > ConcatLowerUpper (Full128< T > d, const Vec128< T > hi, const Vec128< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, 2 > ConcatOdd (Simd< T, 2, 0 >, Vec128< T, 2 > hi, Vec128< T, 2 > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, 2 > ConcatEven (Simd< T, 2, 0 >, Vec128< T, 2 > hi, Vec128< T, 2 > lo)
 
template<size_t N>
HWY_API Vec128< float, NOddEven (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NPromoteTo (Simd< uint16_t, N, 0 >, const Vec128< uint8_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint32_t, NPromoteTo (Simd< uint32_t, N, 0 >, const Vec128< uint8_t, N > v)
 
template<size_t N>
HWY_API Vec128< int16_t, NPromoteTo (Simd< int16_t, N, 0 >, const Vec128< uint8_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 >, const Vec128< uint8_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint64_t, NPromoteTo (Simd< uint64_t, N, 0 >, const Vec128< uint32_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 >, const Vec128< uint16_t, N > v)
 
template<size_t N>
HWY_API Vec128< double, NPromoteTo (Simd< double, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint16_t, NDemoteTo (Simd< uint16_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< int16_t, NDemoteTo (Simd< int16_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint8_t, NDemoteTo (Simd< uint8_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint8_t, NDemoteTo (Simd< uint8_t, N, 0 >, const Vec128< int16_t, N > v)
 
template<size_t N>
HWY_API Vec128< int8_t, NDemoteTo (Simd< int8_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< int8_t, NDemoteTo (Simd< int8_t, N, 0 >, const Vec128< int16_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NDemoteTo (Simd< int32_t, N, 0 >, const Vec128< double, N > v)
 
template<size_t N>
HWY_API Vec128< uint8_t, NU8FromU32 (const Vec128< uint32_t, N > v)
 
template<size_t N>
HWY_API Vec128< float, NConvertTo (Simd< float, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NConvertTo (Simd< int32_t, N, 0 >, const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< uint64_t, N/8 > SumsOf8 (const Vec128< uint8_t, N > v)
 
template<typename T , size_t N>
HWY_API size_t CountTrue (const Simd< T, N, 0 >, const Mask128< T > m)
 
template<typename T , size_t N>
HWY_API bool AllTrue (const Simd< T, N, 0 >, const Mask128< T > m)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API bool AllTrue (const Simd< T, N, 0 >, const Mask128< T, N > m)
 
template<typename T , size_t N>
HWY_API Vec128< T, NCompressBits (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits)
 
HWY_API void StoreInterleaved3 (const Vec128< uint8_t, 8 > a, const Vec128< uint8_t, 8 > b, const Vec128< uint8_t, 8 > c, Full64< uint8_t > d, uint8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved4 (const Vec128< uint8_t, 8 > in0, const Vec128< uint8_t, 8 > in1, const Vec128< uint8_t, 8 > in2, const Vec128< uint8_t, 8 > in3, Full64< uint8_t >, uint8_t *HWY_RESTRICT unaligned)
 
template<typename T , typename FromT >
HWY_API Vec256< T > BitCast (Full256< T > d, Vec256< FromT > v)
 
template<typename T >
HWY_API Vec256< T > Zero (Full256< T >)
 
HWY_API Vec256< float > Zero (Full256< float >)
 
HWY_API Vec256< uint8_t > Set (Full256< uint8_t >, const uint8_t t)
 
HWY_API Vec256< uint16_t > Set (Full256< uint16_t >, const uint16_t t)
 
HWY_API Vec256< uint32_t > Set (Full256< uint32_t >, const uint32_t t)
 
HWY_API Vec256< uint64_t > Set (Full256< uint64_t >, const uint64_t t)
 
HWY_API Vec256< int8_t > Set (Full256< int8_t >, const int8_t t)
 
HWY_API Vec256< int16_t > Set (Full256< int16_t >, const int16_t t)
 
HWY_API Vec256< int32_t > Set (Full256< int32_t >, const int32_t t)
 
HWY_API Vec256< int64_t > Set (Full256< int64_t >, const int64_t t)
 
HWY_API Vec256< float > Set (Full256< float >, const float t)
 
template<typename T >
HWY_API Vec256< T > Undefined (Full256< T > d)
 
template<typename T , typename T2 >
Vec256< T > Iota (const Full256< T > d, const T2 first)
 
HWY_API Vec256< uint8_t > operator+ (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > operator+ (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< uint32_t > operator+ (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Vec256< int8_t > operator+ (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Vec256< int16_t > operator+ (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< int32_t > operator+ (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< float > operator+ (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< uint8_t > operator- (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > operator- (Vec256< uint16_t > a, Vec256< uint16_t > b)
 
HWY_API Vec256< uint32_t > operator- (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Vec256< int8_t > operator- (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Vec256< int16_t > operator- (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< int32_t > operator- (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< float > operator- (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< uint64_t > SumsOf8 (const Vec256< uint8_t > v)
 
HWY_API Vec256< uint8_t > SaturatedAdd (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > SaturatedAdd (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< int8_t > SaturatedAdd (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Vec256< int16_t > SaturatedAdd (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< uint8_t > SaturatedSub (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > SaturatedSub (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< int8_t > SaturatedSub (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Vec256< int16_t > SaturatedSub (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< uint8_t > AverageRound (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > AverageRound (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< int8_t > Abs (const Vec256< int8_t > v)
 
HWY_API Vec256< int16_t > Abs (const Vec256< int16_t > v)
 
HWY_API Vec256< int32_t > Abs (const Vec256< int32_t > v)
 
HWY_API Vec256< int64_t > Abs (const Vec256< int64_t > v)
 
HWY_API Vec256< float > Abs (const Vec256< float > v)
 
template<int kBits>
HWY_API Vec256< uint16_t > ShiftLeft (const Vec256< uint16_t > v)
 
template<int kBits>
HWY_API Vec256< uint16_t > ShiftRight (const Vec256< uint16_t > v)
 
template<int kBits>
HWY_API Vec256< uint32_t > ShiftLeft (const Vec256< uint32_t > v)
 
template<int kBits>
HWY_API Vec256< uint32_t > ShiftRight (const Vec256< uint32_t > v)
 
template<int kBits>
HWY_API Vec256< int16_t > ShiftLeft (const Vec256< int16_t > v)
 
template<int kBits>
HWY_API Vec256< int16_t > ShiftRight (const Vec256< int16_t > v)
 
template<int kBits>
HWY_API Vec256< int32_t > ShiftLeft (const Vec256< int32_t > v)
 
template<int kBits>
HWY_API Vec256< int32_t > ShiftRight (const Vec256< int32_t > v)
 
template<int kBits, typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > ShiftLeft (const Vec256< T > v)
 
template<int kBits>
HWY_API Vec256< uint8_t > ShiftRight (const Vec256< uint8_t > v)
 
template<int kBits>
HWY_API Vec256< int8_t > ShiftRight (const Vec256< int8_t > v)
 
template<int kBits, typename T >
HWY_API Vec256< T > RotateRight (const Vec256< T > v)
 
HWY_API Vec256< uint16_t > ShiftLeftSame (const Vec256< uint16_t > v, const int bits)
 
HWY_API Vec256< uint16_t > ShiftRightSame (const Vec256< uint16_t > v, const int bits)
 
HWY_API Vec256< uint32_t > ShiftLeftSame (const Vec256< uint32_t > v, const int bits)
 
HWY_API Vec256< uint32_t > ShiftRightSame (const Vec256< uint32_t > v, const int bits)
 
HWY_API Vec256< int16_t > ShiftLeftSame (const Vec256< int16_t > v, const int bits)
 
HWY_API Vec256< int16_t > ShiftRightSame (const Vec256< int16_t > v, const int bits)
 
HWY_API Vec256< int32_t > ShiftLeftSame (const Vec256< int32_t > v, const int bits)
 
HWY_API Vec256< int32_t > ShiftRightSame (const Vec256< int32_t > v, const int bits)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > ShiftLeftSame (const Vec256< T > v, const int bits)
 
HWY_API Vec256< uint8_t > ShiftRightSame (Vec256< uint8_t > v, const int bits)
 
HWY_API Vec256< int8_t > ShiftRightSame (Vec256< int8_t > v, const int bits)
 
HWY_API Vec256< uint8_t > Min (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > Min (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< uint32_t > Min (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Vec256< uint64_t > Min (const Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Vec256< int8_t > Min (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Vec256< int16_t > Min (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< int32_t > Min (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< int64_t > Min (const Vec256< int64_t > a, const Vec256< int64_t > b)
 
HWY_API Vec256< float > Min (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< uint8_t > Max (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > Max (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< uint32_t > Max (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Vec256< uint64_t > Max (const Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Vec256< int8_t > Max (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Vec256< int16_t > Max (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< int32_t > Max (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< int64_t > Max (const Vec256< int64_t > a, const Vec256< int64_t > b)
 
HWY_API Vec256< float > Max (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< uint16_t > operator* (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< uint32_t > operator* (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Vec256< int16_t > operator* (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< int32_t > operator* (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< uint16_t > MulHigh (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< int16_t > MulHigh (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< int16_t > MulFixedPoint15 (Vec256< int16_t >, Vec256< int16_t >)
 
HWY_API Vec256< int64_t > MulEven (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< uint64_t > MulEven (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec256< T > Neg (const Vec256< T > v)
 
HWY_API Vec256< int8_t > Neg (const Vec256< int8_t > v)
 
HWY_API Vec256< int16_t > Neg (const Vec256< int16_t > v)
 
HWY_API Vec256< int32_t > Neg (const Vec256< int32_t > v)
 
HWY_API Vec256< int64_t > Neg (const Vec256< int64_t > v)
 
HWY_API Vec256< float > operator* (Vec256< float > a, Vec256< float > b)
 
HWY_API Vec256< float > operator/ (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< float > ApproximateReciprocal (const Vec256< float > v)
 
HWY_API Vec256< float > AbsDiff (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< float > MulAdd (const Vec256< float > mul, const Vec256< float > x, const Vec256< float > add)
 
HWY_API Vec256< float > NegMulAdd (const Vec256< float > mul, const Vec256< float > x, const Vec256< float > add)
 
HWY_API Vec256< float > MulSub (const Vec256< float > mul, const Vec256< float > x, const Vec256< float > sub)
 
HWY_API Vec256< float > NegMulSub (const Vec256< float > mul, const Vec256< float > x, const Vec256< float > sub)
 
HWY_API Vec256< float > Sqrt (const Vec256< float > v)
 
HWY_API Vec256< float > ApproximateReciprocalSqrt (const Vec256< float > v)
 
HWY_API Vec256< float > Round (const Vec256< float > v)
 
HWY_API Vec256< float > Trunc (const Vec256< float > v)
 
HWY_API Vec256< float > Ceil (const Vec256< float > v)
 
HWY_API Vec256< float > Floor (const Vec256< float > v)
 
template<typename TFrom , typename TTo >
HWY_API Mask256< TTo > RebindMask (Full256< TTo >, Mask256< TFrom > m)
 
template<typename T >
HWY_API Mask256< T > TestBit (Vec256< T > v, Vec256< T > bit)
 
HWY_API Mask256< uint8_t > operator== (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Mask256< uint16_t > operator== (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Mask256< uint32_t > operator== (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Mask256< int8_t > operator== (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Mask256< int16_t > operator== (Vec256< int16_t > a, Vec256< int16_t > b)
 
HWY_API Mask256< int32_t > operator== (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Mask256< float > operator== (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Mask256< uint8_t > operator!= (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Mask256< uint16_t > operator!= (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Mask256< uint32_t > operator!= (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Mask256< int8_t > operator!= (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Mask256< int16_t > operator!= (Vec256< int16_t > a, Vec256< int16_t > b)
 
HWY_API Mask256< int32_t > operator!= (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Mask256< float > operator!= (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Mask256< int8_t > operator> (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Mask256< int16_t > operator> (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Mask256< int32_t > operator> (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Mask256< int64_t > operator> (const Vec256< int64_t > a, const Vec256< int64_t > b)
 
template<typename T , HWY_IF_UNSIGNED(T) >
HWY_API Mask256< T > operator> (Vec256< T > a, Vec256< T > b)
 
HWY_API Mask256< float > operator> (const Vec256< float > a, const Vec256< float > b)
 
template<typename T >
HWY_API Mask256< T > operator< (const Vec256< T > a, const Vec256< T > b)
 
HWY_API Mask256< float > operator<= (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Mask256< float > operator>= (const Vec256< float > a, const Vec256< float > b)
 
template<typename T >
HWY_API Mask256< T > FirstN (const Full256< T > d, size_t num)
 
template<typename T >
HWY_API Vec256< T > Not (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > And (Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > AndNot (Vec256< T > not_mask, Vec256< T > mask)
 
template<typename T >
HWY_API Vec256< T > Or (Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > Xor (Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > OrAnd (Vec256< T > o, Vec256< T > a1, Vec256< T > a2)
 
template<typename T >
HWY_API Vec256< T > IfVecThenElse (Vec256< T > mask, Vec256< T > yes, Vec256< T > no)
 
template<typename T >
HWY_API Vec256< T > operator& (const Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > operator| (const Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > operator^ (const Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > CopySign (const Vec256< T > magn, const Vec256< T > sign)
 
template<typename T >
HWY_API Vec256< T > CopySignToAbs (const Vec256< T > abs, const Vec256< T > sign)
 
template<typename T , HWY_IF_NOT_LANE_SIZE(T, 1) >
HWY_API Vec256< T > BroadcastSignBit (const Vec256< T > v)
 
HWY_API Vec256< int8_t > BroadcastSignBit (const Vec256< int8_t > v)
 
template<typename T >
HWY_API Mask256< T > MaskFromVec (const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > VecFromMask (Full256< T >, Mask256< T > v)
 
template<typename T >
HWY_API Vec256< T > IfThenElse (Mask256< T > mask, Vec256< T > yes, Vec256< T > no)
 
template<typename T >
HWY_API Vec256< T > IfThenElseZero (Mask256< T > mask, Vec256< T > yes)
 
template<typename T >
HWY_API Vec256< T > IfThenZeroElse (Mask256< T > mask, Vec256< T > no)
 
template<typename T >
HWY_API Vec256< T IfNegativeThenElse(Vec256< T > v, Vec256< T > yes, Vec256< T > no) { HWY_ASSERT(0);}template< typename T, HWY_IF_FLOAT(T)>HWY_API Vec256< T > ZeroIfNegative(Vec256< T > v) { const Full256< T > d;const auto zero=Zero(d);return IfThenElse(Mask256< T >{(v > zero).raw}, v, zero);}template< typename T >HWY_API Mask256< T > Not(const Mask256< T > m) { return MaskFromVec(Not(VecFromMask(Full256< T >), m)));}template< typename T >HWY_API Mask256< T > And(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(And(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > AndNot(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(AndNot(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > Or(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(Or(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > Xor(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(Xor(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T, HWY_IF_LANE_SIZE(T, 2)>HWY_API Vec256< T > operator<<(Vec256< T > v, const Vec256< T > bits) { const Full256< T > d;Mask256< T > mask;auto test=BitCast(RebindToSigned< decltype(d)>), bits);test=ShiftLeft< 12 >test);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 8 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 4 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 2 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));return IfThenElse(mask, ShiftLeft< 1 >v), v);}template< typename T, HWY_IF_LANE_SIZE(T, 4)>HWY_API Vec256< T > operator<<(Vec256< T > v, const Vec256< T > bits) { const Full256< T > d;Mask256< T > mask;auto test=BitCast(RebindToSigned< decltype(d)>), bits);test=ShiftLeft< 27 >test);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 16 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 8 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 4 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 2 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));return IfThenElse(mask, ShiftLeft< 1 >v), v);}template< typename T, HWY_IF_LANE_SIZE(T, 2)>HWY_API Vec256< T > operator> (Vec256< T > v, const Vec256< T > bits)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > operator>> (Vec256< T > v, const Vec256< T > bits)
 
template<typename T >
HWY_API Vec256< T > Load (Full256< T >, const T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API Vec256< T > MaskedLoad (Mask256< T > m, Full256< T > d, const T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API Vec256< T > LoadU (Full256< T > d, const T *HWY_RESTRICT p)
 
template<typename T >
HWY_API Vec256< T > LoadDup128 (Full256< T > d, const T *HWY_RESTRICT p)
 
template<typename T >
HWY_API void Store (Vec256< T > v, Full256< T >, T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API void StoreU (Vec256< T > v, Full256< T > d, T *HWY_RESTRICT p)
 
template<typename T >
HWY_API void BlendedStore (Vec256< T > v, Mask256< T > m, Full256< T > d, T *HWY_RESTRICT p)
 
template<typename T >
HWY_API void Stream (Vec256< T > v, Full256< T >, T *HWY_RESTRICT aligned)
 
template<typename T , typename Offset >
HWY_API void ScatterOffset (Vec256< T > v, Full256< T > d, T *HWY_RESTRICT base, const Vec256< Offset > offset)
 
template<typename T , typename Index >
HWY_API void ScatterIndex (Vec256< T > v, Full256< T > d, T *HWY_RESTRICT base, const Vec256< Index > index)
 
template<typename T , typename Offset >
HWY_API Vec256< T > GatherOffset (const Full256< T > d, const T *HWY_RESTRICT base, const Vec256< Offset > offset)
 
template<typename T , typename Index >
HWY_API Vec256< T > GatherIndex (const Full256< T > d, const T *HWY_RESTRICT base, const Vec256< Index > index)
 
HWY_API uint8_t GetLane (const Vec256< uint8_t > v)
 
HWY_API int8_t GetLane (const Vec256< int8_t > v)
 
HWY_API uint16_t GetLane (const Vec256< uint16_t > v)
 
HWY_API int16_t GetLane (const Vec256< int16_t > v)
 
HWY_API uint32_t GetLane (const Vec256< uint32_t > v)
 
HWY_API int32_t GetLane (const Vec256< int32_t > v)
 
HWY_API uint64_t GetLane (const Vec256< uint64_t > v)
 
HWY_API int64_t GetLane (const Vec256< int64_t > v)
 
HWY_API float GetLane (const Vec256< float > v)
 
template<typename T >
HWY_API Vec128< T > LowerHalf (Full128< T >, Vec256< T > v)
 
template<typename T >
HWY_API Vec128< T > LowerHalf (Vec256< T > v)
 
template<int kBytes, typename T >
HWY_API Vec256< T > ShiftLeftBytes (Full256< T >, Vec256< T > v)
 
template<int kBytes, typename T >
HWY_API Vec256< T > ShiftLeftBytes (Vec256< T > v)
 
template<int kLanes, typename T >
HWY_API Vec256< T > ShiftLeftLanes (Full256< T > d, const Vec256< T > v)
 
template<int kLanes, typename T >
HWY_API Vec256< T > ShiftLeftLanes (const Vec256< T > v)
 
template<int kBytes, typename T >
HWY_API Vec256< T > ShiftRightBytes (Full256< T >, Vec256< T > v)
 
template<int kLanes, typename T >
HWY_API Vec256< T > ShiftRightLanes (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec128< T, 8/sizeof(T)> UpperHalf (Full128< T >, const Vec256< T > v)
 
HWY_API Vec128< float, 2 > UpperHalf (Full128< float >, const Vec128< float > v)
 
template<int kBytes, typename T , class V = Vec256<T>>
HWY_APICombineShiftRightBytes (Full256< T >, V hi, V lo)
 
template<int kLane>
HWY_API Vec256< uint16_t > Broadcast (const Vec256< uint16_t > v)
 
template<int kLane>
HWY_API Vec256< uint32_t > Broadcast (const Vec256< uint32_t > v)
 
template<int kLane>
HWY_API Vec256< int16_t > Broadcast (const Vec256< int16_t > v)
 
template<int kLane>
HWY_API Vec256< int32_t > Broadcast (const Vec256< int32_t > v)
 
template<int kLane>
HWY_API Vec256< float > Broadcast (const Vec256< float > v)
 
template<typename T , typename TI >
HWY_API Vec256< TI > TableLookupBytes (const Vec256< T > bytes, const Vec256< TI > from)
 
template<typename T , typename TI >
HWY_API Vec256< TI > TableLookupBytesOr0 (const Vec256< T > bytes, const Vec256< TI > from)
 
HWY_API Vec128< uint32_t > Shuffle1032 (const Vec128< uint32_t > v)
 
HWY_API Vec128< int32_t > Shuffle1032 (const Vec128< int32_t > v)
 
HWY_API Vec128< float > Shuffle1032 (const Vec128< float > v)
 
HWY_API Vec128< uint32_t > Shuffle0321 (const Vec128< uint32_t > v)
 
HWY_API Vec128< int32_t > Shuffle0321 (const Vec128< int32_t > v)
 
HWY_API Vec128< float > Shuffle0321 (const Vec128< float > v)
 
HWY_API Vec128< uint32_t > Shuffle2103 (const Vec128< uint32_t > v)
 
HWY_API Vec128< int32_t > Shuffle2103 (const Vec128< int32_t > v)
 
HWY_API Vec128< float > Shuffle2103 (const Vec128< float > v)
 
HWY_API Vec128< uint32_t > Shuffle0123 (const Vec128< uint32_t > v)
 
HWY_API Vec128< int32_t > Shuffle0123 (const Vec128< int32_t > v)
 
HWY_API Vec128< float > Shuffle0123 (const Vec128< float > v)
 
template<typename T , typename TI >
HWY_API Indices256< T > IndicesFromVec (Full256< T > d, Vec256< TI > vec)
 
template<typename T , typename TI >
HWY_API Indices256< T > SetTableIndices (Full256< T > d, const TI *idx)
 
template<typename T >
HWY_API Vec256< T > TableLookupLanes (Vec256< T > v, Indices256< T > idx)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec256< T > Reverse (Full256< T >, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Reverse2 (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Reverse4 (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Reverse8 (Full256< T > d, const Vec256< T > v)
 
HWY_API Vec256< uint8_t > InterleaveLower (Vec256< uint8_t > a, Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > InterleaveLower (Vec256< uint16_t > a, Vec256< uint16_t > b)
 
HWY_API Vec256< uint32_t > InterleaveLower (Vec256< uint32_t > a, Vec256< uint32_t > b)
 
HWY_API Vec256< uint64_t > InterleaveLower (Vec256< uint64_t > a, Vec256< uint64_t > b)
 
HWY_API Vec256< int8_t > InterleaveLower (Vec256< int8_t > a, Vec256< int8_t > b)
 
HWY_API Vec256< int16_t > InterleaveLower (Vec256< int16_t > a, Vec256< int16_t > b)
 
HWY_API Vec256< int32_t > InterleaveLower (Vec256< int32_t > a, Vec256< int32_t > b)
 
HWY_API Vec256< int64_t > InterleaveLower (Vec256< int64_t > a, Vec256< int64_t > b)
 
HWY_API Vec256< float > InterleaveLower (Vec256< float > a, Vec256< float > b)
 
template<typename T , class V = Vec256<T>>
HWY_APIInterleaveLower (Full256< T >, V a, V b)
 
template<typename T , class V = Vec256<T>>
HWY_APIInterleaveUpper (Full256< T >, V a, V b)
 
template<typename T , class DW = RepartitionToWide<Full256<T>>>
HWY_API VFromD< DW > ZipLower (Vec256< T > a, Vec256< T > b)
 
template<typename T , class D = Full256<T>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > ZipLower (DW dw, Vec256< T > a, Vec256< T > b)
 
template<typename T , class D = Full256<T>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > ZipUpper (DW dw, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > Combine (Full256< T > d, Vec128< T > hi_half, Vec128< T > lo_half)
 
template<typename T >
HWY_API Vec256< T > ZeroExtendVector (Full256< T > d, Vec128< T > lo)
 
template<typename T >
HWY_API Vec256< T > ConcatLowerLower (Full256< T >, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > ConcatUpperUpper (Full256< T >, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > ConcatLowerUpper (Full256< T > d, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > ConcatUpperLower (Full256< T > d, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > ConcatOdd (Full256< T >, Vec256< T > hi, Vec256< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > ConcatEven (Full256< T >, Vec256< T > hi, Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > DupEven (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > DupOdd (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > OddEven (const Vec256< T > a, const Vec256< T > b)
 
HWY_API Vec256< float > OddEven (const Vec256< float > a, const Vec256< float > b)
 
template<typename T >
HWY_API Vec256< T > OddEvenBlocks (Vec256< T >, Vec256< T > even)
 
template<typename T >
HWY_API Vec256< T > SwapAdjacentBlocks (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > ReverseBlocks (Full256< T >, const Vec256< T > v)
 
HWY_API Vec256< uint16_t > PromoteTo (Full256< uint16_t >, const Vec128< uint8_t > v)
 
HWY_API Vec256< uint32_t > PromoteTo (Full256< uint32_t >, const Vec128< uint8_t > v)
 
HWY_API Vec256< int16_t > PromoteTo (Full256< int16_t >, const Vec128< uint8_t > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, const Vec128< uint8_t > v)
 
HWY_API Vec256< uint32_t > PromoteTo (Full256< uint32_t >, const Vec128< uint16_t > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, const Vec128< uint16_t > v)
 
HWY_API Vec256< int16_t > PromoteTo (Full256< int16_t >, const Vec128< int8_t > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, const Vec128< int8_t > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, const Vec128< int16_t > v)
 
HWY_API Vec256< double > PromoteTo (Full256< double >, const Vec128< int32_t > v)
 
HWY_API Vec256< float > PromoteTo (Full256< float >, const Vec128< float16_t > v)
 
HWY_API Vec256< float > PromoteTo (Full256< float > df32, const Vec128< bfloat16_t > v)
 
HWY_API Vec128< uint16_t > DemoteTo (Full128< uint16_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< int16_t > DemoteTo (Full128< int16_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< uint8_t > DemoteTo (Full128< uint8_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< uint8_t > DemoteTo (Full128< uint8_t >, const Vec256< int16_t > v)
 
HWY_API Vec128< int8_t > DemoteTo (Full128< int8_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< int8_t > DemoteTo (Full128< int8_t >, const Vec256< int16_t > v)
 
HWY_API Vec128< int32_t > DemoteTo (Full128< int32_t >, const Vec256< double > v)
 
HWY_API Vec128< float16_tDemoteTo (Full128< float16_t >, const Vec256< float > v)
 
HWY_API Vec128< bfloat16_tDemoteTo (Full128< bfloat16_t > dbf16, const Vec256< float > v)
 
HWY_API Vec128< bfloat16_tReorderDemote2To (Full128< bfloat16_t > dbf16, Vec256< float > a, Vec256< float > b)
 
HWY_API Vec256< uint8_t > U8FromU32 (const Vec256< uint32_t > v)
 
HWY_API Vec256< float > ConvertTo (Full256< float >, const Vec256< int32_t > v)
 
HWY_API Vec256< int32_t > ConvertTo (Full256< int32_t >, const Vec256< float > v)
 
HWY_API Vec256< int32_t > NearestInt (const Vec256< float > v)
 
template<typename T >
HWY_API Mask256< T > LoadMaskBits (Full256< T > d, const uint8_t *HWY_RESTRICT bits)
 
template<typename T >
HWY_API size_t StoreMaskBits (const Full256< T >, const Mask256< T > mask, uint8_t *bits)
 
template<typename T >
HWY_API size_t CountTrue (const Full256< T >, const Mask128< T > m)
 
template<typename T >
HWY_API bool AllFalse (const Full256< T > d, const Mask128< T > m)
 
template<typename T >
HWY_API bool AllTrue (const Full256< T >, const Mask128< T > m)
 
template<typename T >
HWY_API intptr_t FindFirstTrue (const Full256< T >, const Mask256< T > mask)
 
template<typename T >
HWY_API Vec256< T > Compress (Vec256< T > v, const Mask256< T > mask)
 
template<typename T >
HWY_API Vec256< T > CompressBits (Vec256< T > v, const uint8_t *HWY_RESTRICT bits)
 
template<typename T >
HWY_API size_t CompressStore (Vec256< T > v, const Mask256< T > mask, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t CompressBlendedStore (Vec256< T > v, Mask256< T > m, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t CompressBitsStore (Vec256< T > v, const uint8_t *HWY_RESTRICT bits, Full256< T > d, T *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved3 (const Vec256< uint8_t > a, const Vec256< uint8_t > b, const Vec256< uint8_t > c, Full256< uint8_t > d, uint8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved4 (const Vec256< uint8_t > v0, const Vec256< uint8_t > v1, const Vec256< uint8_t > v2, const Vec256< uint8_t > v3, Full256< uint8_t > d8, uint8_t *HWY_RESTRICT unaligned)
 
HWY_INLINE Vec256< uint64_t > MulEven (const Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_INLINE Vec256< uint64_t > MulOdd (const Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Vec256< float > ReorderWidenMulAccumulate (Full256< float > df32, Vec256< bfloat16_t > a, Vec256< bfloat16_t > b, const Vec256< float > sum0, Vec256< float > &sum1)
 
template<typename T >
HWY_API Vec256< T > SumOfLanes (Full256< T >, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > MinOfLanes (Full256< T >, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > MaxOfLanes (Full256< T >, const Vec256< T > v)
 
template<typename T >
HWY_INLINE Mask256< T > Lt128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Vec256< T > Min128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Vec256< T > Max128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128< double, NZero (Simd< double, N, 0 >)
 
template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128< double, NSet (Simd< double, N, 0 >, const double t)
 
template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, NUndefined (Simd< float, N, 0 >)
 
template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128< double, NUndefined (Simd< double, N, 0 >)
 
template<size_t N>
HWY_API double GetLane (const Vec128< double, N > v)
 
template<size_t N>
HWY_API Vec128< float, NAnd (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< double, NAnd (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<size_t N>
HWY_API Vec128< float, NAndNot (const Vec128< float, N > not_mask, const Vec128< float, N > mask)
 
template<size_t N>
HWY_API Vec128< double, NAndNot (const Vec128< double, N > not_mask, const Vec128< double, N > mask)
 
template<size_t N>
HWY_API Vec128< float, NOr (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< double, NOr (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<size_t N>
HWY_API Vec128< float, NXor (const Vec128< float, N > a, const Vec128< float, N > b)
 
template<size_t N>
HWY_API Vec128< double, NXor (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NPopulationCount (Vec128< T, N > v)
 
template<size_t N>
HWY_API Vec128< double, NAbs (const Vec128< double, N > v)
 
template<size_t N>
HWY_API Vec128< float, NIfThenElse (Mask128< float, N > mask, Vec128< float, N > yes, Vec128< float, N > no)
 
template<size_t N>
HWY_API Vec128< double, NIfThenElse (Mask128< double, N > mask, Vec128< double, N > yes, Vec128< double, N > no)
 
template<size_t N>
HWY_API Vec128< float, NIfThenElseZero (Mask128< float, N > mask, Vec128< float, N > yes)
 
template<size_t N>
HWY_API Vec128< double, NIfThenElseZero (Mask128< double, N > mask, Vec128< double, N > yes)
 
template<size_t N>
HWY_API Vec128< float, NIfThenZeroElse (Mask128< float, N > mask, Vec128< float, N > no)
 
template<size_t N>
HWY_API Vec128< double, NIfThenZeroElse (Mask128< double, N > mask, Vec128< double, N > no)
 
template<size_t N>
HWY_API Vec128< uint32_t, NShuffle2301 (const Vec128< uint32_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NShuffle2301 (const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< float, NShuffle2301 (const Vec128< float, N > v)
 
HWY_API Vec128< uint64_t > Shuffle01 (const Vec128< uint64_t > v)
 
HWY_API Vec128< int64_t > Shuffle01 (const Vec128< int64_t > v)
 
HWY_API Vec128< double > Shuffle01 (const Vec128< double > v)
 
template<typename TFrom , size_t NFrom, typename TTo , size_t NTo>
HWY_API Mask128< TTo, NTo > RebindMask (Simd< TTo, NTo, 0 >, Mask128< TFrom, NFrom > m)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask128< T, Noperator== (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<size_t N>
HWY_API Mask128< double, Noperator== (Vec128< double, N > a, Vec128< double, N > b)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask128< T, Noperator!= (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<size_t N>
HWY_API Mask128< double, Noperator!= (Vec128< double, N > a, Vec128< double, N > b)
 
template<size_t N>
HWY_API Mask128< double, Noperator> (Vec128< double, N > a, Vec128< double, N > b)
 
template<size_t N>
HWY_API Mask128< double, Noperator>= (Vec128< double, N > a, Vec128< double, N > b)
 
template<size_t N>
HWY_API Mask128< float, NMaskFromVec (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Mask128< double, NMaskFromVec (const Vec128< double, N > v)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, NVecFromMask (const Mask128< T, N > v)
 
template<size_t N>
HWY_API Vec128< float, NVecFromMask (const Mask128< float, N > v)
 
template<size_t N>
HWY_API Vec128< double, NVecFromMask (const Mask128< double, N > v)
 
template<typename T , size_t N>
HWY_API Mask128< T, Noperator<= (Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Mask128< T, NFirstN (const Simd< T, N, 0 > d, size_t num)
 
HWY_API Vec128< float > Load (Full128< float >, const float *HWY_RESTRICT aligned)
 
HWY_API Vec128< double > Load (Full128< double >, const double *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API Vec128< T > LoadU (Full128< T >, const T *HWY_RESTRICT p)
 
HWY_API Vec128< double > LoadU (Full128< double >, const double *HWY_RESTRICT p)
 
template<typename T >
HWY_API Vec64< T > Load (Full64< T >, const T *HWY_RESTRICT p)
 
HWY_API Vec128< float, 2 > Load (Full64< float >, const float *HWY_RESTRICT p)
 
HWY_API Vec64< double > Load (Full64< double >, const double *HWY_RESTRICT p)
 
HWY_API Vec128< float, 1 > Load (Full32< float >, const float *HWY_RESTRICT p)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T, NLoadU (Simd< T, N, 0 > d, const T *HWY_RESTRICT p)
 
template<typename T , size_t N, typename T2 , HWY_IF_LE128(T, N) >
HWY_API Vec128< T, NIota (const Simd< T, N, 0 > d, const T2 first)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, NMaskedLoad (Mask128< T, N > m, Simd< T, N, 0 >, const T *HWY_RESTRICT p)
 
template<size_t N>
HWY_API Vec128< float, NMaskedLoad (Mask128< float, N > m, Simd< float, N, 0 >, const float *HWY_RESTRICT p)
 
template<size_t N>
HWY_API Vec128< double, NMaskedLoad (Mask128< double, N > m, Simd< double, N, 0 >, const double *HWY_RESTRICT p)
 
HWY_API void Store (const Vec128< float > v, Full128< float >, float *HWY_RESTRICT aligned)
 
HWY_API void Store (const Vec128< double > v, Full128< double >, double *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API void StoreU (Vec128< T > v, Full128< T >, T *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec128< double > v, Full128< double >, double *HWY_RESTRICT p)
 
template<typename T >
HWY_API void Store (Vec64< T > v, Full64< T >, T *HWY_RESTRICT p)
 
HWY_API void Store (const Vec128< float, 2 > v, Full64< float >, float *HWY_RESTRICT p)
 
HWY_API void Store (const Vec64< double > v, Full64< double >, double *HWY_RESTRICT p)
 
HWY_API void Store (const Vec128< float, 1 > v, Full32< float >, float *HWY_RESTRICT p)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API void StoreU (const Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT p)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API void BlendedStore (Vec128< T, N > v, Mask128< T, N > m, Simd< T, N, 0 >, T *HWY_RESTRICT p)
 
template<size_t N>
HWY_API void BlendedStore (Vec128< float, N > v, Mask128< float, N > m, Simd< float, N, 0 >, float *HWY_RESTRICT p)
 
template<size_t N>
HWY_API void BlendedStore (Vec128< double, N > v, Mask128< double, N > m, Simd< double, N, 0 >, double *HWY_RESTRICT p)
 
template<size_t N>
HWY_API Vec128< double, Noperator+ (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<size_t N>
HWY_API Vec128< double, Noperator- (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128< int64_t,(N+1)/2 > MulEven (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NBroadcastSignBit (const Vec128< int16_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NBroadcastSignBit (const Vec128< int32_t, N > v)
 
template<size_t N>
HWY_API Vec128< int64_t, NBroadcastSignBit (const Vec128< int64_t, N > v)
 
template<size_t N>
HWY_API Vec128< int8_t, NIfNegativeThenElse (const Vec128< int8_t, N > v, const Vec128< int8_t, N > yes, const Vec128< int8_t, N > no)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, NIfNegativeThenElse (Vec128< T, N > v, Vec128< T, N > yes, Vec128< T, N > no)
 
HWY_API Vec128< float, 1 > operator* (const Vec128< float, 1 > a, const Vec128< float, 1 > b)
 
template<size_t N>
HWY_API Vec128< double, Noperator* (const Vec128< double, N > a, const Vec128< double, N > b)
 
HWY_API Vec64< double > operator* (const Vec64< double > a, const Vec64< double > b)
 
HWY_API Vec128< float, 1 > operator/ (const Vec128< float, 1 > a, const Vec128< float, 1 > b)
 
template<size_t N>
HWY_API Vec128< double, Noperator/ (const Vec128< double, N > a, const Vec128< double, N > b)
 
HWY_API Vec64< double > operator/ (const Vec64< double > a, const Vec64< double > b)
 
HWY_API Vec128< float, 1 > ApproximateReciprocal (const Vec128< float, 1 > v)
 
template<size_t N>
HWY_API Vec128< double, NMulAdd (const Vec128< double, N > mul, const Vec128< double, N > x, const Vec128< double, N > add)
 
template<size_t N>
HWY_API Vec128< double, NNegMulAdd (const Vec128< double, N > mul, const Vec128< double, N > x, const Vec128< double, N > add)
 
template<size_t N>
HWY_API Vec128< double, NMulSub (const Vec128< double, N > mul, const Vec128< double, N > x, const Vec128< double, N > sub)
 
template<size_t N>
HWY_API Vec128< double, NNegMulSub (const Vec128< double, N > mul, const Vec128< double, N > x, const Vec128< double, N > sub)
 
HWY_API Vec128< float, 1 > Sqrt (const Vec128< float, 1 > v)
 
template<size_t N>
HWY_API Vec128< double, NSqrt (const Vec128< double, N > v)
 
HWY_API Vec64< double > Sqrt (const Vec64< double > v)
 
HWY_API Vec128< float, 1 > ApproximateReciprocalSqrt (const Vec128< float, 1 > v)
 
template<size_t N>
HWY_API Vec128< double, NMin (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<size_t N>
HWY_API Vec128< double, NMax (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<size_t N>
HWY_API void Stream (const Vec128< float, N > v, Simd< float, N, 0 >, float *HWY_RESTRICT aligned)
 
template<size_t N>
HWY_API void Stream (const Vec128< double, N > v, Simd< double, N, 0 >, double *HWY_RESTRICT aligned)
 
template<typename T , size_t N, typename Offset >
HWY_API void ScatterOffset (Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT base, const Vec128< Offset, N > offset)
 
template<typename T , size_t N, typename Index >
HWY_API void ScatterIndex (Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT base, const Vec128< Index, N > index)
 
template<size_t N>
HWY_API void ScatterOffset (Vec128< float, N > v, Simd< float, N, 0 >, float *HWY_RESTRICT base, const Vec128< int32_t, N > offset)
 
template<size_t N>
HWY_API void ScatterIndex (Vec128< float, N > v, Simd< float, N, 0 >, float *HWY_RESTRICT base, const Vec128< int32_t, N > index)
 
template<size_t N>
HWY_API void ScatterOffset (Vec128< double, N > v, Simd< double, N, 0 >, double *HWY_RESTRICT base, const Vec128< int64_t, N > offset)
 
template<size_t N>
HWY_API void ScatterIndex (Vec128< double, N > v, Simd< double, N, 0 >, double *HWY_RESTRICT base, const Vec128< int64_t, N > index)
 
template<typename T >
HWY_API Vec64< T > UpperHalf (Half< Full128< T >>, Vec128< T > v)
 
HWY_API Vec64< double > UpperHalf (Full64< double >, Vec128< double > v)
 
template<int kLane, size_t N>
HWY_API Vec128< uint16_t, NBroadcast (const Vec128< uint16_t, N > v)
 
template<int kLane, size_t N>
HWY_API Vec128< uint32_t, NBroadcast (const Vec128< uint32_t, N > v)
 
template<int kLane, size_t N>
HWY_API Vec128< uint64_t, NBroadcast (const Vec128< uint64_t, N > v)
 
template<int kLane, size_t N>
HWY_API Vec128< int16_t, NBroadcast (const Vec128< int16_t, N > v)
 
template<int kLane, size_t N>
HWY_API Vec128< int32_t, NBroadcast (const Vec128< int32_t, N > v)
 
template<int kLane, size_t N>
HWY_API Vec128< int64_t, NBroadcast (const Vec128< int64_t, N > v)
 
template<int kLane, size_t N>
HWY_API Vec128< float, NBroadcast (const Vec128< float, N > v)
 
template<int kLane, size_t N>
HWY_API Vec128< double, NBroadcast (const Vec128< double, N > v)
 
template<typename T , size_t N, typename TI , HWY_IF_LE128(T, N) , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Indices128< T, NIndicesFromVec (Simd< T, N, 0 > d, Vec128< TI, N > vec)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, NTableLookupLanes (Vec128< T, N > v, Indices128< T, N > idx)
 
template<size_t N, HWY_IF_GE64(float, N) >
HWY_API Vec128< float, NTableLookupLanes (Vec128< float, N > v, Indices128< float, N > idx)
 
template<typename T >
HWY_API Vec128< T, 1 > TableLookupLanes (Vec128< T, 1 > v, Indices128< T, 1 >)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > TableLookupLanes (Vec128< T > v, Indices128< T > idx)
 
HWY_API Vec128< double > TableLookupLanes (Vec128< double > v, Indices128< double > idx)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, 2 > Reverse (Full64< T >, const Vec128< T, 2 > v)
 
template<size_t N, HWY_IF_LE128(uint8_t, N) >
HWY_API Vec128< uint8_t, NInterleaveLower (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b)
 
template<size_t N, HWY_IF_LE128(uint16_t, N) >
HWY_API Vec128< uint16_t, NInterleaveLower (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N, HWY_IF_LE128(uint32_t, N) >
HWY_API Vec128< uint32_t, NInterleaveLower (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
template<size_t N, HWY_IF_LE128(uint64_t, N) >
HWY_API Vec128< uint64_t, NInterleaveLower (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b)
 
template<size_t N, HWY_IF_LE128(int8_t, N) >
HWY_API Vec128< int8_t, NInterleaveLower (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b)
 
template<size_t N, HWY_IF_LE128(int16_t, N) >
HWY_API Vec128< int16_t, NInterleaveLower (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N, HWY_IF_LE128(int32_t, N) >
HWY_API Vec128< int32_t, NInterleaveLower (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N, HWY_IF_LE128(int64_t, N) >
HWY_API Vec128< int64_t, NInterleaveLower (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b)
 
template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128< double, NInterleaveLower (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<typename T , HWY_IF_NOT_FLOAT(T) >
HWY_API Vec128< T > ZeroExtendVector (Full128< T >, Vec64< T > lo)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T, NZeroExtendVector (Simd< T, N, 0 > d, Vec128< T, N/2 > lo)
 
template<typename T >
HWY_API Vec128< T > ConcatUpperLower (Full128< T > d, Vec128< T > hi, Vec128< T > lo)
 
HWY_API Vec128< float > ConcatUpperLower (Full128< float >, const Vec128< float > hi, const Vec128< float > lo)
 
HWY_API Vec128< double > ConcatUpperLower (Full128< double >, const Vec128< double > hi, const Vec128< double > lo)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T, NConcatUpperLower (Simd< T, N, 0 > d, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, 2 > ConcatOdd (Full64< T > d, Vec128< T, 2 > hi, Vec128< T, 2 > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, 2 > ConcatEven (Full64< T > d, Vec128< T, 2 > hi, Vec128< T, 2 > lo)
 
template<size_t N>
HWY_API Vec128< float, NDupEven (Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< float, NDupOdd (Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< double, NOddEven (const Vec128< double, N > a, const Vec128< double, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, Noperator<< (const Vec128< uint16_t, N > v, const Vec128< uint16_t, N > bits)
 
HWY_API Vec128< uint16_t, 1 > operator<< (const Vec128< uint16_t, 1 > v, const Vec128< uint16_t, 1 > bits)
 
template<size_t N>
HWY_API Vec128< uint32_t, Noperator<< (const Vec128< uint32_t, N > v, const Vec128< uint32_t, N > bits)
 
HWY_API Vec128< uint32_t, 1 > operator<< (const Vec128< uint32_t, 1 > v, const Vec128< uint32_t, 1 > bits)
 
template<size_t N>
HWY_API Vec128< uint16_t, Noperator>> (const Vec128< uint16_t, N > in, const Vec128< uint16_t, N > bits)
 
HWY_API Vec128< uint16_t, 1 > operator>> (const Vec128< uint16_t, 1 > in, const Vec128< uint16_t, 1 > bits)
 
template<size_t N>
HWY_API Vec128< uint32_t, Noperator>> (const Vec128< uint32_t, N > in, const Vec128< uint32_t, N > bits)
 
HWY_API Vec128< uint32_t, 1 > operator>> (const Vec128< uint32_t, 1 > in, const Vec128< uint32_t, 1 > bits)
 
template<size_t N>
HWY_API Vec128< int16_t, Noperator>> (const Vec128< int16_t, N > v, const Vec128< int16_t, N > bits)
 
HWY_API Vec128< int16_t, 1 > operator>> (const Vec128< int16_t, 1 > v, const Vec128< int16_t, 1 > bits)
 
template<size_t N>
HWY_API Vec128< int32_t, Noperator>> (const Vec128< int32_t, N > v, const Vec128< int32_t, N > bits)
 
HWY_API Vec128< int32_t, 1 > operator>> (const Vec128< int32_t, 1 > v, const Vec128< int32_t, 1 > bits)
 
template<size_t N>
HWY_API Vec128< int64_t, Noperator>> (const Vec128< int64_t, N > v, const Vec128< int64_t, N > bits)
 
template<size_t N>
HWY_INLINE_F16 Vec128< float, NPromoteTo (Simd< float, N, 0 > df32, const Vec128< float16_t, N > v)
 
template<size_t N>
HWY_API Vec128< double, NPromoteTo (Simd< double, N, 0 >, const Vec128< float, N > v)
 
template<size_t N>
HWY_API Vec128< float, NDemoteTo (Simd< float, N, 0 >, const Vec128< double, N > v)
 
template<size_t N>
HWY_API Vec128< double, NConvertTo (Simd< double, N, 0 > dd, const Vec128< int64_t, N > v)
 
HWY_API Vec128< int64_t > ConvertTo (Full128< int64_t > di, const Vec128< double > v)
 
HWY_API Vec64< int64_t > ConvertTo (Full64< int64_t > di, const Vec64< double > v)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NRound (const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NTrunc (const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NCeil (const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, NFloor (const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API size_t CountTrue (const Simd< T, N, 0 >, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_API bool AllFalse (const Simd< T, N, 0 >, const Mask128< T, N > mask)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, NCompress (Vec128< T, N > v, Mask128< T, N > mask)
 
template<size_t N>
HWY_API Vec128< float, NCompress (Vec128< float, N > v, Mask128< float, N > mask)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API size_t CompressStore (Vec128< T, N > v, Mask128< T, N > mask, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
template<size_t N, HWY_IF_LE128(float, N) >
HWY_API size_t CompressStore (Vec128< float, N > v, Mask128< float, N > mask, Simd< float, N, 0 >, float *HWY_RESTRICT unaligned)
 
template<size_t N, HWY_IF_LE128(double, N) >
HWY_API size_t CompressStore (Vec128< double, N > v, Mask128< double, N > mask, Simd< double, N, 0 >, double *HWY_RESTRICT unaligned)
 
template<class D , class V = VFromD<D>>
HWY_API MFromD< D > Lt128 (D d, const V a, const V b)
 
template<class D , class V = VFromD<D>>
HWY_APIMin128 (D d, const V a, const V b)
 
template<class D , class V = VFromD<D>>
HWY_APIMax128 (D d, const V a, const V b)
 
HWY_API Vec256< double > Zero (Full256< double >)
 
HWY_API Vec256< double > Set (Full256< double >, const double t)
 
HWY_API Vec256< float > Undefined (Full256< float >)
 
HWY_API Vec256< double > Undefined (Full256< double >)
 
HWY_API Vec256< float > And (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< double > And (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< float > AndNot (const Vec256< float > not_mask, const Vec256< float > mask)
 
HWY_API Vec256< double > AndNot (const Vec256< double > not_mask, const Vec256< double > mask)
 
HWY_API Vec256< float > Or (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< double > Or (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< float > Xor (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< double > Xor (const Vec256< double > a, const Vec256< double > b)
 
template<typename T >
HWY_API Vec256< T > PopulationCount (Vec256< T > v)
 
HWY_API Vec256< float > IfThenElse (Mask256< float > mask, Vec256< float > yes, Vec256< float > no)
 
HWY_API Vec256< double > IfThenElse (Mask256< double > mask, Vec256< double > yes, Vec256< double > no)
 
HWY_API Vec256< float > IfThenElseZero (Mask256< float > mask, Vec256< float > yes)
 
HWY_API Vec256< double > IfThenElseZero (Mask256< double > mask, Vec256< double > yes)
 
HWY_API Vec256< float > IfThenZeroElse (Mask256< float > mask, Vec256< float > no)
 
HWY_API Vec256< double > IfThenZeroElse (Mask256< double > mask, Vec256< double > no)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec256< T > ZeroIfNegative (const Vec256< T > v)
 
template<typename T >
HWY_API Mask256< T > And (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Mask256< T > AndNot (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Mask256< T > Or (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Mask256< T > Xor (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Mask256< T > Not (const Mask256< T > m)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask256< T > operator== (const Vec256< T > a, const Vec256< T > b)
 
HWY_API Mask256< double > operator== (Vec256< double > a, Vec256< double > b)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask256< T > operator!= (const Vec256< T > a, const Vec256< T > b)
 
HWY_API Mask256< double > operator!= (Vec256< double > a, Vec256< double > b)
 
HWY_API Mask256< uint8_t > operator> (Vec256< uint8_t > a, Vec256< uint8_t > b)
 
HWY_API Mask256< uint16_t > operator> (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Mask256< uint32_t > operator> (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Mask256< uint64_t > operator> (const Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Mask256< double > operator> (Vec256< double > a, Vec256< double > b)
 
HWY_API Mask256< double > operator>= (Vec256< double > a, Vec256< double > b)
 
HWY_API Mask256< float > MaskFromVec (const Vec256< float > v)
 
HWY_API Mask256< double > MaskFromVec (const Vec256< double > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > VecFromMask (const Mask256< T > v)
 
HWY_API Vec256< float > VecFromMask (const Mask256< float > v)
 
HWY_API Vec256< double > VecFromMask (const Mask256< double > v)
 
template<typename T >
HWY_API Mask256< T > operator<= (const Vec256< T > a, const Vec256< T > b)
 
HWY_API Vec256< double > Min (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< double > Max (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< uint64_t > operator+ (const Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Vec256< int64_t > operator+ (const Vec256< int64_t > a, const Vec256< int64_t > b)
 
HWY_API Vec256< double > operator+ (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< uint64_t > operator- (const Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Vec256< int64_t > operator- (const Vec256< int64_t > a, const Vec256< int64_t > b)
 
HWY_API Vec256< double > operator- (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< double > Abs (const Vec256< double > v)
 
template<int kBits>
HWY_API Vec256< uint64_t > ShiftLeft (const Vec256< uint64_t > v)
 
template<int kBits>
HWY_API Vec256< int64_t > ShiftLeft (const Vec256< int64_t > v)
 
template<int kBits>
HWY_API Vec256< uint64_t > ShiftRight (const Vec256< uint64_t > v)
 
template<int kBits>
HWY_API Vec256< uint32_t > RotateRight (const Vec256< uint32_t > v)
 
template<int kBits>
HWY_API Vec256< uint64_t > RotateRight (const Vec256< uint64_t > v)
 
HWY_API Vec256< int16_t > BroadcastSignBit (const Vec256< int16_t > v)
 
HWY_API Vec256< int32_t > BroadcastSignBit (const Vec256< int32_t > v)
 
HWY_API Vec256< int64_t > BroadcastSignBit (const Vec256< int64_t > v)
 
template<int kBits>
HWY_API Vec256< int64_t > ShiftRight (const Vec256< int64_t > v)
 
HWY_API Vec256< int8_t > IfNegativeThenElse (Vec256< int8_t > v, Vec256< int8_t > yes, Vec256< int8_t > no)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > IfNegativeThenElse (Vec256< T > v, Vec256< T > yes, Vec256< T > no)
 
HWY_API Vec256< uint64_t > ShiftLeftSame (const Vec256< uint64_t > v, const int bits)
 
HWY_API Vec256< int64_t > ShiftLeftSame (const Vec256< int64_t > v, const int bits)
 
HWY_API Vec256< uint64_t > ShiftRightSame (const Vec256< uint64_t > v, const int bits)
 
HWY_API Vec256< int64_t > ShiftRightSame (const Vec256< int64_t > v, const int bits)
 
HWY_API Vec256< double > operator* (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< double > operator/ (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< double > MulAdd (const Vec256< double > mul, const Vec256< double > x, const Vec256< double > add)
 
HWY_API Vec256< double > NegMulAdd (const Vec256< double > mul, const Vec256< double > x, const Vec256< double > add)
 
HWY_API Vec256< double > MulSub (const Vec256< double > mul, const Vec256< double > x, const Vec256< double > sub)
 
HWY_API Vec256< double > NegMulSub (const Vec256< double > mul, const Vec256< double > x, const Vec256< double > sub)
 
HWY_API Vec256< double > Sqrt (const Vec256< double > v)
 
HWY_API Vec256< double > Round (const Vec256< double > v)
 
HWY_API Vec256< double > Trunc (const Vec256< double > v)
 
HWY_API Vec256< double > Ceil (const Vec256< double > v)
 
HWY_API Vec256< double > Floor (const Vec256< double > v)
 
HWY_API Vec256< float > Load (Full256< float >, const float *HWY_RESTRICT aligned)
 
HWY_API Vec256< double > Load (Full256< double >, const double *HWY_RESTRICT aligned)
 
HWY_API Vec256< float > LoadU (Full256< float >, const float *HWY_RESTRICT p)
 
HWY_API Vec256< double > LoadU (Full256< double >, const double *HWY_RESTRICT p)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > MaskedLoad (Mask256< T > m, Full256< T >, const T *HWY_RESTRICT p)
 
HWY_API Vec256< float > MaskedLoad (Mask256< float > m, Full256< float >, const float *HWY_RESTRICT p)
 
HWY_API Vec256< double > MaskedLoad (Mask256< double > m, Full256< double >, const double *HWY_RESTRICT p)
 
HWY_API Vec256< float > LoadDup128 (Full256< float >, const float *const HWY_RESTRICT p)
 
HWY_API Vec256< double > LoadDup128 (Full256< double >, const double *const HWY_RESTRICT p)
 
HWY_API void Store (const Vec256< float > v, Full256< float >, float *HWY_RESTRICT aligned)
 
HWY_API void Store (const Vec256< double > v, Full256< double >, double *HWY_RESTRICT aligned)
 
HWY_API void StoreU (const Vec256< float > v, Full256< float >, float *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec256< double > v, Full256< double >, double *HWY_RESTRICT p)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API void BlendedStore (Vec256< T > v, Mask256< T > m, Full256< T >, T *HWY_RESTRICT p)
 
HWY_API void BlendedStore (Vec256< float > v, Mask256< float > m, Full256< float >, float *HWY_RESTRICT p)
 
HWY_API void BlendedStore (Vec256< double > v, Mask256< double > m, Full256< double >, double *HWY_RESTRICT p)
 
HWY_API void Stream (const Vec256< float > v, Full256< float >, float *HWY_RESTRICT aligned)
 
HWY_API void Stream (const Vec256< double > v, Full256< double >, double *HWY_RESTRICT aligned)
 
HWY_API void ScatterOffset (Vec256< float > v, Full256< float >, float *HWY_RESTRICT base, const Vec256< int32_t > offset)
 
HWY_API void ScatterIndex (Vec256< float > v, Full256< float >, float *HWY_RESTRICT base, const Vec256< int32_t > index)
 
HWY_API void ScatterOffset (Vec256< double > v, Full256< double >, double *HWY_RESTRICT base, const Vec256< int64_t > offset)
 
HWY_API void ScatterIndex (Vec256< double > v, Full256< double >, double *HWY_RESTRICT base, const Vec256< int64_t > index)
 
HWY_API Vec256< float > GatherOffset (Full256< float >, const float *HWY_RESTRICT base, const Vec256< int32_t > offset)
 
HWY_API Vec256< float > GatherIndex (Full256< float >, const float *HWY_RESTRICT base, const Vec256< int32_t > index)
 
HWY_API Vec256< double > GatherOffset (Full256< double >, const double *HWY_RESTRICT base, const Vec256< int64_t > offset)
 
HWY_API Vec256< double > GatherIndex (Full256< double >, const double *HWY_RESTRICT base, const Vec256< int64_t > index)
 
HWY_API Vec128< float > LowerHalf (Full128< float >, Vec256< float > v)
 
HWY_API Vec128< double > LowerHalf (Full128< double >, Vec256< double > v)
 
template<typename T >
HWY_API Vec128< T > UpperHalf (Full128< T >, Vec256< T > v)
 
HWY_API Vec128< float > UpperHalf (Full128< float >, Vec256< float > v)
 
HWY_API Vec128< double > UpperHalf (Full128< double >, Vec256< double > v)
 
template<typename T >
HWY_APIGetLane (const Vec256< T > v)
 
HWY_API Vec256< float > ZeroExtendVector (Full256< float >, Vec128< float > lo)
 
HWY_API Vec256< double > ZeroExtendVector (Full256< double >, Vec128< double > lo)
 
HWY_API Vec256< float > Combine (Full256< float > d, Vec128< float > hi, Vec128< float > lo)
 
HWY_API Vec256< double > Combine (Full256< double > d, Vec128< double > hi, Vec128< double > lo)
 
template<int kLane>
HWY_API Vec256< uint64_t > Broadcast (const Vec256< uint64_t > v)
 
template<int kLane>
HWY_API Vec256< int64_t > Broadcast (const Vec256< int64_t > v)
 
template<int kLane>
HWY_API Vec256< double > Broadcast (const Vec256< double > v)
 
HWY_API Vec256< uint32_t > Shuffle2301 (const Vec256< uint32_t > v)
 
HWY_API Vec256< int32_t > Shuffle2301 (const Vec256< int32_t > v)
 
HWY_API Vec256< float > Shuffle2301 (const Vec256< float > v)
 
HWY_API Vec256< uint32_t > Shuffle1032 (const Vec256< uint32_t > v)
 
HWY_API Vec256< int32_t > Shuffle1032 (const Vec256< int32_t > v)
 
HWY_API Vec256< float > Shuffle1032 (const Vec256< float > v)
 
HWY_API Vec256< uint64_t > Shuffle01 (const Vec256< uint64_t > v)
 
HWY_API Vec256< int64_t > Shuffle01 (const Vec256< int64_t > v)
 
HWY_API Vec256< double > Shuffle01 (const Vec256< double > v)
 
HWY_API Vec256< uint32_t > Shuffle0321 (const Vec256< uint32_t > v)
 
HWY_API Vec256< int32_t > Shuffle0321 (const Vec256< int32_t > v)
 
HWY_API Vec256< float > Shuffle0321 (const Vec256< float > v)
 
HWY_API Vec256< uint32_t > Shuffle2103 (const Vec256< uint32_t > v)
 
HWY_API Vec256< int32_t > Shuffle2103 (const Vec256< int32_t > v)
 
HWY_API Vec256< float > Shuffle2103 (const Vec256< float > v)
 
HWY_API Vec256< uint32_t > Shuffle0123 (const Vec256< uint32_t > v)
 
HWY_API Vec256< int32_t > Shuffle0123 (const Vec256< int32_t > v)
 
HWY_API Vec256< float > Shuffle0123 (const Vec256< float > v)
 
template<typename T , typename TI , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Indices256< T > IndicesFromVec (Full256< T >, Vec256< TI > vec)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > TableLookupLanes (Vec256< T > v, Indices256< T > idx)
 
HWY_API Vec256< float > TableLookupLanes (const Vec256< float > v, const Indices256< float > idx)
 
HWY_API Vec256< double > TableLookupLanes (const Vec256< double > v, const Indices256< double > idx)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > Reverse2 (Full256< T > d, const Vec256< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > Reverse4 (Full256< T > d, const Vec256< T > v)
 
HWY_API Vec256< double > Reverse4 (Full256< double >, Vec256< double > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > Reverse8 (Full256< T > d, const Vec256< T > v)
 
HWY_API Vec256< double > InterleaveLower (const Vec256< double > a, const Vec256< double > b)
 
template<typename T , typename TW = MakeWide<T>>
HWY_API Vec256< TW > ZipLower (Vec256< T > a, Vec256< T > b)
 
template<typename T , typename TW = MakeWide<T>>
HWY_API Vec256< TW > ZipLower (Full256< TW > dw, Vec256< T > a, Vec256< T > b)
 
template<typename T , typename TW = MakeWide<T>>
HWY_API Vec256< TW > ZipUpper (Full256< TW > dw, Vec256< T > a, Vec256< T > b)
 
HWY_API Vec256< float > ConcatLowerLower (Full256< float > d, const Vec256< float > hi, const Vec256< float > lo)
 
HWY_API Vec256< double > ConcatLowerLower (Full256< double > d, const Vec256< double > hi, const Vec256< double > lo)
 
HWY_API Vec256< float > ConcatLowerUpper (Full256< float >, const Vec256< float > hi, const Vec256< float > lo)
 
HWY_API Vec256< double > ConcatLowerUpper (Full256< double >, const Vec256< double > hi, const Vec256< double > lo)
 
HWY_API Vec256< float > ConcatUpperLower (Full256< float >, const Vec256< float > hi, const Vec256< float > lo)
 
HWY_API Vec256< double > ConcatUpperLower (Full256< double >, const Vec256< double > hi, const Vec256< double > lo)
 
HWY_API Vec256< float > ConcatOdd (Full256< float > d, Vec256< float > hi, Vec256< float > lo)
 
HWY_API Vec256< double > ConcatOdd (Full256< double > d, Vec256< double > hi, Vec256< double > lo)
 
HWY_API Vec256< float > ConcatEven (Full256< float > d, Vec256< float > hi, Vec256< float > lo)
 
HWY_API Vec256< double > ConcatEven (Full256< double > d, Vec256< double > hi, Vec256< double > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > DupEven (Vec256< T > v)
 
HWY_API Vec256< float > DupEven (Vec256< float > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > DupOdd (Vec256< T > v)
 
HWY_API Vec256< float > DupOdd (Vec256< float > v)
 
HWY_API Vec256< double > OddEven (const Vec256< double > a, const Vec256< double > b)
 
template<typename T >
Vec256< T > OddEvenBlocks (Vec256< T > odd, Vec256< T > even)
 
HWY_API Vec256< float > OddEvenBlocks (Vec256< float > odd, Vec256< float > even)
 
HWY_API Vec256< double > OddEvenBlocks (Vec256< double > odd, Vec256< double > even)
 
HWY_API Vec256< float > SwapAdjacentBlocks (Vec256< float > v)
 
HWY_API Vec256< double > SwapAdjacentBlocks (Vec256< double > v)
 
template<typename T , typename TI , size_t NI>
HWY_API Vec128< TI, NI > TableLookupBytes (const Vec256< T > bytes, const Vec128< TI, NI > from)
 
template<typename T , size_t N, typename TI >
HWY_API Vec256< TI > TableLookupBytes (const Vec128< T, N > bytes, const Vec256< TI > from)
 
HWY_API Vec256< uint16_t > operator<< (const Vec256< uint16_t > v, const Vec256< uint16_t > bits)
 
HWY_API Vec256< uint32_t > operator<< (const Vec256< uint32_t > v, const Vec256< uint32_t > bits)
 
HWY_API Vec256< uint64_t > operator<< (const Vec256< uint64_t > v, const Vec256< uint64_t > bits)
 
template<typename T , HWY_IF_SIGNED(T) >
HWY_API Vec256< T > operator<< (const Vec256< T > v, const Vec256< T > bits)
 
HWY_API Vec256< uint16_t > operator>> (const Vec256< uint16_t > v, const Vec256< uint16_t > bits)
 
HWY_API Vec256< uint32_t > operator>> (const Vec256< uint32_t > v, const Vec256< uint32_t > bits)
 
HWY_API Vec256< uint64_t > operator>> (const Vec256< uint64_t > v, const Vec256< uint64_t > bits)
 
HWY_API Vec256< int16_t > operator>> (const Vec256< int16_t > v, const Vec256< int16_t > bits)
 
HWY_API Vec256< int32_t > operator>> (const Vec256< int32_t > v, const Vec256< int32_t > bits)
 
HWY_API Vec256< int64_t > operator>> (const Vec256< int64_t > v, const Vec256< int64_t > bits)
 
HWY_API Vec256< double > PromoteTo (Full256< double >, const Vec128< float, 4 > v)
 
HWY_API Vec256< double > PromoteTo (Full256< double >, const Vec128< int32_t, 4 > v)
 
HWY_API Vec256< uint32_t > PromoteTo (Full256< uint32_t >, Vec128< uint8_t, 8 > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, Vec128< uint8_t, 8 > v)
 
HWY_API Vec256< uint64_t > PromoteTo (Full256< uint64_t >, Vec128< uint32_t > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, Vec128< int8_t, 8 > v)
 
HWY_API Vec256< int64_t > PromoteTo (Full256< int64_t >, Vec128< int32_t > v)
 
HWY_API Vec128< uint8_t, 8 > DemoteTo (Full64< uint8_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< int8_t, 8 > DemoteTo (Full64< int8_t >, const Vec256< int32_t > v)
 
HWY_API Vec256< bfloat16_tReorderDemote2To (Full256< bfloat16_t > dbf16, Vec256< float > a, Vec256< float > b)
 
HWY_API Vec128< float > DemoteTo (Full128< float >, const Vec256< double > v)
 
HWY_API Vec256< double > ConvertTo (Full256< double > dd, const Vec256< int64_t > v)
 
HWY_API Vec256< int64_t > ConvertTo (Full256< int64_t > di, const Vec256< double > v)
 
HWY_API Vec256< uint8_t > AESRound (Vec256< uint8_t > state, Vec256< uint8_t > round_key)
 
HWY_API Vec256< uint8_t > AESLastRound (Vec256< uint8_t > state, Vec256< uint8_t > round_key)
 
HWY_API Vec256< uint64_t > CLMulLower (Vec256< uint64_t > a, Vec256< uint64_t > b)
 
HWY_API Vec256< uint64_t > CLMulUpper (Vec256< uint64_t > a, Vec256< uint64_t > b)
 
template<typename T , typename T2 >
HWY_API Vec256< T > Iota (const Full256< T > d, const T2 first)
 
template<typename T >
HWY_API size_t CountTrue (const Full256< T >, const Mask256< T > mask)
 
template<typename T >
HWY_API bool AllFalse (const Full256< T >, const Mask256< T > mask)
 
template<typename T >
HWY_API bool AllTrue (const Full256< T >, const Mask256< T > mask)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > Compress (Vec256< T > v, Mask256< T > mask)
 
HWY_API Vec256< float > Compress (Vec256< float > v, Mask256< float > mask)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API size_t CompressStore (Vec256< T > v, Mask256< T > mask, Full256< T > d, T *HWY_RESTRICT unaligned)
 
HWY_API size_t CompressStore (Vec256< float > v, Mask256< float > mask, Full256< float >, float *HWY_RESTRICT unaligned)
 
HWY_API size_t CompressStore (Vec256< double > v, Mask256< double > mask, Full256< double >, double *HWY_RESTRICT unaligned)
 
template<typename T , HWY_IF_NOT_LANE_SIZE(T, 2) >
HWY_API size_t CompressBlendedStore (Vec256< T > v, Mask256< T > m, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T , typename FromT >
HWY_API Vec512< T > BitCast (Full512< T > d, Vec512< FromT > v)
 
template<typename T >
HWY_API Vec512< T > Zero (Full512< T >)
 
HWY_API Vec512< float > Zero (Full512< float >)
 
HWY_API Vec512< double > Zero (Full512< double >)
 
HWY_API Vec512< uint8_t > Set (Full512< uint8_t >, const uint8_t t)
 
HWY_API Vec512< uint16_t > Set (Full512< uint16_t >, const uint16_t t)
 
HWY_API Vec512< uint32_t > Set (Full512< uint32_t >, const uint32_t t)
 
HWY_API Vec512< uint64_t > Set (Full512< uint64_t >, const uint64_t t)
 
HWY_API Vec512< int8_t > Set (Full512< int8_t >, const int8_t t)
 
HWY_API Vec512< int16_t > Set (Full512< int16_t >, const int16_t t)
 
HWY_API Vec512< int32_t > Set (Full512< int32_t >, const int32_t t)
 
HWY_API Vec512< int64_t > Set (Full512< int64_t >, const int64_t t)
 
HWY_API Vec512< float > Set (Full512< float >, const float t)
 
HWY_API Vec512< double > Set (Full512< double >, const double t)
 
template<typename T >
HWY_API Vec512< T > Undefined (Full512< T >)
 
HWY_API Vec512< float > Undefined (Full512< float >)
 
HWY_API Vec512< double > Undefined (Full512< double >)
 
template<typename T >
HWY_API Vec512< T > Not (const Vec512< T > v)
 
template<typename T >
HWY_API Vec512< T > And (const Vec512< T > a, const Vec512< T > b)
 
HWY_API Vec512< float > And (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > And (const Vec512< double > a, const Vec512< double > b)
 
template<typename T >
HWY_API Vec512< T > AndNot (const Vec512< T > not_mask, const Vec512< T > mask)
 
HWY_API Vec512< float > AndNot (const Vec512< float > not_mask, const Vec512< float > mask)
 
HWY_API Vec512< double > AndNot (const Vec512< double > not_mask, const Vec512< double > mask)
 
template<typename T >
HWY_API Vec512< T > Or (const Vec512< T > a, const Vec512< T > b)
 
HWY_API Vec512< float > Or (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > Or (const Vec512< double > a, const Vec512< double > b)
 
template<typename T >
HWY_API Vec512< T > Xor (const Vec512< T > a, const Vec512< T > b)
 
HWY_API Vec512< float > Xor (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > Xor (const Vec512< double > a, const Vec512< double > b)
 
template<typename T >
HWY_API Vec512< T > OrAnd (Vec512< T > o, Vec512< T > a1, Vec512< T > a2)
 
template<typename T >
HWY_API Vec512< T > IfVecThenElse (Vec512< T > mask, Vec512< T > yes, Vec512< T > no)
 
template<typename T >
HWY_API Vec512< T > operator& (const Vec512< T > a, const Vec512< T > b)
 
template<typename T >
HWY_API Vec512< T > operator| (const Vec512< T > a, const Vec512< T > b)
 
template<typename T >
HWY_API Vec512< T > operator^ (const Vec512< T > a, const Vec512< T > b)
 
template<typename T >
HWY_API Vec512< T > PopulationCount (Vec512< T > v)
 
template<typename T >
HWY_API Vec512< T > CopySign (const Vec512< T > magn, const Vec512< T > sign)
 
template<typename T >
HWY_API Vec512< T > CopySignToAbs (const Vec512< T > abs, const Vec512< T > sign)
 
template<typename T >
HWY_API Mask512< T > FirstN (const Full512< T >, size_t n)
 
template<typename T >
HWY_API Vec512< T > IfThenElse (const Mask512< T > mask, const Vec512< T > yes, const Vec512< T > no)
 
HWY_API Vec512< float > IfThenElse (const Mask512< float > mask, const Vec512< float > yes, const Vec512< float > no)
 
HWY_API Vec512< double > IfThenElse (const Mask512< double > mask, const Vec512< double > yes, const Vec512< double > no)
 
template<typename T >
HWY_API Vec512< T > IfThenElseZero (const Mask512< T > mask, const Vec512< T > yes)
 
HWY_API Vec512< float > IfThenElseZero (const Mask512< float > mask, const Vec512< float > yes)
 
HWY_API Vec512< double > IfThenElseZero (const Mask512< double > mask, const Vec512< double > yes)
 
template<typename T >
HWY_API Vec512< T > IfThenZeroElse (const Mask512< T > mask, const Vec512< T > no)
 
HWY_API Vec512< float > IfThenZeroElse (const Mask512< float > mask, const Vec512< float > no)
 
HWY_API Vec512< double > IfThenZeroElse (const Mask512< double > mask, const Vec512< double > no)
 
template<typename T >
HWY_API Vec512< T > IfNegativeThenElse (Vec512< T > v, Vec512< T > yes, Vec512< T > no)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec512< T > ZeroIfNegative (const Vec512< T > v)
 
HWY_API Vec512< uint8_t > operator+ (const Vec512< uint8_t > a, const Vec512< uint8_t > b)
 
HWY_API Vec512< uint16_t > operator+ (const Vec512< uint16_t > a, const Vec512< uint16_t > b)
 
HWY_API Vec512< uint32_t > operator+ (const Vec512< uint32_t > a, const Vec512< uint32_t > b)
 
HWY_API Vec512< uint64_t > operator+ (const Vec512< uint64_t > a, const Vec512< uint64_t > b)
 
HWY_API Vec512< int8_t > operator+ (const Vec512< int8_t > a, const Vec512< int8_t > b)
 
HWY_API Vec512< int16_t > operator+ (const Vec512< int16_t > a, const Vec512< int16_t > b)
 
HWY_API Vec512< int32_t > operator+ (const Vec512< int32_t > a, const Vec512< int32_t > b)
 
HWY_API Vec512< int64_t > operator+ (const Vec512< int64_t > a, const Vec512< int64_t > b)
 
HWY_API Vec512< float > operator+ (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > operator+ (const Vec512< double > a, const Vec512< double > b)
 
HWY_API Vec512< uint8_t > operator- (const Vec512< uint8_t > a, const Vec512< uint8_t > b)
 
HWY_API Vec512< uint16_t > operator- (const Vec512< uint16_t > a, const Vec512< uint16_t > b)
 
HWY_API Vec512< uint32_t > operator- (const Vec512< uint32_t > a, const Vec512< uint32_t > b)
 
HWY_API Vec512< uint64_t > operator- (const Vec512< uint64_t > a, const Vec512< uint64_t > b)
 
HWY_API Vec512< int8_t > operator- (const Vec512< int8_t > a, const Vec512< int8_t > b)
 
HWY_API Vec512< int16_t > operator- (const Vec512< int16_t > a, const Vec512< int16_t > b)
 
HWY_API Vec512< int32_t > operator- (const Vec512< int32_t > a, const Vec512< int32_t > b)
 
HWY_API Vec512< int64_t > operator- (const Vec512< int64_t > a, const Vec512< int64_t > b)
 
HWY_API Vec512< float > operator- (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > operator- (const Vec512< double > a, const Vec512< double > b)
 
HWY_API Vec512< uint64_t > SumsOf8 (const Vec512< uint8_t > v)
 
HWY_API Vec512< uint8_t > SaturatedAdd (const Vec512< uint8_t > a, const Vec512< uint8_t > b)
 
HWY_API Vec512< uint16_t > SaturatedAdd (const Vec512< uint16_t > a, const Vec512< uint16_t > b)
 
HWY_API Vec512< int8_t > SaturatedAdd (const Vec512< int8_t > a, const Vec512< int8_t > b)
 
HWY_API Vec512< int16_t > SaturatedAdd (const Vec512< int16_t > a, const Vec512< int16_t > b)
 
HWY_API Vec512< uint8_t > SaturatedSub (const Vec512< uint8_t > a, const Vec512< uint8_t > b)
 
HWY_API Vec512< uint16_t > SaturatedSub (const Vec512< uint16_t > a, const Vec512< uint16_t > b)
 
HWY_API Vec512< int8_t > SaturatedSub (const Vec512< int8_t > a, const Vec512< int8_t > b)
 
HWY_API Vec512< int16_t > SaturatedSub (const Vec512< int16_t > a, const Vec512< int16_t > b)
 
HWY_API Vec512< uint8_t > AverageRound (const Vec512< uint8_t > a, const Vec512< uint8_t > b)
 
HWY_API Vec512< uint16_t > AverageRound (const Vec512< uint16_t > a, const Vec512< uint16_t > b)
 
HWY_API Vec512< int8_t > Abs (const Vec512< int8_t > v)
 
HWY_API Vec512< int16_t > Abs (const Vec512< int16_t > v)
 
HWY_API Vec512< int32_t > Abs (const Vec512< int32_t > v)
 
HWY_API Vec512< int64_t > Abs (const Vec512< int64_t > v)
 
HWY_API Vec512< float > Abs (const Vec512< float > v)
 
HWY_API Vec512< double > Abs (const Vec512< double > v)
 
template<int kBits>
HWY_API Vec512< uint16_t > ShiftLeft (const Vec512< uint16_t > v)
 
template<int kBits>
HWY_API Vec512< uint32_t > ShiftLeft (const Vec512< uint32_t > v)
 
template<int kBits>
HWY_API Vec512< uint64_t > ShiftLeft (const Vec512< uint64_t > v)
 
template<int kBits>
HWY_API Vec512< int16_t > ShiftLeft (const Vec512< int16_t > v)
 
template<int kBits>
HWY_API Vec512< int32_t > ShiftLeft (const Vec512< int32_t > v)
 
template<int kBits>
HWY_API Vec512< int64_t > ShiftLeft (const Vec512< int64_t > v)
 
template<int kBits, typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec512< T > ShiftLeft (const Vec512< T > v)
 
template<int kBits>
HWY_API Vec512< uint16_t > ShiftRight (const Vec512< uint16_t > v)
 
template<int kBits>
HWY_API Vec512< uint32_t > ShiftRight (const Vec512< uint32_t > v)
 
template<int kBits>
HWY_API Vec512< uint64_t > ShiftRight (const Vec512< uint64_t > v)
 
template<int kBits>
HWY_API Vec512< uint8_t > ShiftRight (const Vec512< uint8_t > v)
 
template<int kBits>
HWY_API Vec512< int16_t > ShiftRight (const Vec512< int16_t > v)
 
template<int kBits>
HWY_API Vec512< int32_t > ShiftRight (const Vec512< int32_t > v)
 
template<int kBits>
HWY_API Vec512< int64_t > ShiftRight (const Vec512< int64_t > v)
 
template<int kBits>
HWY_API Vec512< int8_t > ShiftRight (const Vec512< int8_t > v)
 
template<int kBits>
HWY_API Vec512< uint32_t > RotateRight (const Vec512< uint32_t > v)
 
template<int kBits>
HWY_API Vec512< uint64_t > RotateRight (const Vec512< uint64_t > v)
 
HWY_API Vec512< uint16_t > ShiftLeftSame (const Vec512< uint16_t > v, const int bits)
 
HWY_API Vec512< uint32_t > ShiftLeftSame (const Vec512< uint32_t > v, const int bits)
 
HWY_API Vec512< uint64_t > ShiftLeftSame (const Vec512< uint64_t > v, const int bits)
 
HWY_API Vec512< int16_t > ShiftLeftSame (const Vec512< int16_t > v, const int bits)
 
HWY_API Vec512< int32_t > ShiftLeftSame (const Vec512< int32_t > v, const int bits)
 
HWY_API Vec512< int64_t > ShiftLeftSame (const Vec512< int64_t > v, const int bits)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec512< T > ShiftLeftSame (const Vec512< T > v, const int bits)
 
HWY_API Vec512< uint16_t > ShiftRightSame (const Vec512< uint16_t > v, const int bits)
 
HWY_API Vec512< uint32_t > ShiftRightSame (const Vec512< uint32_t > v, const int bits)
 
HWY_API Vec512< uint64_t > ShiftRightSame (const Vec512< uint64_t > v, const int bits)
 
HWY_API Vec512< uint8_t > ShiftRightSame (Vec512< uint8_t > v, const int bits)
 
HWY_API Vec512< int16_t > ShiftRightSame (const Vec512< int16_t > v, const int bits)
 
HWY_API Vec512< int32_t > ShiftRightSame (const Vec512< int32_t > v, const int bits)
 
HWY_API Vec512< int64_t > ShiftRightSame (const Vec512< int64_t > v, const int bits)
 
HWY_API Vec512< int8_t > ShiftRightSame (Vec512< int8_t > v, const int bits)
 
HWY_API Vec512< uint16_t > operator<< (const Vec512< uint16_t > v, const Vec512< uint16_t > bits)
 
HWY_API Vec512< uint32_t > operator<< (const Vec512< uint32_t > v, const Vec512< uint32_t > bits)
 
HWY_API Vec512< uint64_t > operator<< (const Vec512< uint64_t > v, const Vec512< uint64_t > bits)
 
template<typename T , HWY_IF_SIGNED(T) >
HWY_API Vec512< T > operator<< (const Vec512< T > v, const Vec512< T > bits)
 
HWY_API Vec512< uint16_t > operator>> (const Vec512< uint16_t > v, const Vec512< uint16_t > bits)
 
HWY_API Vec512< uint32_t > operator>> (const Vec512< uint32_t > v, const Vec512< uint32_t > bits)
 
HWY_API Vec512< uint64_t > operator>> (const Vec512< uint64_t > v, const Vec512< uint64_t > bits)
 
HWY_API Vec512< int16_t > operator>> (const Vec512< int16_t > v, const Vec512< int16_t > bits)
 
HWY_API Vec512< int32_t > operator>> (const Vec512< int32_t > v, const Vec512< int32_t > bits)
 
HWY_API Vec512< int64_t > operator>> (const Vec512< int64_t > v, const Vec512< int64_t > bits)
 
HWY_API Vec512< uint8_t > Min (const Vec512< uint8_t > a, const Vec512< uint8_t > b)
 
HWY_API Vec512< uint16_t > Min (const Vec512< uint16_t > a, const Vec512< uint16_t > b)
 
HWY_API Vec512< uint32_t > Min (const Vec512< uint32_t > a, const Vec512< uint32_t > b)
 
HWY_API Vec512< uint64_t > Min (const Vec512< uint64_t > a, const Vec512< uint64_t > b)
 
HWY_API Vec512< int8_t > Min (const Vec512< int8_t > a, const Vec512< int8_t > b)
 
HWY_API Vec512< int16_t > Min (const Vec512< int16_t > a, const Vec512< int16_t > b)
 
HWY_API Vec512< int32_t > Min (const Vec512< int32_t > a, const Vec512< int32_t > b)
 
HWY_API Vec512< int64_t > Min (const Vec512< int64_t > a, const Vec512< int64_t > b)
 
HWY_API Vec512< float > Min (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > Min (const Vec512< double > a, const Vec512< double > b)
 
HWY_API Vec512< uint8_t > Max (const Vec512< uint8_t > a, const Vec512< uint8_t > b)
 
HWY_API Vec512< uint16_t > Max (const Vec512< uint16_t > a, const Vec512< uint16_t > b)
 
HWY_API Vec512< uint32_t > Max (const Vec512< uint32_t > a, const Vec512< uint32_t > b)
 
HWY_API Vec512< uint64_t > Max (const Vec512< uint64_t > a, const Vec512< uint64_t > b)
 
HWY_API Vec512< int8_t > Max (const Vec512< int8_t > a, const Vec512< int8_t > b)
 
HWY_API Vec512< int16_t > Max (const Vec512< int16_t > a, const Vec512< int16_t > b)
 
HWY_API Vec512< int32_t > Max (const Vec512< int32_t > a, const Vec512< int32_t > b)
 
HWY_API Vec512< int64_t > Max (const Vec512< int64_t > a, const Vec512< int64_t > b)
 
HWY_API Vec512< float > Max (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > Max (const Vec512< double > a, const Vec512< double > b)
 
HWY_API Vec512< uint16_t > operator* (Vec512< uint16_t > a, Vec512< uint16_t > b)
 
HWY_API Vec512< uint32_t > operator* (Vec512< uint32_t > a, Vec512< uint32_t > b)
 
HWY_API Vec512< int16_t > operator* (Vec512< int16_t > a, Vec512< int16_t > b)
 
HWY_API Vec512< int32_t > operator* (Vec512< int32_t > a, Vec512< int32_t > b)
 
HWY_API Vec512< uint16_t > MulHigh (Vec512< uint16_t > a, Vec512< uint16_t > b)
 
HWY_API Vec512< int16_t > MulHigh (Vec512< int16_t > a, Vec512< int16_t > b)
 
HWY_API Vec512< int16_t > MulFixedPoint15 (Vec512< int16_t > a, Vec512< int16_t > b)
 
HWY_API Vec512< int64_t > MulEven (Vec512< int32_t > a, Vec512< int32_t > b)
 
HWY_API Vec512< uint64_t > MulEven (Vec512< uint32_t > a, Vec512< uint32_t > b)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec512< T > Neg (const Vec512< T > v)
 
HWY_API Vec512< float > operator* (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > operator* (const Vec512< double > a, const Vec512< double > b)
 
HWY_API Vec512< float > operator/ (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > operator/ (const Vec512< double > a, const Vec512< double > b)
 
HWY_API Vec512< float > ApproximateReciprocal (const Vec512< float > v)
 
HWY_API Vec512< float > AbsDiff (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< float > MulAdd (const Vec512< float > mul, const Vec512< float > x, const Vec512< float > add)
 
HWY_API Vec512< double > MulAdd (const Vec512< double > mul, const Vec512< double > x, const Vec512< double > add)
 
HWY_API Vec512< float > NegMulAdd (const Vec512< float > mul, const Vec512< float > x, const Vec512< float > add)
 
HWY_API Vec512< double > NegMulAdd (const Vec512< double > mul, const Vec512< double > x, const Vec512< double > add)
 
HWY_API Vec512< float > MulSub (const Vec512< float > mul, const Vec512< float > x, const Vec512< float > sub)
 
HWY_API Vec512< double > MulSub (const Vec512< double > mul, const Vec512< double > x, const Vec512< double > sub)
 
HWY_API Vec512< float > NegMulSub (const Vec512< float > mul, const Vec512< float > x, const Vec512< float > sub)
 
HWY_API Vec512< double > NegMulSub (const Vec512< double > mul, const Vec512< double > x, const Vec512< double > sub)
 
HWY_API Vec512< float > Sqrt (const Vec512< float > v)
 
HWY_API Vec512< double > Sqrt (const Vec512< double > v)
 
HWY_API Vec512< float > ApproximateReciprocalSqrt (const Vec512< float > v)
 
HWY_API Vec512< float > Round (const Vec512< float > v)
 
HWY_API Vec512< double > Round (const Vec512< double > v)
 
HWY_API Vec512< float > Trunc (const Vec512< float > v)
 
HWY_API Vec512< double > Trunc (const Vec512< double > v)
 
HWY_API Vec512< float > Ceil (const Vec512< float > v)
 
HWY_API Vec512< double > Ceil (const Vec512< double > v)
 
HWY_API Vec512< float > Floor (const Vec512< float > v)
 
HWY_API Vec512< double > Floor (const Vec512< double > v)
 
template<typename TFrom , typename TTo >
HWY_API Mask512< TTo > RebindMask (Full512< TTo >, Mask512< TFrom > m)
 
template<typename T >
HWY_API Mask512< T > TestBit (const Vec512< T > v, const Vec512< T > bit)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask512< T > operator== (Vec512< T > a, Vec512< T > b)
 
HWY_API Mask512< float > operator== (Vec512< float > a, Vec512< float > b)
 
HWY_API Mask512< double > operator== (Vec512< double > a, Vec512< double > b)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask512< T > operator!= (Vec512< T > a, Vec512< T > b)
 
HWY_API Mask512< float > operator!= (Vec512< float > a, Vec512< float > b)
 
HWY_API Mask512< double > operator!= (Vec512< double > a, Vec512< double > b)
 
HWY_API Mask512< uint8_t > operator> (Vec512< uint8_t > a, Vec512< uint8_t > b)
 
HWY_API Mask512< uint16_t > operator> (Vec512< uint16_t > a, Vec512< uint16_t > b)
 
HWY_API Mask512< uint32_t > operator> (Vec512< uint32_t > a, Vec512< uint32_t > b)
 
HWY_API Mask512< uint64_t > operator> (Vec512< uint64_t > a, Vec512< uint64_t > b)
 
HWY_API Mask512< int8_t > operator> (Vec512< int8_t > a, Vec512< int8_t > b)
 
HWY_API Mask512< int16_t > operator> (Vec512< int16_t > a, Vec512< int16_t > b)
 
HWY_API Mask512< int32_t > operator> (Vec512< int32_t > a, Vec512< int32_t > b)
 
HWY_API Mask512< int64_t > operator> (Vec512< int64_t > a, Vec512< int64_t > b)
 
HWY_API Mask512< float > operator> (Vec512< float > a, Vec512< float > b)
 
HWY_API Mask512< double > operator> (Vec512< double > a, Vec512< double > b)
 
HWY_API Mask512< float > operator>= (Vec512< float > a, Vec512< float > b)
 
HWY_API Mask512< double > operator>= (Vec512< double > a, Vec512< double > b)
 
template<typename T >
HWY_API Mask512< T > operator< (Vec512< T > a, Vec512< T > b)
 
template<typename T >
HWY_API Mask512< T > operator<= (Vec512< T > a, Vec512< T > b)
 
template<typename T >
HWY_API Mask512< T > MaskFromVec (const Vec512< T > v)
 
HWY_API Mask512< float > MaskFromVec (const Vec512< float > v)
 
HWY_API Mask512< double > MaskFromVec (const Vec512< double > v)
 
HWY_API Vec512< uint8_t > VecFromMask (const Mask512< uint8_t > v)
 
HWY_API Vec512< int8_t > VecFromMask (const Mask512< int8_t > v)
 
HWY_API Vec512< uint16_t > VecFromMask (const Mask512< uint16_t > v)
 
HWY_API Vec512< int16_t > VecFromMask (const Mask512< int16_t > v)
 
HWY_API Vec512< uint32_t > VecFromMask (const Mask512< uint32_t > v)
 
HWY_API Vec512< int32_t > VecFromMask (const Mask512< int32_t > v)
 
HWY_API Vec512< float > VecFromMask (const Mask512< float > v)
 
HWY_API Vec512< uint64_t > VecFromMask (const Mask512< uint64_t > v)
 
HWY_API Vec512< int64_t > VecFromMask (const Mask512< int64_t > v)
 
HWY_API Vec512< double > VecFromMask (const Mask512< double > v)
 
template<typename T >
HWY_API Vec512< T > VecFromMask (Full512< T >, const Mask512< T > v)
 
template<typename T >
HWY_API Mask512< T > Not (const Mask512< T > m)
 
template<typename T >
HWY_API Mask512< T > And (const Mask512< T > a, Mask512< T > b)
 
template<typename T >
HWY_API Mask512< T > AndNot (const Mask512< T > a, Mask512< T > b)
 
template<typename T >
HWY_API Mask512< T > Or (const Mask512< T > a, Mask512< T > b)
 
template<typename T >
HWY_API Mask512< T > Xor (const Mask512< T > a, Mask512< T > b)
 
HWY_API Vec512< int8_t > BroadcastSignBit (const Vec512< int8_t > v)
 
HWY_API Vec512< int16_t > BroadcastSignBit (const Vec512< int16_t > v)
 
HWY_API Vec512< int32_t > BroadcastSignBit (const Vec512< int32_t > v)
 
HWY_API Vec512< int64_t > BroadcastSignBit (const Vec512< int64_t > v)
 
template<typename T >
HWY_API Vec512< T > Load (Full512< T >, const T *HWY_RESTRICT aligned)
 
HWY_API Vec512< float > Load (Full512< float >, const float *HWY_RESTRICT aligned)
 
HWY_API Vec512< double > Load (Full512< double >, const double *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API Vec512< T > LoadU (Full512< T >, const T *HWY_RESTRICT p)
 
HWY_API Vec512< float > LoadU (Full512< float >, const float *HWY_RESTRICT p)
 
HWY_API Vec512< double > LoadU (Full512< double >, const double *HWY_RESTRICT p)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec512< T > MaskedLoad (Mask512< T > m, Full512< T >, const T *HWY_RESTRICT p)
 
HWY_API Vec512< float > MaskedLoad (Mask512< float > m, Full512< float >, const float *HWY_RESTRICT p)
 
HWY_API Vec512< double > MaskedLoad (Mask512< double > m, Full512< double >, const double *HWY_RESTRICT p)
 
template<typename T >
HWY_API Vec512< T > LoadDup128 (Full512< T >, const T *const HWY_RESTRICT p)
 
HWY_API Vec512< float > LoadDup128 (Full512< float >, const float *const HWY_RESTRICT p)
 
HWY_API Vec512< double > LoadDup128 (Full512< double >, const double *const HWY_RESTRICT p)
 
template<typename T >
HWY_API void Store (const Vec512< T > v, Full512< T >, T *HWY_RESTRICT aligned)
 
HWY_API void Store (const Vec512< float > v, Full512< float >, float *HWY_RESTRICT aligned)
 
HWY_API void Store (const Vec512< double > v, Full512< double >, double *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API void StoreU (const Vec512< T > v, Full512< T >, T *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec512< float > v, Full512< float >, float *HWY_RESTRICT p)
 
HWY_API void StoreU (const Vec512< double > v, Full512< double >, double *HWY_RESTRICT p)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API void BlendedStore (Vec512< T > v, Mask512< T > m, Full512< T >, T *HWY_RESTRICT p)
 
HWY_API void BlendedStore (Vec512< float > v, Mask512< float > m, Full512< float >, float *HWY_RESTRICT p)
 
HWY_API void BlendedStore (Vec512< double > v, Mask512< double > m, Full512< double >, double *HWY_RESTRICT p)
 
template<typename T >
HWY_API void Stream (const Vec512< T > v, Full512< T >, T *HWY_RESTRICT aligned)
 
HWY_API void Stream (const Vec512< float > v, Full512< float >, float *HWY_RESTRICT aligned)
 
HWY_API void Stream (const Vec512< double > v, Full512< double >, double *HWY_RESTRICT aligned)
 
template<typename T , typename Offset >
HWY_API void ScatterOffset (Vec512< T > v, Full512< T > d, T *HWY_RESTRICT base, const Vec512< Offset > offset)
 
template<typename T , typename Index >
HWY_API void ScatterIndex (Vec512< T > v, Full512< T > d, T *HWY_RESTRICT base, const Vec512< Index > index)
 
HWY_API void ScatterOffset (Vec512< float > v, Full512< float >, float *HWY_RESTRICT base, const Vec512< int32_t > offset)
 
HWY_API void ScatterIndex (Vec512< float > v, Full512< float >, float *HWY_RESTRICT base, const Vec512< int32_t > index)
 
HWY_API void ScatterOffset (Vec512< double > v, Full512< double >, double *HWY_RESTRICT base, const Vec512< int64_t > offset)
 
HWY_API void ScatterIndex (Vec512< double > v, Full512< double >, double *HWY_RESTRICT base, const Vec512< int64_t > index)
 
template<typename T , typename Offset >
HWY_API Vec512< T > GatherOffset (Full512< T > d, const T *HWY_RESTRICT base, const Vec512< Offset > offset)
 
template<typename T , typename Index >
HWY_API Vec512< T > GatherIndex (Full512< T > d, const T *HWY_RESTRICT base, const Vec512< Index > index)
 
HWY_API Vec512< float > GatherOffset (Full512< float >, const float *HWY_RESTRICT base, const Vec512< int32_t > offset)
 
HWY_API Vec512< float > GatherIndex (Full512< float >, const float *HWY_RESTRICT base, const Vec512< int32_t > index)
 
HWY_API Vec512< double > GatherOffset (Full512< double >, const double *HWY_RESTRICT base, const Vec512< int64_t > offset)
 
HWY_API Vec512< double > GatherIndex (Full512< double >, const double *HWY_RESTRICT base, const Vec512< int64_t > index)
 
template<typename T >
HWY_API Vec256< T > LowerHalf (Full256< T >, Vec512< T > v)
 
HWY_API Vec256< float > LowerHalf (Full256< float >, Vec512< float > v)
 
HWY_API Vec256< double > LowerHalf (Full256< double >, Vec512< double > v)
 
template<typename T >
HWY_API Vec256< T > LowerHalf (Vec512< T > v)
 
template<typename T >
HWY_API Vec256< T > UpperHalf (Full256< T >, Vec512< T > v)
 
HWY_API Vec256< float > UpperHalf (Full256< float >, Vec512< float > v)
 
HWY_API Vec256< double > UpperHalf (Full256< double >, Vec512< double > v)
 
template<typename T >
HWY_APIGetLane (const Vec512< T > v)
 
template<typename T >
HWY_API Vec512< T > ZeroExtendVector (Full512< T >, Vec256< T > lo)
 
HWY_API Vec512< float > ZeroExtendVector (Full512< float >, Vec256< float > lo)
 
HWY_API Vec512< double > ZeroExtendVector (Full512< double >, Vec256< double > lo)
 
template<typename T >
HWY_API Vec512< T > Combine (Full512< T > d, Vec256< T > hi, Vec256< T > lo)
 
HWY_API Vec512< float > Combine (Full512< float > d, Vec256< float > hi, Vec256< float > lo)
 
HWY_API Vec512< double > Combine (Full512< double > d, Vec256< double > hi, Vec256< double > lo)
 
template<int kBytes, typename T >
HWY_API Vec512< T > ShiftLeftBytes (Full512< T >, const Vec512< T > v)
 
template<int kBytes, typename T >
HWY_API Vec512< T > ShiftLeftBytes (const Vec512< T > v)
 
template<int kLanes, typename T >
HWY_API Vec512< T > ShiftLeftLanes (Full512< T > d, const Vec512< T > v)
 
template<int kLanes, typename T >
HWY_API Vec512< T > ShiftLeftLanes (const Vec512< T > v)
 
template<int kBytes, typename T >
HWY_API Vec512< T > ShiftRightBytes (Full512< T >, const Vec512< T > v)
 
template<int kLanes, typename T >
HWY_API Vec512< T > ShiftRightLanes (Full512< T > d, const Vec512< T > v)
 
template<int kBytes, typename T , class V = Vec512<T>>
HWY_APICombineShiftRightBytes (Full512< T > d, V hi, V lo)
 
template<int kLane>
HWY_API Vec512< uint16_t > Broadcast (const Vec512< uint16_t > v)
 
template<int kLane>
HWY_API Vec512< uint32_t > Broadcast (const Vec512< uint32_t > v)
 
template<int kLane>
HWY_API Vec512< uint64_t > Broadcast (const Vec512< uint64_t > v)
 
template<int kLane>
HWY_API Vec512< int16_t > Broadcast (const Vec512< int16_t > v)
 
template<int kLane>
HWY_API Vec512< int32_t > Broadcast (const Vec512< int32_t > v)
 
template<int kLane>
HWY_API Vec512< int64_t > Broadcast (const Vec512< int64_t > v)
 
template<int kLane>
HWY_API Vec512< float > Broadcast (const Vec512< float > v)
 
template<int kLane>
HWY_API Vec512< double > Broadcast (const Vec512< double > v)
 
HWY_API Vec512< uint32_t > Shuffle2301 (const Vec512< uint32_t > v)
 
HWY_API Vec512< int32_t > Shuffle2301 (const Vec512< int32_t > v)
 
HWY_API Vec512< float > Shuffle2301 (const Vec512< float > v)
 
HWY_API Vec512< uint32_t > Shuffle1032 (const Vec512< uint32_t > v)
 
HWY_API Vec512< int32_t > Shuffle1032 (const Vec512< int32_t > v)
 
HWY_API Vec512< float > Shuffle1032 (const Vec512< float > v)
 
HWY_API Vec512< uint64_t > Shuffle01 (const Vec512< uint64_t > v)
 
HWY_API Vec512< int64_t > Shuffle01 (const Vec512< int64_t > v)
 
HWY_API Vec512< double > Shuffle01 (const Vec512< double > v)
 
HWY_API Vec512< uint32_t > Shuffle0321 (const Vec512< uint32_t > v)
 
HWY_API Vec512< int32_t > Shuffle0321 (const Vec512< int32_t > v)
 
HWY_API Vec512< float > Shuffle0321 (const Vec512< float > v)
 
HWY_API Vec512< uint32_t > Shuffle2103 (const Vec512< uint32_t > v)
 
HWY_API Vec512< int32_t > Shuffle2103 (const Vec512< int32_t > v)
 
HWY_API Vec512< float > Shuffle2103 (const Vec512< float > v)
 
HWY_API Vec512< uint32_t > Shuffle0123 (const Vec512< uint32_t > v)
 
HWY_API Vec512< int32_t > Shuffle0123 (const Vec512< int32_t > v)
 
HWY_API Vec512< float > Shuffle0123 (const Vec512< float > v)
 
template<typename T , typename TI >
HWY_API Indices512< T > IndicesFromVec (Full512< T >, Vec512< TI > vec)
 
template<typename T , typename TI >
HWY_API Indices512< T > SetTableIndices (const Full512< T > d, const TI *idx)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > TableLookupLanes (Vec512< T > v, Indices512< T > idx)
 
HWY_API Vec512< float > TableLookupLanes (Vec512< float > v, Indices512< float > idx)
 
HWY_API Vec512< double > TableLookupLanes (Vec512< double > v, Indices512< double > idx)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > Reverse (Full512< T > d, const Vec512< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > Reverse2 (Full512< T > d, const Vec512< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > Reverse4 (Full512< T > d, const Vec512< T > v)
 
HWY_API Vec512< double > Reverse4 (Full512< double >, Vec512< double > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > Reverse8 (Full512< T > d, const Vec512< T > v)
 
HWY_API Vec512< uint8_t > InterleaveLower (const Vec512< uint8_t > a, const Vec512< uint8_t > b)
 
HWY_API Vec512< uint16_t > InterleaveLower (const Vec512< uint16_t > a, const Vec512< uint16_t > b)
 
HWY_API Vec512< uint32_t > InterleaveLower (const Vec512< uint32_t > a, const Vec512< uint32_t > b)
 
HWY_API Vec512< uint64_t > InterleaveLower (const Vec512< uint64_t > a, const Vec512< uint64_t > b)
 
HWY_API Vec512< int8_t > InterleaveLower (const Vec512< int8_t > a, const Vec512< int8_t > b)
 
HWY_API Vec512< int16_t > InterleaveLower (const Vec512< int16_t > a, const Vec512< int16_t > b)
 
HWY_API Vec512< int32_t > InterleaveLower (const Vec512< int32_t > a, const Vec512< int32_t > b)
 
HWY_API Vec512< int64_t > InterleaveLower (const Vec512< int64_t > a, const Vec512< int64_t > b)
 
HWY_API Vec512< float > InterleaveLower (const Vec512< float > a, const Vec512< float > b)
 
HWY_API Vec512< double > InterleaveLower (const Vec512< double > a, const Vec512< double > b)
 
template<typename T , class V = Vec512<T>>
HWY_APIInterleaveUpper (Full512< T >, V a, V b)
 
template<typename T , typename TW = MakeWide<T>>
HWY_API Vec512< TW > ZipLower (Vec512< T > a, Vec512< T > b)
 
template<typename T , typename TW = MakeWide<T>>
HWY_API Vec512< TW > ZipLower (Full512< TW >, Vec512< T > a, Vec512< T > b)
 
template<typename T , typename TW = MakeWide<T>>
HWY_API Vec512< TW > ZipUpper (Full512< TW > d, Vec512< T > a, Vec512< T > b)
 
template<typename T >
HWY_API Vec512< T > ConcatLowerLower (Full512< T >, const Vec512< T > hi, const Vec512< T > lo)
 
HWY_API Vec512< float > ConcatLowerLower (Full512< float >, const Vec512< float > hi, const Vec512< float > lo)
 
HWY_API Vec512< double > ConcatLowerLower (Full512< double >, const Vec512< double > hi, const Vec512< double > lo)
 
template<typename T >
HWY_API Vec512< T > ConcatUpperUpper (Full512< T >, const Vec512< T > hi, const Vec512< T > lo)
 
HWY_API Vec512< float > ConcatUpperUpper (Full512< float >, const Vec512< float > hi, const Vec512< float > lo)
 
HWY_API Vec512< double > ConcatUpperUpper (Full512< double >, const Vec512< double > hi, const Vec512< double > lo)
 
template<typename T >
HWY_API Vec512< T > ConcatLowerUpper (Full512< T >, const Vec512< T > hi, const Vec512< T > lo)
 
HWY_API Vec512< float > ConcatLowerUpper (Full512< float >, const Vec512< float > hi, const Vec512< float > lo)
 
HWY_API Vec512< double > ConcatLowerUpper (Full512< double >, const Vec512< double > hi, const Vec512< double > lo)
 
template<typename T >
HWY_API Vec512< T > ConcatUpperLower (Full512< T >, const Vec512< T > hi, const Vec512< T > lo)
 
HWY_API Vec512< float > ConcatUpperLower (Full512< float >, const Vec512< float > hi, const Vec512< float > lo)
 
HWY_API Vec512< double > ConcatUpperLower (Full512< double >, const Vec512< double > hi, const Vec512< double > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > ConcatOdd (Full512< T > d, Vec512< T > hi, Vec512< T > lo)
 
HWY_API Vec512< float > ConcatOdd (Full512< float > d, Vec512< float > hi, Vec512< float > lo)
 
HWY_API Vec512< double > ConcatOdd (Full512< double > d, Vec512< double > hi, Vec512< double > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > ConcatEven (Full512< T > d, Vec512< T > hi, Vec512< T > lo)
 
HWY_API Vec512< float > ConcatEven (Full512< float > d, Vec512< float > hi, Vec512< float > lo)
 
HWY_API Vec512< double > ConcatEven (Full512< double > d, Vec512< double > hi, Vec512< double > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > DupEven (Vec512< T > v)
 
HWY_API Vec512< float > DupEven (Vec512< float > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > DupOdd (Vec512< T > v)
 
HWY_API Vec512< float > DupOdd (Vec512< float > v)
 
template<typename T >
HWY_API Vec512< T > OddEven (const Vec512< T > a, const Vec512< T > b)
 
template<typename T >
HWY_API Vec512< T > OddEvenBlocks (Vec512< T > odd, Vec512< T > even)
 
HWY_API Vec512< float > OddEvenBlocks (Vec512< float > odd, Vec512< float > even)
 
HWY_API Vec512< double > OddEvenBlocks (Vec512< double > odd, Vec512< double > even)
 
template<typename T >
HWY_API Vec512< T > SwapAdjacentBlocks (Vec512< T > v)
 
HWY_API Vec512< float > SwapAdjacentBlocks (Vec512< float > v)
 
HWY_API Vec512< double > SwapAdjacentBlocks (Vec512< double > v)
 
template<typename T >
HWY_API Vec512< T > ReverseBlocks (Full512< T >, Vec512< T > v)
 
HWY_API Vec512< float > ReverseBlocks (Full512< float >, Vec512< float > v)
 
HWY_API Vec512< double > ReverseBlocks (Full512< double >, Vec512< double > v)
 
template<typename T , typename TI >
HWY_API Vec512< TI > TableLookupBytes (Vec512< T > bytes, Vec512< TI > indices)
 
template<typename T , typename TI , size_t NI>
HWY_API Vec128< TI, NI > TableLookupBytes (Vec512< T > bytes, Vec128< TI, NI > from)
 
template<typename T , typename TI >
HWY_API Vec256< TI > TableLookupBytes (Vec512< T > bytes, Vec256< TI > from)
 
template<typename T , size_t N, typename TI >
HWY_API Vec512< TI > TableLookupBytes (Vec128< T, N > bytes, Vec512< TI > from)
 
template<typename T , typename TI >
HWY_API Vec512< TI > TableLookupBytes (Vec256< T > bytes, Vec512< TI > from)
 
HWY_API Vec512< uint16_t > PromoteTo (Full512< uint16_t >, Vec256< uint8_t > v)
 
HWY_API Vec512< uint32_t > PromoteTo (Full512< uint32_t >, Vec128< uint8_t > v)
 
HWY_API Vec512< int16_t > PromoteTo (Full512< int16_t >, Vec256< uint8_t > v)
 
HWY_API Vec512< int32_t > PromoteTo (Full512< int32_t >, Vec128< uint8_t > v)
 
HWY_API Vec512< uint32_t > PromoteTo (Full512< uint32_t >, Vec256< uint16_t > v)
 
HWY_API Vec512< int32_t > PromoteTo (Full512< int32_t >, Vec256< uint16_t > v)
 
HWY_API Vec512< uint64_t > PromoteTo (Full512< uint64_t >, Vec256< uint32_t > v)
 
HWY_API Vec512< int16_t > PromoteTo (Full512< int16_t >, Vec256< int8_t > v)
 
HWY_API Vec512< int32_t > PromoteTo (Full512< int32_t >, Vec128< int8_t > v)
 
HWY_API Vec512< int32_t > PromoteTo (Full512< int32_t >, Vec256< int16_t > v)
 
HWY_API Vec512< int64_t > PromoteTo (Full512< int64_t >, Vec256< int32_t > v)
 
HWY_API Vec512< float > PromoteTo (Full512< float >, const Vec256< float16_t > v)
 
HWY_API Vec512< float > PromoteTo (Full512< float > df32, const Vec256< bfloat16_t > v)
 
HWY_API Vec512< double > PromoteTo (Full512< double >, Vec256< float > v)
 
HWY_API Vec512< double > PromoteTo (Full512< double >, Vec256< int32_t > v)
 
HWY_API Vec256< uint16_t > DemoteTo (Full256< uint16_t >, const Vec512< int32_t > v)
 
HWY_API Vec256< int16_t > DemoteTo (Full256< int16_t >, const Vec512< int32_t > v)
 
HWY_API Vec128< uint8_t, 16 > DemoteTo (Full128< uint8_t >, const Vec512< int32_t > v)
 
HWY_API Vec256< uint8_t > DemoteTo (Full256< uint8_t >, const Vec512< int16_t > v)
 
HWY_API Vec128< int8_t, 16 > DemoteTo (Full128< int8_t >, const Vec512< int32_t > v)
 
HWY_API Vec256< int8_t > DemoteTo (Full256< int8_t >, const Vec512< int16_t > v)
 
HWY_API Vec256< float16_tDemoteTo (Full256< float16_t >, const Vec512< float > v)
 
HWY_API Vec256< bfloat16_tDemoteTo (Full256< bfloat16_t > dbf16, const Vec512< float > v)
 
HWY_API Vec512< bfloat16_tReorderDemote2To (Full512< bfloat16_t > dbf16, Vec512< float > a, Vec512< float > b)
 
HWY_API Vec256< float > DemoteTo (Full256< float >, const Vec512< double > v)
 
HWY_API Vec256< int32_t > DemoteTo (Full256< int32_t >, const Vec512< double > v)
 
HWY_API Vec128< uint8_t, 16 > U8FromU32 (const Vec512< uint32_t > v)
 
HWY_API Vec512< float > ConvertTo (Full512< float >, const Vec512< int32_t > v)
 
HWY_API Vec512< double > ConvertTo (Full512< double >, const Vec512< int64_t > v)
 
HWY_API Vec512< int32_t > ConvertTo (Full512< int32_t > d, const Vec512< float > v)
 
HWY_API Vec512< int64_t > ConvertTo (Full512< int64_t > di, const Vec512< double > v)
 
HWY_API Vec512< int32_t > NearestInt (const Vec512< float > v)
 
HWY_API Vec512< uint8_t > AESRound (Vec512< uint8_t > state, Vec512< uint8_t > round_key)
 
HWY_API Vec512< uint8_t > AESLastRound (Vec512< uint8_t > state, Vec512< uint8_t > round_key)
 
HWY_API Vec512< uint64_t > CLMulLower (Vec512< uint64_t > va, Vec512< uint64_t > vb)
 
HWY_API Vec512< uint64_t > CLMulUpper (Vec512< uint64_t > va, Vec512< uint64_t > vb)
 
template<typename T , typename T2 >
Vec512< T > Iota (const Full512< T > d, const T2 first)
 
template<typename T >
HWY_API bool AllFalse (const Full512< T >, const Mask512< T > mask)
 
template<typename T >
HWY_API bool AllTrue (const Full512< T >, const Mask512< T > mask)
 
template<typename T >
HWY_API Mask512< T > LoadMaskBits (const Full512< T >, const uint8_t *HWY_RESTRICT bits)
 
template<typename T >
HWY_API size_t StoreMaskBits (const Full512< T >, const Mask512< T > mask, uint8_t *bits)
 
template<typename T >
HWY_API size_t CountTrue (const Full512< T >, const Mask512< T > mask)
 
template<typename T , HWY_IF_NOT_LANE_SIZE(T, 1) >
HWY_API intptr_t FindFirstTrue (const Full512< T >, const Mask512< T > mask)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > Compress (Vec512< T > v, Mask512< T > mask)
 
HWY_API Vec512< float > Compress (Vec512< float > v, Mask512< float > mask)
 
template<typename T >
HWY_API Vec512< T > CompressBits (Vec512< T > v, const uint8_t *HWY_RESTRICT bits)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API size_t CompressStore (Vec512< T > v, Mask512< T > mask, Full512< T > d, T *HWY_RESTRICT unaligned)
 
HWY_API size_t CompressStore (Vec512< float > v, Mask512< float > mask, Full512< float >, float *HWY_RESTRICT unaligned)
 
HWY_API size_t CompressStore (Vec512< double > v, Mask512< double > mask, Full512< double >, double *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t CompressBlendedStore (Vec512< T > v, Mask512< T > m, Full512< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t CompressBitsStore (Vec512< T > v, const uint8_t *HWY_RESTRICT bits, Full512< T > d, T *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved3 (const Vec512< uint8_t > a, const Vec512< uint8_t > b, const Vec512< uint8_t > c, Full512< uint8_t > d, uint8_t *HWY_RESTRICT unaligned)
 
HWY_API void StoreInterleaved4 (const Vec512< uint8_t > v0, const Vec512< uint8_t > v1, const Vec512< uint8_t > v2, const Vec512< uint8_t > v3, Full512< uint8_t > d8, uint8_t *HWY_RESTRICT unaligned)
 
HWY_INLINE Vec512< uint64_t > MulEven (const Vec512< uint64_t > a, const Vec512< uint64_t > b)
 
HWY_INLINE Vec512< uint64_t > MulOdd (const Vec512< uint64_t > a, const Vec512< uint64_t > b)
 
HWY_API Vec512< float > ReorderWidenMulAccumulate (Full512< float > df32, Vec512< bfloat16_t > a, Vec512< bfloat16_t > b, const Vec512< float > sum0, Vec512< float > &sum1)
 
HWY_API Vec512< int32_t > SumOfLanes (Full512< int32_t > d, Vec512< int32_t > v)
 
HWY_API Vec512< int64_t > SumOfLanes (Full512< int64_t > d, Vec512< int64_t > v)
 
HWY_API Vec512< uint32_t > SumOfLanes (Full512< uint32_t > d, Vec512< uint32_t > v)
 
HWY_API Vec512< uint64_t > SumOfLanes (Full512< uint64_t > d, Vec512< uint64_t > v)
 
HWY_API Vec512< float > SumOfLanes (Full512< float > d, Vec512< float > v)
 
HWY_API Vec512< double > SumOfLanes (Full512< double > d, Vec512< double > v)
 
HWY_API Vec512< int32_t > MinOfLanes (Full512< int32_t > d, Vec512< int32_t > v)
 
HWY_API Vec512< int64_t > MinOfLanes (Full512< int64_t > d, Vec512< int64_t > v)
 
HWY_API Vec512< uint32_t > MinOfLanes (Full512< uint32_t > d, Vec512< uint32_t > v)
 
HWY_API Vec512< uint64_t > MinOfLanes (Full512< uint64_t > d, Vec512< uint64_t > v)
 
HWY_API Vec512< float > MinOfLanes (Full512< float > d, Vec512< float > v)
 
HWY_API Vec512< double > MinOfLanes (Full512< double > d, Vec512< double > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > MinOfLanes (Full512< T > d, Vec512< T > v)
 
HWY_API Vec512< int32_t > MaxOfLanes (Full512< int32_t > d, Vec512< int32_t > v)
 
HWY_API Vec512< int64_t > MaxOfLanes (Full512< int64_t > d, Vec512< int64_t > v)
 
HWY_API Vec512< uint32_t > MaxOfLanes (Full512< uint32_t > d, Vec512< uint32_t > v)
 
HWY_API Vec512< uint64_t > MaxOfLanes (Full512< uint64_t > d, Vec512< uint64_t > v)
 
HWY_API Vec512< float > MaxOfLanes (Full512< float > d, Vec512< float > v)
 
HWY_API Vec512< double > MaxOfLanes (Full512< double > d, Vec512< double > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > MaxOfLanes (Full512< T > d, Vec512< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_NOINLINE void PrintValue (T value)
 
template<class D , class V = Vec<D>>
void Print (const D d, const char *caption, VecArg< V > v, size_t lane_u=0, size_t max_lanes=7)
 
template<class D , typename T = TFromD<D>, class V = Vec<D>>
HWY_INLINE void AssertVecEqual (D d, const T *expected, VecArg< V > actual, const char *filename, const int line)
 
template<class D , typename T = TFromD<D>, class V = Vec<D>>
HWY_INLINE void AssertVecEqual (D d, VecArg< V > expected, VecArg< V > actual, const char *filename, int line)
 
template<class D >
HWY_NOINLINE void AssertMaskEqual (D d, VecArg< Mask< D >> a, VecArg< Mask< D >> b, const char *filename, int line)
 
template<class D >
HWY_INLINE Mask< D > MaskTrue (const D d)
 
template<class D >
HWY_INLINE Mask< D > MaskFalse (const D d)
 
template<class Func >
void ForSignedTypes (const Func &func)
 
template<class Func >
void ForUnsignedTypes (const Func &func)
 
template<class Func >
void ForIntegerTypes (const Func &func)
 
template<class Func >
void ForFloatTypes (const Func &func)
 
template<class Func >
void ForAllTypes (const Func &func)
 
template<class Func >
void ForUI8 (const Func &func)
 
template<class Func >
void ForUI16 (const Func &func)
 
template<class Func >
void ForUIF16 (const Func &func)
 
template<class Func >
void ForUI32 (const Func &func)
 
template<class Func >
void ForUIF32 (const Func &func)
 
template<class Func >
void ForUI64 (const Func &func)
 
template<class Func >
void ForUIF64 (const Func &func)
 
template<class Func >
void ForUI3264 (const Func &func)
 
template<class Func >
void ForUIF3264 (const Func &func)
 
template<class Func >
void ForUI163264 (const Func &func)
 
template<class Func >
void ForUIF163264 (const Func &func)
 
constexpr size_t AdjustedReps (size_t max_reps)
 
constexpr size_t AdjustedLog2Reps (size_t max_pow2)
 

Variables

 u
 
 _
 
 mf4
 
 StoreInterleaved3
 
sseg3 m1
 
sseg3 sseg3 mf8
 
sseg3 sseg3 StoreInterleaved4
 
sseg3 sseg3 sseg4 mf2
 
sseg3 sseg3 sseg4 sseg4 m2
 
 N
 
 d
 
const vfloat64m1_t v
 

Typedef Documentation

◆ CappedTag

template<typename T , size_t kLimit>
using hwy::HWY_NAMESPACE::CappedTag = typedef typename detail::CappedTagChecker<T, kLimit>::type

◆ DFromV

template<class V >
using hwy::HWY_NAMESPACE::DFromV = typedef typename detail::ExpandDFromV<V>::type

◆ DU16FromDF

template<class DF >
using hwy::HWY_NAMESPACE::DU16FromDF = typedef RepartitionToNarrow<RebindToUnsigned<DF> >

◆ FixedTag

template<typename T , size_t kNumLanes>
using hwy::HWY_NAMESPACE::FixedTag = typedef typename detail::FixedTagChecker<T, kNumLanes>::type

◆ ForGE128Vectors

template<class Test >
using hwy::HWY_NAMESPACE::ForGE128Vectors = typedef ForGEVectors<128, Test>

◆ Full128

template<typename T >
using hwy::HWY_NAMESPACE::Full128 = typedef Simd<T, 16 / sizeof(T), 0>

◆ Full256

template<typename T >
using hwy::HWY_NAMESPACE::Full256 = typedef Simd<T, 32 / sizeof(T), 0>

◆ Full32

template<typename T >
using hwy::HWY_NAMESPACE::Full32 = typedef Simd<T, 4 / sizeof(T), 0>

◆ Full512

template<typename T >
using hwy::HWY_NAMESPACE::Full512 = typedef Simd<T, 64 / sizeof(T), 0>

◆ Full64

template<typename T >
using hwy::HWY_NAMESPACE::Full64 = typedef Simd<T, 8 / sizeof(T), 0>

◆ GatherIndex64

using hwy::HWY_NAMESPACE::GatherIndex64 = typedef long long int

◆ Half

template<class D >
using hwy::HWY_NAMESPACE::Half = typedef typename D::Half

◆ LaneType

template<class V >
using hwy::HWY_NAMESPACE::LaneType = typedef decltype(GetLane(V()))

◆ Mask

template<class D >
using hwy::HWY_NAMESPACE::Mask = typedef decltype(MaskFromVec(Zero(D())))

◆ MFromD

template<class D >
using hwy::HWY_NAMESPACE::MFromD = typedef decltype(FirstN(D(), 0))

◆ Rebind

template<class T , class D >
using hwy::HWY_NAMESPACE::Rebind = typedef typename D::template Rebind<T>

◆ RebindToFloat

template<class D >
using hwy::HWY_NAMESPACE::RebindToFloat = typedef Rebind<MakeFloat<TFromD<D> >, D>

◆ RebindToSigned

template<class D >
using hwy::HWY_NAMESPACE::RebindToSigned = typedef Rebind<MakeSigned<TFromD<D> >, D>

◆ RebindToUnsigned

template<class D >
using hwy::HWY_NAMESPACE::RebindToUnsigned = typedef Rebind<MakeUnsigned<TFromD<D> >, D>

◆ Repartition

template<class T , class D >
using hwy::HWY_NAMESPACE::Repartition = typedef typename D::template Repartition<T>

◆ RepartitionToNarrow

template<class D >
using hwy::HWY_NAMESPACE::RepartitionToNarrow = typedef Repartition<MakeNarrow<TFromD<D> >, D>

◆ RepartitionToWide

template<class D >
using hwy::HWY_NAMESPACE::RepartitionToWide = typedef Repartition<MakeWide<TFromD<D> >, D>

◆ ScalableTag

template<typename T , int kPow2 = 0>
using hwy::HWY_NAMESPACE::ScalableTag = typedef typename detail::ScalableTagChecker<T, kPow2>::type

◆ Sisd

template<typename T >
using hwy::HWY_NAMESPACE::Sisd = typedef Simd<T, 1, 0>

◆ SortTag

template<typename T >
using hwy::HWY_NAMESPACE::SortTag = typedef ScalableTag<T, -1>

◆ TFromD

template<class D >
using hwy::HWY_NAMESPACE::TFromD = typedef typename D::T

◆ TFromV

template<class V >
using hwy::HWY_NAMESPACE::TFromV = typedef TFromD<DFromV<V> >

◆ Twice

template<class D >
using hwy::HWY_NAMESPACE::Twice = typedef typename D::Twice

◆ Vec

template<class D >
using hwy::HWY_NAMESPACE::Vec = typedef decltype(Zero(D()))

◆ Vec32

template<typename T >
using hwy::HWY_NAMESPACE::Vec32 = typedef Vec128<T, 4 / sizeof(T)>

◆ Vec64

template<typename T >
using hwy::HWY_NAMESPACE::Vec64 = typedef Vec128<T, 8 / sizeof(T)>

◆ VecArg

template<class V >
using hwy::HWY_NAMESPACE::VecArg = typedef V

◆ VFromD

template<class D >
using hwy::HWY_NAMESPACE::VFromD = typedef decltype(Zero(D()))

Function Documentation

◆ Abs() [1/31]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Abs ( const Vec128< double, N v)

References BitCast(), and v.

◆ Abs() [2/31]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::Abs ( const Vec128< float >  v)

References v.

◆ Abs() [3/31]

template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::Abs ( const Vec128< float, N v)

References v.

◆ Abs() [4/31]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Abs ( const Vec128< float, N v)

References v.

◆ Abs() [5/31]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::Abs ( const Vec128< int16_t >  v)

References v.

◆ Abs() [6/31]

template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::Abs ( const Vec128< int16_t, N v)

References v.

◆ Abs() [7/31]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::Abs ( const Vec128< int16_t, N v)

References v.

◆ Abs() [8/31]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::Abs ( const Vec128< int32_t >  v)

References v.

◆ Abs() [9/31]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::Abs ( const Vec128< int32_t, N v)

References v.

◆ Abs() [10/31]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::Abs ( const Vec128< int32_t, N v)

References v.

◆ Abs() [11/31]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::Abs ( const Vec128< int64_t >  v)

◆ Abs() [12/31]

template<size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::Abs ( const Vec128< int64_t, N v)

References v.

◆ Abs() [13/31]

HWY_API Vec128<int8_t> hwy::HWY_NAMESPACE::Abs ( const Vec128< int8_t >  v)

◆ Abs() [14/31]

template<size_t N, HWY_IF_LE64(int8_t, N) >
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::Abs ( const Vec128< int8_t, N v)

References v.

◆ Abs() [15/31]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::Abs ( const Vec128< int8_t, N v)

References v.

◆ Abs() [16/31]

HWY_API Vec1<double> hwy::HWY_NAMESPACE::Abs ( const Vec1< double >  a)

◆ Abs() [17/31]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::Abs ( const Vec1< float >  a)

◆ Abs() [18/31]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Abs ( const Vec1< T >  a)

◆ Abs() [19/31]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Abs ( const Vec256< double >  v)

References BitCast(), and v.

◆ Abs() [20/31]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Abs ( const Vec256< float >  v)

References v.

◆ Abs() [21/31]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::Abs ( const Vec256< int16_t >  v)

References v.

◆ Abs() [22/31]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::Abs ( const Vec256< int32_t >  v)

References v.

◆ Abs() [23/31]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::Abs ( const Vec256< int64_t >  v)

References v.

◆ Abs() [24/31]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::Abs ( const Vec256< int8_t >  v)

References v.

◆ Abs() [25/31]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Abs ( const Vec512< double >  v)

References v.

◆ Abs() [26/31]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Abs ( const Vec512< float >  v)

References v.

◆ Abs() [27/31]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::Abs ( const Vec512< int16_t >  v)

References v.

◆ Abs() [28/31]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Abs ( const Vec512< int32_t >  v)

References v.

◆ Abs() [29/31]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::Abs ( const Vec512< int64_t >  v)

References v.

◆ Abs() [30/31]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::Abs ( const Vec512< int8_t >  v)

References v, and Zero().

◆ Abs() [31/31]

HWY_API Vec64<int64_t> hwy::HWY_NAMESPACE::Abs ( const Vec64< int64_t >  v)

◆ AbsDiff() [1/6]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::AbsDiff ( const Vec128< float >  a,
const Vec128< float >  b 
)

◆ AbsDiff() [2/6]

template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::AbsDiff ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ AbsDiff() [3/6]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::AbsDiff ( const Vec128< float, N a,
const Vec128< float, N b 
)

References Abs().

◆ AbsDiff() [4/6]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::AbsDiff ( const Vec1< float >  a,
const Vec1< float >  b 
)

References Abs().

◆ AbsDiff() [5/6]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::AbsDiff ( const Vec256< float >  a,
const Vec256< float >  b 
)

References Abs().

◆ AbsDiff() [6/6]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::AbsDiff ( const Vec512< float >  a,
const Vec512< float >  b 
)

References Abs().

◆ Acos()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Acos ( const D  d,
x 
)

Highway SIMD version of std::acos(x).

Valid Lane Types: float32, float64 Max Error: ULP = 2 Valid Range: [-1, +1]

Returns
arc cosine of 'x'

References Add(), And(), d, Ge(), IfThenElse(), Lt(), Mul(), NegMulAdd(), Or(), Set(), SignBit(), Sqrt(), Sub(), Xor(), and Zero().

Referenced by CallAcos().

◆ Acosh()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Acosh ( const D  d,
x 
)

Highway SIMD version of std::acosh(x).

Valid Lane Types: float32, float64 Max Error: ULP = 3 Valid Range: float32[1, +FLT_MAX], float64[1, +DBL_MAX]

Returns
hyperbolic arc cosine of 'x'

References Add(), d, Div(), Eq(), Gt(), IfThenElse(), IfThenElseZero(), IfThenZeroElse(), hwy::HWY_NAMESPACE::impl::Log(), Mul(), MulAdd(), MulSub(), Set(), Sqrt(), and Sub().

Referenced by CallAcosh().

◆ Add()

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Add ( a,
b 
)

◆ AdjustedLog2Reps()

constexpr size_t hwy::HWY_NAMESPACE::AdjustedLog2Reps ( size_t  max_pow2)
constexpr

References HWY_MIN.

◆ AdjustedReps()

constexpr size_t hwy::HWY_NAMESPACE::AdjustedReps ( size_t  max_reps)
constexpr

References HWY_MAX.

◆ AESLastRound() [1/2]

HWY_API Vec256<uint8_t> hwy::HWY_NAMESPACE::AESLastRound ( Vec256< uint8_t >  state,
Vec256< uint8_t >  round_key 
)

◆ AESLastRound() [2/2]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::AESLastRound ( Vec512< uint8_t >  state,
Vec512< uint8_t >  round_key 
)

◆ AESRound() [1/2]

HWY_API Vec256<uint8_t> hwy::HWY_NAMESPACE::AESRound ( Vec256< uint8_t >  state,
Vec256< uint8_t >  round_key 
)

◆ AESRound() [2/2]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::AESRound ( Vec512< uint8_t >  state,
Vec512< uint8_t >  round_key 
)

◆ AllFalse() [1/9]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( const Full128< T >  d,
const Mask128< T >  m 
)

◆ AllFalse() [2/9]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( const Full256< T >  d,
const Mask128< T >  m 
)

◆ AllFalse() [3/9]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( const Full256< T >  ,
const Mask256< T >  mask 
)

◆ AllFalse() [4/9]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( const Full512< T >  ,
const Mask512< T >  mask 
)

◆ AllFalse() [5/9]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( const Simd< T, N, 0 >  ,
const Mask128< T, N m 
)

◆ AllFalse() [6/9]

template<typename T , size_t N>
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( const Simd< T, N, 0 >  ,
const Mask128< T, N mask 
)

◆ AllFalse() [7/9]

template<class D >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( d,
MFromD< D >  m 
)

References d, and FindFirstTrue().

◆ AllFalse() [8/9]

template<class D >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( d,
svbool_t  m 
)

◆ AllFalse() [9/9]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse ( Sisd< T >  ,
const Mask1< T >  mask 
)

◆ AllTrue() [1/8]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( const Full256< T >  ,
const Mask128< T >  m 
)

◆ AllTrue() [2/8]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( const Full256< T >  ,
const Mask256< T >  mask 
)

◆ AllTrue() [3/8]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( const Full512< T >  ,
const Mask512< T >  mask 
)

◆ AllTrue() [4/8]

template<typename T , size_t N>
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( const Simd< T, N, 0 >  d,
const Mask128< T, N m 
)

◆ AllTrue() [5/8]

template<typename T , size_t N>
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( const Simd< T, N, 0 >  ,
const Mask128< T >  m 
)

◆ AllTrue() [6/8]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( const Simd< T, N, 0 >  ,
const Mask128< T, N m 
)

References AllTrue(), and Or().

◆ AllTrue() [7/8]

template<class D >
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( d,
svbool_t  m 
)

References CountTrue(), d, and Lanes().

◆ AllTrue() [8/8]

template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( Sisd< T >  ,
const Mask1< T >  mask 
)

◆ And() [1/17]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::And ( const Mask128< T, N a,
Mask128< T, N b 
)

References And(), d, MaskFromVec(), and VecFromMask().

◆ And() [2/17]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::And ( const Mask1< T >  a,
Mask1< T >  b 
)

References And(), d, MaskFromVec(), and VecFromMask().

◆ And() [3/17]

template<typename T >
HWY_API Mask256<T> hwy::HWY_NAMESPACE::And ( const Mask256< T >  a,
Mask256< T >  b 
)

◆ And() [4/17]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::And ( const Mask512< T >  a,
Mask512< T >  b 
)

◆ And() [5/17]

template<class V , HWY_IF_FLOAT_V(V) >
HWY_API V hwy::HWY_NAMESPACE::And ( const V  a,
const V  b 
)

References And(), and BitCast().

◆ And() [6/17]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::And ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ And() [7/17]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::And ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ And() [8/17]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::And ( const Vec128< T, N a,
const Vec128< T, N b 
)

◆ And() [9/17]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::And ( const Vec1< T >  a,
const Vec1< T >  b 
)

References BitCast().

◆ And() [10/17]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::And ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ And() [11/17]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::And ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ And() [12/17]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::And ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ And() [13/17]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::And ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ And() [14/17]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::And ( const Vec512< T >  a,
const Vec512< T >  b 
)

◆ And() [15/17]

HWY_API svbool_t hwy::HWY_NAMESPACE::And ( svbool_t  a,
svbool_t  b 
)

◆ And() [16/17]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::And ( Vec128< T, N a,
Vec128< T, N b 
)

◆ And() [17/17]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::And ( Vec256< T >  a,
Vec256< T >  b 
)

◆ AndNot() [1/18]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::AndNot ( const Mask128< T, N a,
Mask128< T, N b 
)

References AndNot(), d, MaskFromVec(), and VecFromMask().

◆ AndNot() [2/18]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::AndNot ( const Mask1< T >  a,
Mask1< T >  b 
)

References AndNot(), d, MaskFromVec(), and VecFromMask().

◆ AndNot() [3/18]

template<typename T >
HWY_API Mask256<T> hwy::HWY_NAMESPACE::AndNot ( const Mask256< T >  a,
Mask256< T >  b 
)

◆ AndNot() [4/18]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::AndNot ( const Mask512< T >  a,
Mask512< T >  b 
)

◆ AndNot() [5/18]

template<class V , HWY_IF_FLOAT_V(V) >
HWY_API V hwy::HWY_NAMESPACE::AndNot ( const V  a,
const V  b 
)

References AndNot(), and BitCast().

◆ AndNot() [6/18]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::AndNot ( const V  not_a,
const V  b 
)

References And(), and Not().

◆ AndNot() [7/18]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::AndNot ( const Vec128< double, N not_mask,
const Vec128< double, N mask 
)

◆ AndNot() [8/18]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::AndNot ( const Vec128< float, N not_mask,
const Vec128< float, N mask 
)

◆ AndNot() [9/18]

template<typename T , size_t N, HWY_IF_NOT_FLOAT(T) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::AndNot ( const Vec128< T, N not_mask,
const Vec128< T, N mask 
)

◆ AndNot() [10/18]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::AndNot ( const Vec1< T >  a,
const Vec1< T >  b 
)

References BitCast().

◆ AndNot() [11/18]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::AndNot ( const Vec256< double >  not_mask,
const Vec256< double >  mask 
)

◆ AndNot() [12/18]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::AndNot ( const Vec256< float >  not_mask,
const Vec256< float >  mask 
)

◆ AndNot() [13/18]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::AndNot ( const Vec512< double >  not_mask,
const Vec512< double >  mask 
)

◆ AndNot() [14/18]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::AndNot ( const Vec512< float >  not_mask,
const Vec512< float >  mask 
)

◆ AndNot() [15/18]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::AndNot ( const Vec512< T >  not_mask,
const Vec512< T >  mask 
)

◆ AndNot() [16/18]

HWY_API svbool_t hwy::HWY_NAMESPACE::AndNot ( svbool_t  a,
svbool_t  b 
)

◆ AndNot() [17/18]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::AndNot ( Vec128< T, N not_mask,
Vec128< T, N mask 
)

◆ AndNot() [18/18]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::AndNot ( Vec256< T >  not_mask,
Vec256< T >  mask 
)

◆ ApproximateReciprocal() [1/6]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::ApproximateReciprocal ( const Vec128< float >  v)

References v.

Referenced by operator/().

◆ ApproximateReciprocal() [2/6]

HWY_API Vec128<float, 1> hwy::HWY_NAMESPACE::ApproximateReciprocal ( const Vec128< float, 1 >  v)

References v.

◆ ApproximateReciprocal() [3/6]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::ApproximateReciprocal ( const Vec128< float, N v)

References v.

◆ ApproximateReciprocal() [4/6]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::ApproximateReciprocal ( const Vec1< float >  v)

References v.

◆ ApproximateReciprocal() [5/6]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::ApproximateReciprocal ( const Vec256< float >  v)

References v.

◆ ApproximateReciprocal() [6/6]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ApproximateReciprocal ( const Vec512< float >  v)

References v.

◆ ApproximateReciprocalSqrt() [1/6]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt ( const Vec128< float >  v)

References v.

Referenced by Sqrt().

◆ ApproximateReciprocalSqrt() [2/6]

HWY_API Vec128<float, 1> hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt ( const Vec128< float, 1 >  v)

References v.

◆ ApproximateReciprocalSqrt() [3/6]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt ( const Vec128< float, N v)

References v.

◆ ApproximateReciprocalSqrt() [4/6]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt ( const Vec1< float >  v)

References v.

◆ ApproximateReciprocalSqrt() [5/6]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt ( const Vec256< float >  v)

References Sqrt(), and v.

◆ ApproximateReciprocalSqrt() [6/6]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt ( const Vec512< float >  v)

References v.

◆ Asin()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Asin ( const D  d,
x 
)

Highway SIMD version of std::asin(x).

Valid Lane Types: float32, float64 Max Error: ULP = 2 Valid Range: [-1, +1]

Returns
arc sine of 'x'

References And(), d, IfThenElse(), Lt(), Mul(), MulAdd(), NegMulAdd(), Or(), Set(), SignBit(), Sqrt(), and Xor().

Referenced by CallAsin().

◆ Asinh()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Asinh ( const D  d,
x 
)

Highway SIMD version of std::asinh(x).

Valid Lane Types: float32, float64 Max Error: ULP = 3 Valid Range: float32[-FLT_MAX, +FLT_MAX], float64[-DBL_MAX, +DBL_MAX]

Returns
hyperbolic arc sine of 'x'

References Add(), And(), d, Div(), Eq(), Gt(), IfThenElse(), IfThenElseZero(), IfThenZeroElse(), hwy::HWY_NAMESPACE::impl::Log(), Lt(), Mul(), MulAdd(), Or(), Set(), SignBit(), Sqrt(), Sub(), and Xor().

Referenced by CallAsinh().

◆ AssertMaskEqual()

template<class D >
HWY_NOINLINE void hwy::HWY_NAMESPACE::AssertMaskEqual ( d,
VecArg< Mask< D >>  a,
VecArg< Mask< D >>  b,
const char *  filename,
int  line 
)

◆ AssertVecEqual() [1/2]

template<class D , typename T = TFromD<D>, class V = Vec<D>>
HWY_INLINE void hwy::HWY_NAMESPACE::AssertVecEqual ( d,
const T *  expected,
VecArg< V >  actual,
const char *  filename,
const int  line 
)

◆ AssertVecEqual() [2/2]

template<class D , typename T = TFromD<D>, class V = Vec<D>>
HWY_INLINE void hwy::HWY_NAMESPACE::AssertVecEqual ( d,
VecArg< V >  expected,
VecArg< V >  actual,
const char *  filename,
int  line 
)

◆ Atan()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Atan ( const D  d,
x 
)

Highway SIMD version of std::atan(x).

Valid Lane Types: float32, float64 Max Error: ULP = 3 Valid Range: float32[-FLT_MAX, +FLT_MAX], float64[-DBL_MAX, +DBL_MAX]

Returns
arc tangent of 'x'

References And(), d, Div(), Gt(), IfThenElse(), Or(), Set(), SignBit(), Sub(), and Xor().

Referenced by CallAtan().

◆ Atanh()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Atanh ( const D  d,
x 
)

Highway SIMD version of std::atanh(x).

Valid Lane Types: float32, float64 Max Error: ULP = 3 Valid Range: (-1, +1)

Returns
hyperbolic arc tangent of 'x'

References Add(), And(), d, Div(), Log1p(), Mul(), Set(), SignBit(), Sub(), and Xor().

Referenced by CallAtanh().

◆ AverageRound() [1/8]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::AverageRound ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ AverageRound() [2/8]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::AverageRound ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ AverageRound() [3/8]

HWY_API Vec1<uint16_t> hwy::HWY_NAMESPACE::AverageRound ( const Vec1< uint16_t >  a,
const Vec1< uint16_t >  b 
)

◆ AverageRound() [4/8]

HWY_API Vec1<uint8_t> hwy::HWY_NAMESPACE::AverageRound ( const Vec1< uint8_t >  a,
const Vec1< uint8_t >  b 
)

◆ AverageRound() [5/8]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::AverageRound ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ AverageRound() [6/8]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::AverageRound ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ AverageRound() [7/8]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::AverageRound ( const Vec512< uint16_t >  a,
const Vec512< uint16_t >  b 
)

◆ AverageRound() [8/8]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::AverageRound ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b 
)

◆ BitCast() [1/5]

template<class D , class FromV >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::BitCast ( d,
FromV  v 
)

◆ BitCast() [2/5]

template<typename T , typename FromT >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::BitCast ( Full256< T >  d,
Vec256< FromT >  v 
)

◆ BitCast() [3/5]

template<typename T , typename FromT >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::BitCast ( Full512< T >  d,
Vec512< FromT >  v 
)

◆ BitCast() [4/5]

template<typename T , size_t N, typename FromT >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::BitCast ( Simd< T, N, 0 >  d,
Vec128< FromT, N *sizeof(T)/sizeof(FromT)>  v 
)

References hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), d, and v.

Referenced by Abs(), AllFalse(), And(), AndNot(), BitCast(), hwy::HWY_NAMESPACE::detail::BitCastToUnsigned(), hwy::HWY_NAMESPACE::detail::BitsFromBool(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), BlendedStore(), BroadcastSignBit(), Combine(), CombineShiftRightBytes(), Compress(), hwy::HWY_NAMESPACE::detail::Compress(), CompressBlendedStore(), CompressStore(), hwy::HWY_NAMESPACE::Dot::Compute(), ConcatEven(), ConcatLowerLower(), ConcatOdd(), ConcatUpperLower(), ConcatUpperUpper(), ConvertTo(), CopySign(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosSignFromQuadrant(), hwy::HWY_NAMESPACE::detail::CountTrue(), DemoteTo(), hwy::HWY_NAMESPACE::detail::FirstNPerBlock(), hwy::HWY_NAMESPACE::detail::FixConversionOverflow(), hwy::HWY_NAMESPACE::detail::Idx16x8FromBits(), hwy::HWY_NAMESPACE::detail::Idx32x4FromBits(), hwy::HWY_NAMESPACE::detail::Idx64x2FromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), IfNegativeThenElse(), IfVecThenElse(), IndicesFromVec(), InterleaveLower(), InterleaveUpper(), LoadMaskBits(), hwy::HWY_NAMESPACE::impl::Log(), hwy::HWY_NAMESPACE::impl::LogImpl< float >::Log2p1NoSubnormal(), MaskFromVec(), Max(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxU(), Min(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinU(), MulEven(), MulFixedPoint15(), MulOdd(), NaN(), Not(), OddEven(), hwy::HWY_NAMESPACE::detail::OddEven(), hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenPairs(), hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenQuads(), operator<<(), operator>(), operator>>(), Or(), OrAnd(), hwy::HWY_NAMESPACE::detail::PopulationCount(), PopulationCount(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::Pow2I(), PromoteTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), RebindMask(), ReorderDemote2To(), ReorderWidenMulAccumulate(), Reverse(), Reverse2(), Reverse4(), Reverse8(), ReverseBlocks(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), hwy::HWY_NAMESPACE::detail::Set64(), ShiftLeft(), ShiftLeftBytes(), ShiftLeftLanes(), ShiftLeftSame(), ShiftRight(), ShiftRightBytes(), ShiftRightLanes(), ShiftRightSame(), Shuffle01(), Shuffle0321(), Shuffle1032(), Shuffle2103(), SignBit(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinSignFromQuadrant(), StoreInterleaved4(), SumsOf8(), SwapAdjacentBlocks(), hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentPairs(), hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentQuads(), TableLookupBytes(), TableLookupBytesOr0(), TableLookupLanes(), U8FromU32(), UpperHalf(), VecFromMask(), Xor(), ZipLower(), and ZipUpper().

◆ BitCast() [5/5]

template<typename T , typename FromT >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::BitCast ( Sisd< T >  ,
Vec1< FromT >  v 
)

References v.

◆ BlendedStore() [1/12]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( const Vec1< T >  v,
Mask1< T >  m,
Sisd< T >  d,
T *HWY_RESTRICT  p 
)

◆ BlendedStore() [2/12]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec128< double, N v,
Mask128< double, N m,
Simd< double, N, 0 >  ,
double *HWY_RESTRICT  p 
)

◆ BlendedStore() [3/12]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec128< float, N v,
Mask128< float, N m,
Simd< float, N, 0 >  ,
float *HWY_RESTRICT  p 
)

◆ BlendedStore() [4/12]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec128< T, N v,
Mask128< T, N m,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  p 
)

◆ BlendedStore() [5/12]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec128< T, N v,
Mask128< T, N m,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  p 
)

◆ BlendedStore() [6/12]

HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec256< double >  v,
Mask256< double >  m,
Full256< double >  ,
double *HWY_RESTRICT  p 
)

◆ BlendedStore() [7/12]

HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec256< float >  v,
Mask256< float >  m,
Full256< float >  ,
float *HWY_RESTRICT  p 
)

◆ BlendedStore() [8/12]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec256< T >  v,
Mask256< T >  m,
Full256< T >  d,
T *HWY_RESTRICT  p 
)

References d, IfThenElse(), LoadU(), StoreU(), and v.

◆ BlendedStore() [9/12]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec256< T >  v,
Mask256< T >  m,
Full256< T >  ,
T *HWY_RESTRICT  p 
)

◆ BlendedStore() [10/12]

HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec512< double >  v,
Mask512< double >  m,
Full512< double >  ,
double *HWY_RESTRICT  p 
)

◆ BlendedStore() [11/12]

HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec512< float >  v,
Mask512< float >  m,
Full512< float >  ,
float *HWY_RESTRICT  p 
)

◆ BlendedStore() [12/12]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API void hwy::HWY_NAMESPACE::BlendedStore ( Vec512< T >  v,
Mask512< T >  m,
Full512< T >  ,
T *HWY_RESTRICT  p 
)

◆ Broadcast() [1/41]

template<int kLane, class V >
HWY_API V hwy::HWY_NAMESPACE::Broadcast ( const V  v)

◆ Broadcast() [2/41]

template<int kLane, size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< double, N v)

References N, and v.

◆ Broadcast() [3/41]

template<int kLane>
HWY_API Vec128<float> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< float >  v)

References v.

◆ Broadcast() [4/41]

template<int kLane, size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< float, N v)

References N, and v.

◆ Broadcast() [5/41]

template<int kLane, size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< float, N v)

References N, and v.

◆ Broadcast() [6/41]

template<int kLane>
HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< int16_t >  v)

References v.

◆ Broadcast() [7/41]

template<int kLane, size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< int16_t, N v)

References N, and v.

◆ Broadcast() [8/41]

template<int kLane, size_t N>
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< int16_t, N v)

References N, and v.

◆ Broadcast() [9/41]

template<int kLane>
HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< int32_t >  v)

References v.

◆ Broadcast() [10/41]

template<int kLane, size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< int32_t, N v)

References N, and v.

◆ Broadcast() [11/41]

template<int kLane, size_t N>
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< int32_t, N v)

References N, and v.

◆ Broadcast() [12/41]

template<int kLane>
HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< int64_t >  v)

References v.

◆ Broadcast() [13/41]

template<int kLane, size_t N>
HWY_API Vec128<int64_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< int64_t, N v)

References N, and v.

◆ Broadcast() [14/41]

template<int kLane, typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Broadcast ( const Vec128< T, N v)

References N, and v.

◆ Broadcast() [15/41]

template<int kLane>
HWY_API Vec128<uint16_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< uint16_t >  v)

References v.

◆ Broadcast() [16/41]

template<int kLane, size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< uint16_t, N v)

References N, and v.

◆ Broadcast() [17/41]

template<int kLane, size_t N>
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< uint16_t, N v)

References N, and v.

◆ Broadcast() [18/41]

template<int kLane>
HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< uint32_t >  v)

References v.

◆ Broadcast() [19/41]

template<int kLane, size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< uint32_t, N v)

References N, and v.

◆ Broadcast() [20/41]

template<int kLane, size_t N>
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< uint32_t, N v)

References N, and v.

◆ Broadcast() [21/41]

template<int kLane>
HWY_API Vec128<uint64_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< uint64_t >  v)

References v.

◆ Broadcast() [22/41]

template<int kLane, size_t N>
HWY_API Vec128<uint64_t, N> hwy::HWY_NAMESPACE::Broadcast ( const Vec128< uint64_t, N v)

References N, and v.

◆ Broadcast() [23/41]

template<int kLane, typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Broadcast ( const Vec1< T >  v)

References v.

◆ Broadcast() [24/41]

template<int kLane>
HWY_API Vec256<double> hwy::HWY_NAMESPACE::Broadcast ( const Vec256< double >  v)

References v.

◆ Broadcast() [25/41]

template<int kLane>
HWY_API Vec256< float > hwy::HWY_NAMESPACE::Broadcast ( const Vec256< float >  v)

References N, and v.

◆ Broadcast() [26/41]

template<int kLane>
HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::Broadcast ( const Vec256< int16_t >  v)

References N, and v.

◆ Broadcast() [27/41]

template<int kLane>
HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::Broadcast ( const Vec256< int32_t >  v)

References N, and v.

◆ Broadcast() [28/41]

template<int kLane>
HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec256< int64_t >  v)

References v.

◆ Broadcast() [29/41]

template<int kLane>
HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::Broadcast ( const Vec256< uint16_t >  v)

References N, and v.

◆ Broadcast() [30/41]

template<int kLane>
HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::Broadcast ( const Vec256< uint32_t >  v)

References N, and v.

◆ Broadcast() [31/41]

template<int kLane>
HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec256< uint64_t >  v)

References v.

◆ Broadcast() [32/41]

template<int kLane>
HWY_API Vec512<double> hwy::HWY_NAMESPACE::Broadcast ( const Vec512< double >  v)

References v.

◆ Broadcast() [33/41]

template<int kLane>
HWY_API Vec512<float> hwy::HWY_NAMESPACE::Broadcast ( const Vec512< float >  v)

References v.

◆ Broadcast() [34/41]

template<int kLane>
HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec512< int16_t >  v)

References v.

◆ Broadcast() [35/41]

template<int kLane>
HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec512< int32_t >  v)

References v.

◆ Broadcast() [36/41]

template<int kLane>
HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec512< int64_t >  v)

References v.

◆ Broadcast() [37/41]

template<int kLane>
HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec512< uint16_t >  v)

References v.

◆ Broadcast() [38/41]

template<int kLane>
HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec512< uint32_t >  v)

References v.

◆ Broadcast() [39/41]

template<int kLane>
HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec512< uint64_t >  v)

References v.

◆ Broadcast() [40/41]

template<int kLane>
HWY_API Vec64<int64_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec64< int64_t >  v)

References v.

◆ Broadcast() [41/41]

template<int kLane>
HWY_API Vec64<uint64_t> hwy::HWY_NAMESPACE::Broadcast ( const Vec64< uint64_t >  v)

References v.

◆ BroadcastSignBit() [1/16]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::BroadcastSignBit ( const V  v)

References ShiftRight(), and v.

◆ BroadcastSignBit() [2/16]

template<size_t N>
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec128< int16_t, N v)

References v.

◆ BroadcastSignBit() [3/16]

template<size_t N>
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec128< int32_t, N v)

References v.

◆ BroadcastSignBit() [4/16]

template<size_t N>
HWY_API Vec128<int64_t, N> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec128< int64_t, N v)

References BitCast(), d, v, VecFromMask(), and Zero().

◆ BroadcastSignBit() [5/16]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec128< int8_t, N v)

References d, v, VecFromMask(), and Zero().

◆ BroadcastSignBit() [6/16]

template<typename T , size_t N, HWY_IF_SIGNED(T) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec128< T, N v)

◆ BroadcastSignBit() [7/16]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec1< T >  v)

References v.

◆ BroadcastSignBit() [8/16]

HWY_API Vec256<int16_t> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec256< int16_t >  v)

References v.

◆ BroadcastSignBit() [9/16]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec256< int32_t >  v)

References v.

◆ BroadcastSignBit() [10/16]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec256< int64_t >  v)

References v, VecFromMask(), and Zero().

◆ BroadcastSignBit() [11/16]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec256< int8_t >  v)

References v, VecFromMask(), and Zero().

◆ BroadcastSignBit() [12/16]

template<typename T , HWY_IF_NOT_LANE_SIZE(T, 1) >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec256< T >  v)

References ShiftRight(), and v.

◆ BroadcastSignBit() [13/16]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec512< int16_t >  v)

References v.

◆ BroadcastSignBit() [14/16]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec512< int32_t >  v)

References v.

◆ BroadcastSignBit() [15/16]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec512< int64_t >  v)

References v.

◆ BroadcastSignBit() [16/16]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::BroadcastSignBit ( const Vec512< int8_t >  v)

References v, VecFromMask(), and Zero().

◆ CallAcos()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallAcos ( const D  d,
VecArg< V >  x 
)

References Acos(), and d.

◆ CallAcosh()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallAcosh ( const D  d,
VecArg< V >  x 
)

References Acosh(), and d.

◆ CallAsin()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallAsin ( const D  d,
VecArg< V >  x 
)

References Asin(), and d.

◆ CallAsinh()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallAsinh ( const D  d,
VecArg< V >  x 
)

References Asinh(), and d.

◆ CallAtan()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallAtan ( const D  d,
VecArg< V >  x 
)

References Atan(), and d.

◆ CallAtanh()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallAtanh ( const D  d,
VecArg< V >  x 
)

References Atanh(), and d.

◆ CallCos()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallCos ( const D  d,
VecArg< V >  x 
)

References Cos(), and d.

◆ CallExp()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallExp ( const D  d,
VecArg< V >  x 
)

References d, and Exp().

◆ CallExpm1()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallExpm1 ( const D  d,
VecArg< V >  x 
)

References d, and Expm1().

◆ CallLog()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallLog ( const D  d,
VecArg< V >  x 
)

References d, and Log().

◆ CallLog10()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallLog10 ( const D  d,
VecArg< V >  x 
)

References d, and Log10().

◆ CallLog1p()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallLog1p ( const D  d,
VecArg< V >  x 
)

References d, and Log1p().

◆ CallLog2()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallLog2 ( const D  d,
VecArg< V >  x 
)

References d, and Log2().

◆ CallSin()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallSin ( const D  d,
VecArg< V >  x 
)

References d, and Sin().

◆ CallSinh()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallSinh ( const D  d,
VecArg< V >  x 
)

References d, and Sinh().

◆ CallTanh()

template<class D , class V >
HWY_NOINLINE V hwy::HWY_NAMESPACE::CallTanh ( const D  d,
VecArg< V >  x 
)

References d, and Tanh().

◆ Ceil() [1/9]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Ceil ( const V  v)

References Round(), and v.

◆ Ceil() [2/9]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Ceil ( const Vec128< float, N v)

◆ Ceil() [3/9]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Ceil ( const Vec128< T, N v)

◆ Ceil() [4/9]

HWY_API Vec1<double> hwy::HWY_NAMESPACE::Ceil ( const Vec1< double >  v)

References v.

◆ Ceil() [5/9]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::Ceil ( const Vec1< float >  v)

References v.

◆ Ceil() [6/9]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Ceil ( const Vec256< double >  v)

References v.

◆ Ceil() [7/9]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Ceil ( const Vec256< float >  v)

References v.

◆ Ceil() [8/9]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Ceil ( const Vec512< double >  v)

References v.

◆ Ceil() [9/9]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Ceil ( const Vec512< float >  v)

References v.

◆ Ceiling()

template<typename Float , typename Bits , int kMantissaBits, int kExponentBits, class V >
V hwy::HWY_NAMESPACE::Ceiling ( const V  v)

References v.

◆ Clamp()

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Clamp ( const V  v,
const V  lo,
const V  hi 
)

◆ CLMulLower() [1/2]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::CLMulLower ( Vec256< uint64_t >  a,
Vec256< uint64_t >  b 
)

◆ CLMulLower() [2/2]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::CLMulLower ( Vec512< uint64_t >  va,
Vec512< uint64_t >  vb 
)

◆ CLMulUpper() [1/2]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::CLMulUpper ( Vec256< uint64_t >  a,
Vec256< uint64_t >  b 
)

◆ CLMulUpper() [2/2]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::CLMulUpper ( Vec512< uint64_t >  va,
Vec512< uint64_t >  vb 
)

◆ Combine() [1/19]

template<class D , class V2 >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::Combine ( const D  d,
const V2  hi,
const V2  lo 
)

References ConcatLowerLower(), and d.

◆ Combine() [2/19]

template<class D2 , class V >
HWY_API VFromD<D2> hwy::HWY_NAMESPACE::Combine ( D2  d2,
const V  hi,
const V  lo 
)

References Lanes().

◆ Combine() [3/19]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::Combine ( Full128< float >  ,
Vec64< float >  hi,
Vec64< float >  lo 
)

◆ Combine() [4/19]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::Combine ( Full128< int16_t >  ,
Vec64< int16_t >  hi,
Vec64< int16_t >  lo 
)

◆ Combine() [5/19]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::Combine ( Full128< int32_t >  ,
Vec64< int32_t >  hi,
Vec64< int32_t >  lo 
)

◆ Combine() [6/19]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::Combine ( Full128< int64_t >  ,
Vec64< int64_t >  hi,
Vec64< int64_t >  lo 
)

◆ Combine() [7/19]

HWY_API Vec128<int8_t> hwy::HWY_NAMESPACE::Combine ( Full128< int8_t >  ,
Vec64< int8_t >  hi,
Vec64< int8_t >  lo 
)

◆ Combine() [8/19]

HWY_API Vec128<uint16_t> hwy::HWY_NAMESPACE::Combine ( Full128< uint16_t >  ,
Vec64< uint16_t >  hi,
Vec64< uint16_t >  lo 
)

◆ Combine() [9/19]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::Combine ( Full128< uint32_t >  ,
Vec64< uint32_t >  hi,
Vec64< uint32_t >  lo 
)

◆ Combine() [10/19]

HWY_API Vec128<uint64_t> hwy::HWY_NAMESPACE::Combine ( Full128< uint64_t >  ,
Vec64< uint64_t >  hi,
Vec64< uint64_t >  lo 
)

◆ Combine() [11/19]

HWY_API Vec128<uint8_t> hwy::HWY_NAMESPACE::Combine ( Full128< uint8_t >  ,
Vec64< uint8_t >  hi,
Vec64< uint8_t >  lo 
)

◆ Combine() [12/19]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Combine ( Full256< double >  d,
Vec128< double >  hi,
Vec128< double >  lo 
)

◆ Combine() [13/19]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Combine ( Full256< float >  d,
Vec128< float >  hi,
Vec128< float >  lo 
)

◆ Combine() [14/19]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Combine ( Full256< T >  d,
Vec128< T >  hi_half,
Vec128< T >  lo_half 
)

References BitCast(), d, InterleaveLower(), and N.

◆ Combine() [15/19]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Combine ( Full512< double >  d,
Vec256< double >  hi,
Vec256< double >  lo 
)

◆ Combine() [16/19]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Combine ( Full512< float >  d,
Vec256< float >  hi,
Vec256< float >  lo 
)

◆ Combine() [17/19]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::Combine ( Full512< T >  d,
Vec256< T >  hi,
Vec256< T >  lo 
)

◆ Combine() [18/19]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Combine ( Simd< T, N, 0 >  d,
Vec128< T, N/2 >  hi,
Vec128< T, N/2 >  lo 
)

◆ Combine() [19/19]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Combine ( Simd< T, N, 0 >  d,
Vec128< T, N/2 >  hi_half,
Vec128< T, N/2 >  lo_half 
)

References BitCast(), d, InterleaveLower(), and N.

◆ CombineShiftRightBytes() [1/8]

template<size_t kBytes, class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::CombineShiftRightBytes ( const D  d,
const V  hi,
const V  lo 
)

◆ CombineShiftRightBytes() [2/8]

template<int kBytes, typename T , class V128 = Vec128<T>>
HWY_API V128 hwy::HWY_NAMESPACE::CombineShiftRightBytes ( Full128< T >  d,
V128  hi,
V128  lo 
)

◆ CombineShiftRightBytes() [3/8]

template<int kBytes, typename T , class V = Vec128<T>>
HWY_API V hwy::HWY_NAMESPACE::CombineShiftRightBytes ( Full128< T >  d,
hi,
lo 
)

◆ CombineShiftRightBytes() [4/8]

template<int kBytes, typename T , class V = Vec256<T>>
HWY_API V hwy::HWY_NAMESPACE::CombineShiftRightBytes ( Full256< T >  d,
hi,
lo 
)

◆ CombineShiftRightBytes() [5/8]

template<int kBytes, typename T , class V = Vec512<T>>
HWY_API V hwy::HWY_NAMESPACE::CombineShiftRightBytes ( Full512< T >  d,
hi,
lo 
)

References BitCast(), and d.

◆ CombineShiftRightBytes() [6/8]

template<int kBytes, typename T >
HWY_API Vec64<T> hwy::HWY_NAMESPACE::CombineShiftRightBytes ( Full64< T >  d,
Vec64< T >  hi,
Vec64< T >  lo 
)

References BitCast(), and d.

◆ CombineShiftRightBytes() [7/8]

template<int kBytes, typename T , size_t N, HWY_IF_LE64(T, N) , class V = Vec128<T, N>>
HWY_API V hwy::HWY_NAMESPACE::CombineShiftRightBytes ( Simd< T, N, 0 >  d,
hi,
lo 
)

◆ CombineShiftRightBytes() [8/8]

template<int kBytes, typename T , size_t N, HWY_IF_LE32(T, N) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::CombineShiftRightBytes ( Simd< T, N, 0 >  d,
Vec128< T, N hi,
Vec128< T, N lo 
)

◆ CombineShiftRightLanes()

template<size_t kLanes, class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::CombineShiftRightLanes ( const D  d,
const V  hi,
lo 
)

References d, and IfThenElse().

◆ Compress() [1/12]

HWY_API svfloat16_t hwy::HWY_NAMESPACE::Compress ( svfloat16_t  v,
svbool_t  mask16 
)

References BitCast(), Compress(), and v.

◆ Compress() [2/12]

template<class V , HWY_IF_LANE_SIZE_V(V, 2) >
HWY_API V hwy::HWY_NAMESPACE::Compress ( v,
svbool_t  mask16 
)

◆ Compress() [3/12]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::Compress ( Vec128< float, N v,
Mask128< float, N mask 
)

◆ Compress() [4/12]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Compress ( Vec128< T, N v,
const Mask128< T, N mask 
)

◆ Compress() [5/12]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Compress ( Vec128< T, N v,
Mask128< T, N mask 
)

◆ Compress() [6/12]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Compress ( Vec1< T >  v,
const Mask1< T >   
)

References v.

◆ Compress() [7/12]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Compress ( Vec1< T >  v,
const uint8_t *  HWY_RESTRICT 
)

References v.

◆ Compress() [8/12]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Compress ( Vec256< float >  v,
Mask256< float >  mask 
)

◆ Compress() [9/12]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::Compress ( Vec256< T >  v,
const Mask256< T >  mask 
)

◆ Compress() [10/12]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Compress ( Vec256< T >  v,
Mask256< T >  mask 
)

◆ Compress() [11/12]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Compress ( Vec512< float >  v,
Mask512< float >  mask 
)

◆ Compress() [12/12]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Compress ( Vec512< T >  v,
Mask512< T >  mask 
)

◆ CompressBits() [1/5]

template<class V >
HWY_INLINE V hwy::HWY_NAMESPACE::CompressBits ( v,
const uint8_t *HWY_RESTRICT  bits 
)

References Compress(), LoadMaskBits(), and v.

◆ CompressBits() [2/5]

template<typename T , size_t N>
HWY_INLINE Vec128<T, N> hwy::HWY_NAMESPACE::CompressBits ( Vec128< T, N v,
const uint8_t *HWY_RESTRICT  bits 
)

◆ CompressBits() [3/5]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::CompressBits ( Vec128< T, N v,
const uint8_t *HWY_RESTRICT  bits 
)

◆ CompressBits() [4/5]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::CompressBits ( Vec256< T >  v,
const uint8_t *HWY_RESTRICT  bits 
)

◆ CompressBits() [5/5]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::CompressBits ( Vec512< T >  v,
const uint8_t *HWY_RESTRICT  bits 
)

References Compress(), LoadMaskBits(), and v.

◆ CompressBitsStore() [1/5]

template<typename T , size_t N>
HWY_API size_t hwy::HWY_NAMESPACE::CompressBitsStore ( Vec128< T, N v,
const uint8_t *HWY_RESTRICT  bits,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressBitsStore() [2/5]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBitsStore ( Vec1< T >  v,
const uint8_t *HWY_RESTRICT  bits,
Sisd< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressBitsStore() [3/5]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBitsStore ( Vec256< T >  v,
const uint8_t *HWY_RESTRICT  bits,
Full256< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressBitsStore() [4/5]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBitsStore ( Vec512< T >  v,
const uint8_t *HWY_RESTRICT  bits,
Full512< T >  d,
T *HWY_RESTRICT  unaligned 
)

References CompressStore(), d, LoadMaskBits(), and v.

◆ CompressBitsStore() [5/5]

template<class D >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBitsStore ( VFromD< D >  v,
const uint8_t *HWY_RESTRICT  bits,
d,
TFromD< D > *HWY_RESTRICT  unaligned 
)

References CompressStore(), d, LoadMaskBits(), and v.

◆ CompressBlendedStore() [1/6]

template<class V , class M , class D >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore ( const V  v,
const M  mask,
const D  d,
TFromD< D > *HWY_RESTRICT  unaligned 
)

◆ CompressBlendedStore() [2/6]

template<typename T , size_t N>
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore ( Vec128< T, N v,
Mask128< T, N m,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressBlendedStore() [3/6]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore ( Vec1< T >  v,
const Mask1< T >  mask,
Sisd< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressBlendedStore() [4/6]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore ( Vec256< T >  v,
Mask256< T >  m,
Full256< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressBlendedStore() [5/6]

template<typename T , HWY_IF_NOT_LANE_SIZE(T, 2) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore ( Vec256< T >  v,
Mask256< T >  m,
Full256< T >  d,
T *HWY_RESTRICT  unaligned 
)

References CompressStore(), d, and v.

◆ CompressBlendedStore() [6/6]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore ( Vec512< T >  v,
Mask512< T >  m,
Full512< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [1/13]

template<class V , class M , class D >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( const V  v,
const M  mask,
const D  d,
TFromD< D > *HWY_RESTRICT  unaligned 
)

References Compress(), CountTrue(), d, StoreU(), and v.

◆ CompressStore() [2/13]

template<size_t N, HWY_IF_LE128(double, N) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec128< double, N v,
Mask128< double, N mask,
Simd< double, N, 0 >  ,
double *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [3/13]

template<size_t N, HWY_IF_LE128(float, N) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec128< float, N v,
Mask128< float, N mask,
Simd< float, N, 0 >  ,
float *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [4/13]

template<typename T , size_t N>
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec128< T, N v,
const Mask128< T, N mask,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [5/13]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec128< T, N v,
Mask128< T, N mask,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [6/13]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec1< T >  v,
const Mask1< T >  mask,
Sisd< T >  d,
T *HWY_RESTRICT  unaligned 
)

References Compress(), CountTrue(), d, StoreU(), and v.

◆ CompressStore() [7/13]

HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec256< double >  v,
Mask256< double >  mask,
Full256< double >  ,
double *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [8/13]

HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec256< float >  v,
Mask256< float >  mask,
Full256< float >  ,
float *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [9/13]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec256< T >  v,
const Mask256< T >  mask,
Full256< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [10/13]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec256< T >  v,
Mask256< T >  mask,
Full256< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [11/13]

HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec512< double >  v,
Mask512< double >  mask,
Full512< double >  ,
double *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [12/13]

HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec512< float >  v,
Mask512< float >  mask,
Full512< float >  ,
float *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [13/13]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( Vec512< T >  v,
Mask512< T >  mask,
Full512< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ ConcatEven() [1/17]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::ConcatEven ( d,
const V  hi,
const V  lo 
)

◆ ConcatEven() [2/17]

template<class D >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::ConcatEven ( d,
VFromD< D >  hi,
VFromD< D >  lo 
)

References d, FirstN(), and Lanes().

Referenced by Compress(), DemoteTo(), and InterleaveLower().

◆ ConcatEven() [3/17]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::ConcatEven ( Full128< float >  ,
Vec128< float >  hi,
Vec128< float >  lo 
)

◆ ConcatEven() [4/17]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::ConcatEven ( Full128< int32_t >  ,
Vec128< int32_t >  hi,
Vec128< int32_t >  lo 
)

◆ ConcatEven() [5/17]

template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::ConcatEven ( Full128< T >  d,
Vec128< T >  hi,
Vec128< T >  lo 
)

References d, and InterleaveLower().

◆ ConcatEven() [6/17]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::ConcatEven ( Full128< uint32_t >  ,
Vec128< uint32_t >  hi,
Vec128< uint32_t >  lo 
)

◆ ConcatEven() [7/17]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::ConcatEven ( Full256< double >  d,
Vec256< double >  hi,
Vec256< double >  lo 
)

◆ ConcatEven() [8/17]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::ConcatEven ( Full256< float >  d,
Vec256< float >  hi,
Vec256< float >  lo 
)

◆ ConcatEven() [9/17]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatEven ( Full256< T >  d,
Vec256< T >  hi,
Vec256< T >  lo 
)

◆ ConcatEven() [10/17]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ConcatEven ( Full512< double >  d,
Vec512< double >  hi,
Vec512< double >  lo 
)

◆ ConcatEven() [11/17]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ConcatEven ( Full512< float >  d,
Vec512< float >  hi,
Vec512< float >  lo 
)

◆ ConcatEven() [12/17]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::ConcatEven ( Full512< T >  d,
Vec512< T >  hi,
Vec512< T >  lo 
)

References BitCast(), d, and Load().

◆ ConcatEven() [13/17]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128<T, 2> hwy::HWY_NAMESPACE::ConcatEven ( Full64< T >  d,
Vec128< T, 2 >  hi,
Vec128< T, 2 >  lo 
)

References d, and InterleaveLower().

◆ ConcatEven() [14/17]

template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::ConcatEven ( Simd< float, N, 0 >  ,
Vec128< float, N hi,
Vec128< float, N lo 
)

◆ ConcatEven() [15/17]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::ConcatEven ( Simd< int32_t, N, 0 >  ,
Vec128< int32_t, N hi,
Vec128< int32_t, N lo 
)

◆ ConcatEven() [16/17]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128<T, 2> hwy::HWY_NAMESPACE::ConcatEven ( Simd< T, 2, 0 >  ,
Vec128< T, 2 >  hi,
Vec128< T, 2 >  lo 
)

References InterleaveLower().

◆ ConcatEven() [17/17]

template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::ConcatEven ( Simd< uint32_t, N, 0 >  ,
Vec128< uint32_t, N hi,
Vec128< uint32_t, N lo 
)

◆ ConcatLowerLower() [1/9]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::ConcatLowerLower ( const D  d,
const V  hi,
const V  lo 
)

◆ ConcatLowerLower() [2/9]

template<typename T , size_t N, HWY_IF_GE64(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ConcatLowerLower ( const Simd< T, N, 0 >  d,
Vec128< T, N hi,
Vec128< T, N lo 
)

References BitCast(), d, InterleaveLower(), and N.

Referenced by Combine().

◆ ConcatLowerLower() [3/9]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::ConcatLowerLower ( Full128< T >  d,
const Vec128< T >  hi,
const Vec128< T >  lo 
)

◆ ConcatLowerLower() [4/9]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::ConcatLowerLower ( Full256< double >  d,
const Vec256< double >  hi,
const Vec256< double >  lo 
)

◆ ConcatLowerLower() [5/9]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::ConcatLowerLower ( Full256< float >  d,
const Vec256< float >  hi,
const Vec256< float >  lo 
)

◆ ConcatLowerLower() [6/9]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatLowerLower ( Full256< T >  d,
const Vec256< T >  hi,
const Vec256< T >  lo 
)

◆ ConcatLowerLower() [7/9]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ConcatLowerLower ( Full512< double >  ,
const Vec512< double >  hi,
const Vec512< double >  lo 
)

◆ ConcatLowerLower() [8/9]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ConcatLowerLower ( Full512< float >  ,
const Vec512< float >  hi,
const Vec512< float >  lo 
)

◆ ConcatLowerLower() [9/9]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ConcatLowerLower ( Full512< T >  ,
const Vec512< T >  hi,
const Vec512< T >  lo 
)

◆ ConcatLowerUpper() [1/9]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::ConcatLowerUpper ( const D  d,
const V  hi,
const V  lo 
)

◆ ConcatLowerUpper() [2/9]

template<typename T , size_t N, HWY_IF_GE64(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ConcatLowerUpper ( const Simd< T, N, 0 >  d,
Vec128< T, N hi,
Vec128< T, N lo 
)

◆ ConcatLowerUpper() [3/9]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::ConcatLowerUpper ( Full128< T >  d,
const Vec128< T >  hi,
const Vec128< T >  lo 
)

References d.

◆ ConcatLowerUpper() [4/9]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::ConcatLowerUpper ( Full256< double >  ,
const Vec256< double >  hi,
const Vec256< double >  lo 
)

◆ ConcatLowerUpper() [5/9]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::ConcatLowerUpper ( Full256< float >  ,
const Vec256< float >  hi,
const Vec256< float >  lo 
)

◆ ConcatLowerUpper() [6/9]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatLowerUpper ( Full256< T >  d,
const Vec256< T >  hi,
const Vec256< T >  lo 
)

References d.

◆ ConcatLowerUpper() [7/9]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ConcatLowerUpper ( Full512< double >  ,
const Vec512< double >  hi,
const Vec512< double >  lo 
)

◆ ConcatLowerUpper() [8/9]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ConcatLowerUpper ( Full512< float >  ,
const Vec512< float >  hi,
const Vec512< float >  lo 
)

◆ ConcatLowerUpper() [9/9]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ConcatLowerUpper ( Full512< T >  ,
const Vec512< T >  hi,
const Vec512< T >  lo 
)

◆ ConcatOdd() [1/17]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::ConcatOdd ( d,
const V  hi,
const V  lo 
)

◆ ConcatOdd() [2/17]

template<class D >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::ConcatOdd ( d,
VFromD< D >  hi,
VFromD< D >  lo 
)

References d, FirstN(), and Lanes().

Referenced by DemoteTo(), and InterleaveUpper().

◆ ConcatOdd() [3/17]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::ConcatOdd ( Full128< float >  ,
Vec128< float >  hi,
Vec128< float >  lo 
)

◆ ConcatOdd() [4/17]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::ConcatOdd ( Full128< int32_t >  ,
Vec128< int32_t >  hi,
Vec128< int32_t >  lo 
)

◆ ConcatOdd() [5/17]

template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::ConcatOdd ( Full128< T >  d,
Vec128< T >  hi,
Vec128< T >  lo 
)

References d, and InterleaveUpper().

◆ ConcatOdd() [6/17]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::ConcatOdd ( Full128< uint32_t >  ,
Vec128< uint32_t >  hi,
Vec128< uint32_t >  lo 
)

◆ ConcatOdd() [7/17]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::ConcatOdd ( Full256< double >  d,
Vec256< double >  hi,
Vec256< double >  lo 
)

◆ ConcatOdd() [8/17]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::ConcatOdd ( Full256< float >  d,
Vec256< float >  hi,
Vec256< float >  lo 
)

◆ ConcatOdd() [9/17]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatOdd ( Full256< T >  d,
Vec256< T >  hi,
Vec256< T >  lo 
)

◆ ConcatOdd() [10/17]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ConcatOdd ( Full512< double >  d,
Vec512< double >  hi,
Vec512< double >  lo 
)

◆ ConcatOdd() [11/17]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ConcatOdd ( Full512< float >  d,
Vec512< float >  hi,
Vec512< float >  lo 
)

◆ ConcatOdd() [12/17]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::ConcatOdd ( Full512< T >  d,
Vec512< T >  hi,
Vec512< T >  lo 
)

References BitCast(), d, and Load().

◆ ConcatOdd() [13/17]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128<T, 2> hwy::HWY_NAMESPACE::ConcatOdd ( Full64< T >  d,
Vec128< T, 2 >  hi,
Vec128< T, 2 >  lo 
)

References d, and InterleaveUpper().

◆ ConcatOdd() [14/17]

template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::ConcatOdd ( Simd< float, N, 0 >  ,
Vec128< float, N hi,
Vec128< float, N lo 
)

◆ ConcatOdd() [15/17]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::ConcatOdd ( Simd< int32_t, N, 0 >  ,
Vec128< int32_t, N hi,
Vec128< int32_t, N lo 
)

◆ ConcatOdd() [16/17]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128<T, 2> hwy::HWY_NAMESPACE::ConcatOdd ( Simd< T, 2, 0 >  ,
Vec128< T, 2 >  hi,
Vec128< T, 2 >  lo 
)

References InterleaveUpper().

◆ ConcatOdd() [17/17]

template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::ConcatOdd ( Simd< uint32_t, N, 0 >  ,
Vec128< uint32_t, N hi,
Vec128< uint32_t, N lo 
)

◆ ConcatUpperLower() [1/12]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::ConcatUpperLower ( const D  d,
const V  hi,
const V  lo 
)

◆ ConcatUpperLower() [2/12]

HWY_API Vec128<double> hwy::HWY_NAMESPACE::ConcatUpperLower ( Full128< double >  ,
const Vec128< double >  hi,
const Vec128< double >  lo 
)

◆ ConcatUpperLower() [3/12]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::ConcatUpperLower ( Full128< float >  ,
const Vec128< float >  hi,
const Vec128< float >  lo 
)

◆ ConcatUpperLower() [4/12]

template<typename T >
HWY_API Vec128<T> hwy::HWY_NAMESPACE::ConcatUpperLower ( Full128< T >  d,
Vec128< T >  hi,
Vec128< T >  lo 
)

◆ ConcatUpperLower() [5/12]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::ConcatUpperLower ( Full256< double >  ,
const Vec256< double >  hi,
const Vec256< double >  lo 
)

◆ ConcatUpperLower() [6/12]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::ConcatUpperLower ( Full256< float >  ,
const Vec256< float >  hi,
const Vec256< float >  lo 
)

◆ ConcatUpperLower() [7/12]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatUpperLower ( Full256< T >  d,
const Vec256< T >  hi,
const Vec256< T >  lo 
)

References d, FirstN(), IfThenElse(), and Lanes().

◆ ConcatUpperLower() [8/12]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ConcatUpperLower ( Full512< double >  ,
const Vec512< double >  hi,
const Vec512< double >  lo 
)

◆ ConcatUpperLower() [9/12]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ConcatUpperLower ( Full512< float >  ,
const Vec512< float >  hi,
const Vec512< float >  lo 
)

◆ ConcatUpperLower() [10/12]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ConcatUpperLower ( Full512< T >  ,
const Vec512< T >  hi,
const Vec512< T >  lo 
)

◆ ConcatUpperLower() [11/12]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ConcatUpperLower ( Simd< T, N, 0 >  d,
Vec128< T, N hi,
Vec128< T, N lo 
)

◆ ConcatUpperLower() [12/12]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::ConcatUpperLower ( Simd< T, N, 0 >  d,
Vec128< T, N hi,
Vec128< T, N lo 
)

References Combine(), d, LowerHalf(), and UpperHalf().

◆ ConcatUpperUpper() [1/7]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::ConcatUpperUpper ( const D  d,
const V  hi,
const V  lo 
)

◆ ConcatUpperUpper() [2/7]

template<typename T , size_t N, HWY_IF_GE64(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ConcatUpperUpper ( const Simd< T, N, 0 >  d,
Vec128< T, N hi,
Vec128< T, N lo 
)

References BitCast(), d, InterleaveUpper(), and N.

◆ ConcatUpperUpper() [3/7]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::ConcatUpperUpper ( Full128< T >  d,
const Vec128< T >  hi,
const Vec128< T >  lo 
)

◆ ConcatUpperUpper() [4/7]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatUpperUpper ( Full256< T >  d,
const Vec256< T >  hi,
const Vec256< T >  lo 
)

◆ ConcatUpperUpper() [5/7]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ConcatUpperUpper ( Full512< double >  ,
const Vec512< double >  hi,
const Vec512< double >  lo 
)

◆ ConcatUpperUpper() [6/7]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ConcatUpperUpper ( Full512< float >  ,
const Vec512< float >  hi,
const Vec512< float >  lo 
)

◆ ConcatUpperUpper() [7/7]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ConcatUpperUpper ( Full512< T >  ,
const Vec512< T >  hi,
const Vec512< T >  lo 
)

◆ ConvertTo() [1/18]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::ConvertTo ( Full128< float >  ,
const Vec128< int32_t >  v 
)

◆ ConvertTo() [2/18]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::ConvertTo ( Full128< int32_t >  ,
const Vec128< float >  v 
)

References v.

◆ ConvertTo() [3/18]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::ConvertTo ( Full128< int64_t >  di,
const Vec128< double >  v 
)

◆ ConvertTo() [4/18]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::ConvertTo ( Full256< double >  dd,
const Vec256< int64_t >  v 
)

References BitCast(), OddEven(), Set(), and v.

◆ ConvertTo() [5/18]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::ConvertTo ( Full256< float >  ,
const Vec256< int32_t >  v 
)

References v.

◆ ConvertTo() [6/18]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ConvertTo ( Full256< int32_t >  d,
const Vec256< float >  v 
)

References v.

◆ ConvertTo() [7/18]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::ConvertTo ( Full256< int64_t >  di,
const Vec256< double >  v 
)

◆ ConvertTo() [8/18]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ConvertTo ( Full512< double >  ,
const Vec512< int64_t >  v 
)

References v.

◆ ConvertTo() [9/18]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ConvertTo ( Full512< float >  ,
const Vec512< int32_t >  v 
)

References v.

◆ ConvertTo() [10/18]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::ConvertTo ( Full512< int32_t >  d,
const Vec512< float >  v 
)

◆ ConvertTo() [11/18]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::ConvertTo ( Full512< int64_t >  di,
const Vec512< double >  v 
)

◆ ConvertTo() [12/18]

HWY_API Vec64<int64_t> hwy::HWY_NAMESPACE::ConvertTo ( Full64< int64_t >  di,
const Vec64< double >  v 
)

◆ ConvertTo() [13/18]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::ConvertTo ( Simd< double, N, 0 >  dd,
const Vec128< int64_t, N v 
)

References BitCast(), OddEven(), Set(), and v.

◆ ConvertTo() [14/18]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::ConvertTo ( Simd< float, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ ConvertTo() [15/18]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::ConvertTo ( Simd< float, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ ConvertTo() [16/18]

template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::ConvertTo ( Simd< int32_t, N, 0 >  ,
const Vec128< float, N v 
)

References v.

◆ ConvertTo() [17/18]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::ConvertTo ( Simd< int32_t, N, 0 >  di,
const Vec128< float, N v 
)

References v.

◆ ConvertTo() [18/18]

template<typename FromT , typename ToT , HWY_IF_FLOAT(FromT) >
HWY_API Vec1< ToT > hwy::HWY_NAMESPACE::ConvertTo ( Sisd< ToT >  ,
Vec1< FromT >  from 
)

◆ Copy()

template<class D , typename T = TFromD<D>>
void hwy::HWY_NAMESPACE::Copy ( d,
const T *HWY_RESTRICT  from,
size_t  count,
T *HWY_RESTRICT  to 
)

◆ CopyIf()

template<class D , class Func , typename T = TFromD<D>>
T* hwy::HWY_NAMESPACE::CopyIf ( d,
const T *HWY_RESTRICT  from,
size_t  count,
T *HWY_RESTRICT  to,
const Func func 
)

◆ CopySign() [1/5]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::CopySign ( const V  magn,
const V  sign 
)

References And(), AndNot(), Or(), and SignBit().

◆ CopySign() [2/5]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::CopySign ( const Vec128< T, N magn,
const Vec128< T, N sign 
)

References And(), AndNot(), Or(), and SignBit().

Referenced by CopySignToAbs(), Round(), and Trunc().

◆ CopySign() [3/5]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::CopySign ( const Vec1< T >  magn,
const Vec1< T >  sign 
)

References And(), AndNot(), Or(), and SignBit().

◆ CopySign() [4/5]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::CopySign ( const Vec256< T >  magn,
const Vec256< T >  sign 
)

References And(), AndNot(), Or(), and SignBit().

◆ CopySign() [5/5]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::CopySign ( const Vec512< T >  magn,
const Vec512< T >  sign 
)

References BitCast(), d, SignBit(), and Zero().

◆ CopySignToAbs() [1/5]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::CopySignToAbs ( const V  abs,
const V  sign 
)

References And(), Or(), and SignBit().

◆ CopySignToAbs() [2/5]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::CopySignToAbs ( const Vec128< T, N abs,
const Vec128< T, N sign 
)

References And(), Or(), and SignBit().

Referenced by Round(), and Trunc().

◆ CopySignToAbs() [3/5]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::CopySignToAbs ( const Vec1< T >  abs,
const Vec1< T >  sign 
)

References And(), Or(), and SignBit().

◆ CopySignToAbs() [4/5]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::CopySignToAbs ( const Vec256< T >  abs,
const Vec256< T >  sign 
)

References And(), Or(), and SignBit().

◆ CopySignToAbs() [5/5]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::CopySignToAbs ( const Vec512< T >  abs,
const Vec512< T >  sign 
)

References CopySign().

◆ Cos()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Cos ( const D  d,
x 
)

Highway SIMD version of std::cos(x).

Valid Lane Types: float32, float64 Max Error: ULP = 3 Valid Range: [-39000, +39000]

Returns
cosine of 'x'

References Abs(), Add(), d, Mul(), Set(), Xor(), and Zero().

Referenced by CallCos().

◆ CountTrue() [1/8]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue ( const Full256< T >  ,
const Mask128< T >  m 
)

◆ CountTrue() [2/8]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue ( const Full256< T >  ,
const Mask256< T >  mask 
)

◆ CountTrue() [3/8]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue ( const Full512< T >  ,
const Mask512< T >  mask 
)

◆ CountTrue() [4/8]

template<typename T , size_t N>
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue ( const Simd< T, N, 0 >  ,
const Mask128< T >  m 
)

◆ CountTrue() [5/8]

template<typename T , size_t N>
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue ( const Simd< T, N, 0 >  ,
const Mask128< T, N mask 
)

◆ CountTrue() [6/8]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue ( Full128< T >  ,
const Mask128< T >  mask 
)

◆ CountTrue() [7/8]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue ( Simd< T, N, 0 >  d,
const Mask128< T, N mask 
)

◆ CountTrue() [8/8]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue ( Sisd< T >  ,
const Mask1< T >  mask 
)

◆ DemoteTo() [1/76]

HWY_API Vec128< bfloat16_t > hwy::HWY_NAMESPACE::DemoteTo ( Full128< bfloat16_t dbf16,
const Vec256< float >  v 
)

References BitCast(), DemoteTo(), and v.

◆ DemoteTo() [2/76]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::DemoteTo ( Full128< float >  ,
const Vec256< double >  v 
)

References v.

◆ DemoteTo() [3/76]

HWY_API Vec128< float16_t > hwy::HWY_NAMESPACE::DemoteTo ( Full128< float16_t df16,
const Vec256< float >  v 
)

◆ DemoteTo() [4/76]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::DemoteTo ( Full128< int16_t >  ,
const Vec256< int32_t >  v 
)

References v.

◆ DemoteTo() [5/76]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::DemoteTo ( Full128< int32_t >  ,
const Vec256< double >  v 
)

References v.

◆ DemoteTo() [6/76]

HWY_API Vec128< int8_t > hwy::HWY_NAMESPACE::DemoteTo ( Full128< int8_t >  ,
const Vec256< int16_t >  v 
)

References v.

◆ DemoteTo() [7/76]

HWY_API Vec128<int8_t> hwy::HWY_NAMESPACE::DemoteTo ( Full128< int8_t >  ,
const Vec256< int32_t >  v 
)

References v.

◆ DemoteTo() [8/76]

HWY_API Vec128<int8_t, 16> hwy::HWY_NAMESPACE::DemoteTo ( Full128< int8_t >  ,
const Vec512< int32_t >  v 
)

References LoadDup128(), LowerHalf(), and v.

◆ DemoteTo() [9/76]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::DemoteTo ( Full128< uint16_t >  ,
const Vec256< int32_t >  v 
)

References v.

◆ DemoteTo() [10/76]

HWY_API Vec128< uint8_t > hwy::HWY_NAMESPACE::DemoteTo ( Full128< uint8_t >  ,
const Vec256< int16_t >  v 
)

References v.

◆ DemoteTo() [11/76]

HWY_API Vec128<uint8_t> hwy::HWY_NAMESPACE::DemoteTo ( Full128< uint8_t >  ,
const Vec256< int32_t >  v 
)

References v.

◆ DemoteTo() [12/76]

HWY_API Vec128<uint8_t, 16> hwy::HWY_NAMESPACE::DemoteTo ( Full128< uint8_t >  ,
const Vec512< int32_t >  v 
)

References LoadDup128(), LowerHalf(), and v.

◆ DemoteTo() [13/76]

HWY_API Vec256<bfloat16_t> hwy::HWY_NAMESPACE::DemoteTo ( Full256< bfloat16_t dbf16,
const Vec512< float >  v 
)

References BitCast(), DemoteTo(), and v.

◆ DemoteTo() [14/76]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::DemoteTo ( Full256< float >  ,
const Vec512< double >  v 
)

References v.

◆ DemoteTo() [15/76]

HWY_API Vec256<float16_t> hwy::HWY_NAMESPACE::DemoteTo ( Full256< float16_t ,
const Vec512< float >  v 
)

◆ DemoteTo() [16/76]

HWY_API Vec256<int16_t> hwy::HWY_NAMESPACE::DemoteTo ( Full256< int16_t >  ,
const Vec512< int32_t >  v 
)

References Load(), LowerHalf(), and v.

◆ DemoteTo() [17/76]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::DemoteTo ( Full256< int32_t >  ,
const Vec512< double >  v 
)

◆ DemoteTo() [18/76]

HWY_API Vec256<int8_t> hwy::HWY_NAMESPACE::DemoteTo ( Full256< int8_t >  ,
const Vec512< int16_t >  v 
)

References Load(), LowerHalf(), and v.

◆ DemoteTo() [19/76]

HWY_API Vec256<uint16_t> hwy::HWY_NAMESPACE::DemoteTo ( Full256< uint16_t >  ,
const Vec512< int32_t >  v 
)

References Load(), LowerHalf(), and v.

◆ DemoteTo() [20/76]

HWY_API Vec256<uint8_t> hwy::HWY_NAMESPACE::DemoteTo ( Full256< uint8_t >  ,
const Vec512< int16_t >  v 
)

References Load(), LowerHalf(), and v.

◆ DemoteTo() [21/76]

HWY_API Vec32<int8_t> hwy::HWY_NAMESPACE::DemoteTo ( Full32< int8_t >  ,
const Vec128< int32_t >  v 
)

References v.

◆ DemoteTo() [22/76]

HWY_API Vec32<uint8_t> hwy::HWY_NAMESPACE::DemoteTo ( Full32< uint8_t >  ,
const Vec128< int32_t >  v 
)

References v.

◆ DemoteTo() [23/76]

HWY_API Vec64<int16_t> hwy::HWY_NAMESPACE::DemoteTo ( Full64< int16_t >  ,
const Vec128< int32_t >  v 
)

References v.

◆ DemoteTo() [24/76]

HWY_API Vec64<int8_t> hwy::HWY_NAMESPACE::DemoteTo ( Full64< int8_t >  ,
const Vec128< int16_t >  v 
)

References v.

◆ DemoteTo() [25/76]

HWY_API Vec128<int8_t, 8> hwy::HWY_NAMESPACE::DemoteTo ( Full64< int8_t >  ,
const Vec256< int32_t >  v 
)

References v.

◆ DemoteTo() [26/76]

HWY_API Vec64<uint16_t> hwy::HWY_NAMESPACE::DemoteTo ( Full64< uint16_t >  ,
const Vec128< int32_t >  v 
)

References v.

Referenced by CompressStore(), DemoteTo(), and U8FromU32().

◆ DemoteTo() [27/76]

HWY_API Vec64<uint8_t> hwy::HWY_NAMESPACE::DemoteTo ( Full64< uint8_t >  ,
const Vec128< int16_t >  v 
)

References v.

◆ DemoteTo() [28/76]

HWY_API Vec128<uint8_t, 8> hwy::HWY_NAMESPACE::DemoteTo ( Full64< uint8_t >  ,
const Vec256< int32_t >  v 
)

References v.

◆ DemoteTo() [29/76]

template<size_t N>
HWY_API Vec128< bfloat16_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< bfloat16_t, N, 0 >  dbf16,
const Vec128< float, N v 
)

References BitCast(), DemoteTo(), and v.

◆ DemoteTo() [30/76]

template<size_t N, int kPow2>
HWY_API VFromD<Simd<uint16_t, N, kPow2> > hwy::HWY_NAMESPACE::DemoteTo ( Simd< bfloat16_t, N, kPow2 >  d,
VFromD< Simd< float, N, kPow2+1 >>  v 
)

References BitCast(), d, and v.

◆ DemoteTo() [31/76]

template<size_t N, int kPow2>
HWY_API svuint16_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< bfloat16_t, N, kPow2 >  ,
svfloat32_t  v 
)

References BitCast(), ConcatOdd(), and v.

◆ DemoteTo() [32/76]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< float, N, 0 >  ,
const Vec128< double, N v 
)

References v.

◆ DemoteTo() [33/76]

template<size_t N>
HWY_API Vec128< float16_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< float16_t, N, 0 >  df16,
const Vec128< float, N v 
)

◆ DemoteTo() [34/76]

template<size_t N, int kPow2>
HWY_API svfloat16_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< float16_t, N, kPow2 >  d,
const svfloat32_t  v 
)

References ConcatEven(), d, and v.

◆ DemoteTo() [35/76]

template<size_t N, int kPow2>
HWY_API svfloat32_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< float32_t, N, kPow2 >  d,
const svfloat64_t  v 
)

References ConcatEven(), d, and v.

◆ DemoteTo() [36/76]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< int16_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ DemoteTo() [37/76]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< int16_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ DemoteTo() [38/76]

template<size_t N, int kPow2>
HWY_API svint16_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int16_t, N, kPow2 >  dn,
const svint32_t  v 
)

References BitCast(), and v.

◆ DemoteTo() [39/76]

template<size_t N>
HWY_API vint32mf2_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int32_t, N, -1 >  d,
const vfloat64m1_t  v 
)

References d, Lanes(), and v.

◆ DemoteTo() [40/76]

template<size_t N>
HWY_API vint32m1_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int32_t, N, 0 >  d,
const vfloat64m2_t  v 
)

References d, Lanes(), and v.

◆ DemoteTo() [41/76]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< int32_t, N, 0 >  ,
const Vec128< double, N v 
)

References v.

◆ DemoteTo() [42/76]

template<size_t N>
HWY_API vint32m2_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int32_t, N, 1 >  d,
const vfloat64m4_t  v 
)

References d, Lanes(), and v.

◆ DemoteTo() [43/76]

template<size_t N>
HWY_API vint32m4_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int32_t, N, 2 >  d,
const vfloat64m8_t  v 
)

References d, Lanes(), and v.

◆ DemoteTo() [44/76]

template<size_t N, int kPow2>
HWY_API svint32_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int32_t, N, kPow2 >  d,
const svfloat64_t  v 
)

References ConcatEven(), d, and v.

◆ DemoteTo() [45/76]

template<size_t N>
HWY_API vint8mf2_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, -1 >  d,
const vint32m2_t  v 
)

References d, DemoteTo(), and v.

◆ DemoteTo() [46/76]

template<size_t N>
HWY_API vint8mf4_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, -2 >  d,
const vint32m1_t  v 
)

References d, DemoteTo(), and v.

◆ DemoteTo() [47/76]

template<size_t N>
HWY_API vint8mf8_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, -3 >  d,
const vint32mf2_t  v 
)

References d, DemoteTo(), and v.

◆ DemoteTo() [48/76]

template<size_t N>
HWY_API vint8m1_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, 0 >  d,
const vint32m4_t  v 
)

References d, DemoteTo(), and v.

◆ DemoteTo() [49/76]

template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, 0 >  ,
const Vec128< int16_t, N v 
)

References v.

◆ DemoteTo() [50/76]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, 0 >  ,
const Vec128< int16_t, N v 
)

References v.

◆ DemoteTo() [51/76]

template<size_t N>
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, 0 >  ,
const Vec128< int32_t >  v 
)

◆ DemoteTo() [52/76]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ DemoteTo() [53/76]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ DemoteTo() [54/76]

template<size_t N>
HWY_API vint8m2_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, 1 >  d,
const vint32m8_t  v 
)

References d, DemoteTo(), and v.

◆ DemoteTo() [55/76]

template<size_t N, int kPow2>
HWY_API svint8_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, kPow2 >  dn,
const svint16_t  v 
)

References BitCast(), and v.

◆ DemoteTo() [56/76]

template<size_t N, int kPow2>
HWY_API svint8_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< int8_t, N, kPow2 >  dn,
const svint32_t  v 
)

References BitCast(), and v.

◆ DemoteTo() [57/76]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint16_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ DemoteTo() [58/76]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint16_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ DemoteTo() [59/76]

template<size_t N, int kPow2>
HWY_API svuint16_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint16_t, N, kPow2 >  dn,
const svint32_t  v 
)

References BitCast(), and v.

◆ DemoteTo() [60/76]

template<size_t N>
HWY_API vuint8mf2_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, -1 >  d,
const vint32m2_t  v 
)

References d, DemoteTo(), Lanes(), and v.

◆ DemoteTo() [61/76]

template<size_t N>
HWY_API vuint8mf4_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, -2 >  d,
const vint32m1_t  v 
)

References d, DemoteTo(), Lanes(), and v.

◆ DemoteTo() [62/76]

template<size_t N>
HWY_API vuint8mf8_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, -3 >  d,
const vint32mf2_t  v 
)

References d, DemoteTo(), Lanes(), and v.

◆ DemoteTo() [63/76]

template<size_t N>
HWY_API vuint8m1_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, 0 >  d,
const vint32m4_t  v 
)

References d, DemoteTo(), Lanes(), and v.

◆ DemoteTo() [64/76]

template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<uint8_t, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, 0 >  ,
const Vec128< int16_t, N v 
)

References v.

◆ DemoteTo() [65/76]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, 0 >  ,
const Vec128< int16_t, N v 
)

References v.

◆ DemoteTo() [66/76]

template<size_t N>
HWY_API Vec128<uint8_t, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, 0 >  ,
const Vec128< int32_t >  v 
)

◆ DemoteTo() [67/76]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<uint8_t, N> hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ DemoteTo() [68/76]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ DemoteTo() [69/76]

template<size_t N>
HWY_API vuint8m2_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, 1 >  d,
const vint32m8_t  v 
)

References d, DemoteTo(), Lanes(), and v.

◆ DemoteTo() [70/76]

template<size_t N, int kPow2>
HWY_API svuint8_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, kPow2 >  dn,
const svint16_t  v 
)

References BitCast(), and v.

◆ DemoteTo() [71/76]

template<size_t N, int kPow2>
HWY_API svuint8_t hwy::HWY_NAMESPACE::DemoteTo ( Simd< uint8_t, N, kPow2 >  dn,
const svint32_t  v 
)

References BitCast(), and v.

◆ DemoteTo() [72/76]

HWY_API Vec1<bfloat16_t> hwy::HWY_NAMESPACE::DemoteTo ( Sisd< bfloat16_t d,
const Vec1< float >  v 
)

References hwy::BF16FromF32(), d, Set(), and v.

◆ DemoteTo() [73/76]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::DemoteTo ( Sisd< float >  ,
Vec1< double >  from 
)

◆ DemoteTo() [74/76]

HWY_API Vec1<float16_t> hwy::HWY_NAMESPACE::DemoteTo ( Sisd< float16_t ,
const Vec1< float >  v 
)

◆ DemoteTo() [75/76]

HWY_API Vec1<int32_t> hwy::HWY_NAMESPACE::DemoteTo ( Sisd< int32_t >  ,
Vec1< double >  from 
)

◆ DemoteTo() [76/76]

template<typename FromT , typename ToT >
HWY_API Vec1<ToT> hwy::HWY_NAMESPACE::DemoteTo ( Sisd< ToT >  ,
Vec1< FromT >  from 
)

◆ Div()

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Div ( a,
b 
)

◆ DupEven() [1/9]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::DupEven ( const V  v)

References v.

◆ DupEven() [2/9]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::DupEven ( Vec128< float, N v)

References v.

◆ DupEven() [3/9]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::DupEven ( Vec128< T, N v)

References v.

◆ DupEven() [4/9]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::DupEven ( Vec1< T >  v)

References v.

◆ DupEven() [5/9]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::DupEven ( Vec256< float >  v)

References v.

◆ DupEven() [6/9]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::DupEven ( Vec256< T >  v)

References HWY_ASSERT.

◆ DupEven() [7/9]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::DupEven ( Vec256< T >  v)

References v.

◆ DupEven() [8/9]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::DupEven ( Vec512< float >  v)

References v.

◆ DupEven() [9/9]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::DupEven ( Vec512< T >  v)

References v.

◆ DupOdd() [1/8]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::DupOdd ( const V  v)

References v.

◆ DupOdd() [2/8]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::DupOdd ( Vec128< float, N v)

References v.

◆ DupOdd() [3/8]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::DupOdd ( Vec128< T, N v)

◆ DupOdd() [4/8]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::DupOdd ( Vec256< float >  v)

References v.

◆ DupOdd() [5/8]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::DupOdd ( Vec256< T >  v)

References HWY_ASSERT.

◆ DupOdd() [6/8]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::DupOdd ( Vec256< T >  v)

References v.

◆ DupOdd() [7/8]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::DupOdd ( Vec512< float >  v)

References v.

◆ DupOdd() [8/8]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::DupOdd ( Vec512< T >  v)

References v.

◆ Eq()

template<class V >
HWY_API auto hwy::HWY_NAMESPACE::Eq ( a,
b 
) -> decltype(a == b)

◆ Exp()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Exp ( const D  d,
x 
)

Highway SIMD version of std::exp(x).

Valid Lane Types: float32, float64 Max Error: ULP = 1 Valid Range: float32[-FLT_MAX, +104], float64[-DBL_MAX, +706]

Returns
e^x

References Add(), And(), d, Ge(), IfThenElseZero(), MulAdd(), Or(), and Set().

Referenced by CallExp().

◆ Expm1()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Expm1 ( const D  d,
x 
)

Highway SIMD version of std::expm1(x).

Valid Lane Types: float32, float64 Max Error: ULP = 4 Valid Range: float32[-FLT_MAX, +104], float64[-DBL_MAX, +706]

Returns
e^x - 1

References Abs(), Add(), And(), d, IfThenElse(), Lt(), MulAdd(), Or(), Set(), and Sub().

Referenced by CallExpm1(), Sinh(), and Tanh().

◆ FindFirstTrue() [1/5]

template<typename T >
HWY_API intptr_t hwy::HWY_NAMESPACE::FindFirstTrue ( const Full256< T >  ,
const Mask256< T >  mask 
)

◆ FindFirstTrue() [2/5]

template<typename T , HWY_IF_NOT_LANE_SIZE(T, 1) >
HWY_API intptr_t hwy::HWY_NAMESPACE::FindFirstTrue ( const Full512< T >  ,
const Mask512< T >  mask 
)

◆ FindFirstTrue() [3/5]

template<typename T , size_t N>
HWY_API intptr_t hwy::HWY_NAMESPACE::FindFirstTrue ( const Simd< T, N, 0 >  ,
const Mask128< T, N mask 
)

◆ FindFirstTrue() [4/5]

template<class D >
HWY_API intptr_t hwy::HWY_NAMESPACE::FindFirstTrue ( d,
svbool_t  m 
)

◆ FindFirstTrue() [5/5]

template<typename T >
HWY_API intptr_t hwy::HWY_NAMESPACE::FindFirstTrue ( Sisd< T >  ,
const Mask1< T >  mask 
)

◆ FirstN() [1/5]

template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::FirstN ( const Full256< T >  d,
size_t  num 
)

References d, Iota(), RebindMask(), and Set().

◆ FirstN() [2/5]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::FirstN ( const Full512< T >  ,
size_t  n 
)

◆ FirstN() [3/5]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::FirstN ( const Simd< T, N, 0 >  d,
size_t  num 
)

◆ FirstN() [4/5]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Mask128<T, N> hwy::HWY_NAMESPACE::FirstN ( const Simd< T, N, 0 >  d,
size_t  num 
)

◆ FirstN() [5/5]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::FirstN ( Sisd< T >  ,
size_t  n 
)

◆ Floor() [1/10]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Floor ( const V  v)

References Round(), and v.

◆ Floor() [2/10]

template<typename Float , typename Bits , int kMantissaBits, int kExponentBits, class V >
V hwy::HWY_NAMESPACE::Floor ( const V  v)

References v.

◆ Floor() [3/10]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Floor ( const Vec128< float, N v)

◆ Floor() [4/10]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Floor ( const Vec128< T, N v)

◆ Floor() [5/10]

HWY_API Vec1<double> hwy::HWY_NAMESPACE::Floor ( const Vec1< double >  v)

References v.

◆ Floor() [6/10]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::Floor ( const Vec1< float >  v)

References v.

◆ Floor() [7/10]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Floor ( const Vec256< double >  v)

References v.

◆ Floor() [8/10]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Floor ( const Vec256< float >  v)

References v.

◆ Floor() [9/10]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Floor ( const Vec512< double >  v)

References v.

◆ Floor() [10/10]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Floor ( const Vec512< float >  v)

References v.

◆ ForAllTypes()

template<class Func >
void hwy::HWY_NAMESPACE::ForAllTypes ( const Func func)

◆ ForFloatTypes()

template<class Func >
void hwy::HWY_NAMESPACE::ForFloatTypes ( const Func func)

Referenced by ForAllTypes().

◆ ForIntegerTypes()

template<class Func >
void hwy::HWY_NAMESPACE::ForIntegerTypes ( const Func func)

References ForSignedTypes(), and ForUnsignedTypes().

Referenced by ForAllTypes().

◆ ForSignedTypes()

template<class Func >
void hwy::HWY_NAMESPACE::ForSignedTypes ( const Func func)

Referenced by ForIntegerTypes().

◆ ForUI16()

template<class Func >
void hwy::HWY_NAMESPACE::ForUI16 ( const Func func)

Referenced by ForUI163264(), and ForUIF16().

◆ ForUI163264()

template<class Func >
void hwy::HWY_NAMESPACE::ForUI163264 ( const Func func)

References ForUI16(), and ForUI3264().

◆ ForUI32()

template<class Func >
void hwy::HWY_NAMESPACE::ForUI32 ( const Func func)

Referenced by ForUI3264(), and ForUIF32().

◆ ForUI3264()

template<class Func >
void hwy::HWY_NAMESPACE::ForUI3264 ( const Func func)

References ForUI32(), and ForUI64().

Referenced by ForUI163264().

◆ ForUI64()

template<class Func >
void hwy::HWY_NAMESPACE::ForUI64 ( const Func func)

Referenced by ForUI3264(), and ForUIF64().

◆ ForUI8()

template<class Func >
void hwy::HWY_NAMESPACE::ForUI8 ( const Func func)

◆ ForUIF16()

template<class Func >
void hwy::HWY_NAMESPACE::ForUIF16 ( const Func func)

References ForUI16().

Referenced by ForUIF163264().

◆ ForUIF163264()

template<class Func >
void hwy::HWY_NAMESPACE::ForUIF163264 ( const Func func)

References ForUIF16(), and ForUIF3264().

◆ ForUIF32()

template<class Func >
void hwy::HWY_NAMESPACE::ForUIF32 ( const Func func)

References ForUI32().

Referenced by ForUIF3264().

◆ ForUIF3264()

template<class Func >
void hwy::HWY_NAMESPACE::ForUIF3264 ( const Func func)

References ForUIF32(), and ForUIF64().

Referenced by ForUIF163264().

◆ ForUIF64()

template<class Func >
void hwy::HWY_NAMESPACE::ForUIF64 ( const Func func)

References ForUI64().

Referenced by ForUIF3264().

◆ ForUnsignedTypes()

template<class Func >
void hwy::HWY_NAMESPACE::ForUnsignedTypes ( const Func func)

Referenced by ForIntegerTypes().

◆ GatherIndex() [1/9]

template<typename T , typename Index >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::GatherIndex ( const Full256< T >  d,
const T *HWY_RESTRICT  base,
const Vec256< Index >  index 
)

References d, Load(), N, and Store().

◆ GatherIndex() [2/9]

template<typename T , size_t N, typename Index >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::GatherIndex ( const Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  base,
const Vec128< Index, N index 
)

References d, Load(), N, and Store().

◆ GatherIndex() [3/9]

template<class D , HWY_IF_LANE_SIZE_D(D, 4) >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::GatherIndex ( d,
const TFromD< D > *HWY_RESTRICT  base,
const VFromD< RebindToSigned< D >>  index 
)

References d, and GatherOffset().

◆ GatherIndex() [4/9]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::GatherIndex ( Full256< double >  ,
const double *HWY_RESTRICT  base,
const Vec256< int64_t >  index 
)

◆ GatherIndex() [5/9]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::GatherIndex ( Full256< float >  ,
const float *HWY_RESTRICT  base,
const Vec256< int32_t >  index 
)

◆ GatherIndex() [6/9]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::GatherIndex ( Full512< double >  ,
const double *HWY_RESTRICT  base,
const Vec512< int64_t >  index 
)

◆ GatherIndex() [7/9]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::GatherIndex ( Full512< float >  ,
const float *HWY_RESTRICT  base,
const Vec512< int32_t >  index 
)

◆ GatherIndex() [8/9]

template<typename T , typename Index >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::GatherIndex ( Full512< T >  d,
const T *HWY_RESTRICT  base,
const Vec512< Index >  index 
)

◆ GatherIndex() [9/9]

template<typename T , typename Index >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::GatherIndex ( Sisd< T >  d,
const T *HWY_RESTRICT  base,
const Vec1< Index >  index 
)

◆ GatherOffset() [1/8]

template<typename T , typename Offset >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::GatherOffset ( const Full256< T >  d,
const T *HWY_RESTRICT  base,
const Vec256< Offset >  offset 
)

References d, Load(), N, and Store().

◆ GatherOffset() [2/8]

template<typename T , size_t N, typename Offset >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::GatherOffset ( const Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  base,
const Vec128< Offset, N offset 
)

References d, Load(), N, and Store().

Referenced by GatherIndex().

◆ GatherOffset() [3/8]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::GatherOffset ( Full256< double >  ,
const double *HWY_RESTRICT  base,
const Vec256< int64_t >  offset 
)

◆ GatherOffset() [4/8]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::GatherOffset ( Full256< float >  ,
const float *HWY_RESTRICT  base,
const Vec256< int32_t >  offset 
)

◆ GatherOffset() [5/8]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::GatherOffset ( Full512< double >  ,
const double *HWY_RESTRICT  base,
const Vec512< int64_t >  offset 
)

◆ GatherOffset() [6/8]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::GatherOffset ( Full512< float >  ,
const float *HWY_RESTRICT  base,
const Vec512< int32_t >  offset 
)

◆ GatherOffset() [7/8]

template<typename T , typename Offset >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::GatherOffset ( Full512< T >  d,
const T *HWY_RESTRICT  base,
const Vec512< Offset >  offset 
)

◆ GatherOffset() [8/8]

template<typename T , typename Offset >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::GatherOffset ( Sisd< T >  d,
const T *  base,
const Vec1< Offset >  offset 
)

◆ Ge() [1/2]

template<class V >
HWY_API svbool_t hwy::HWY_NAMESPACE::Ge ( const V  a,
const V  b 
)

References Le().

◆ Ge() [2/2]

template<class V >
HWY_API auto hwy::HWY_NAMESPACE::Ge ( a,
b 
) -> decltype(a == b)

Referenced by Acos(), and Exp().

◆ GenerateInput()

template<typename T >
InputStats<T> hwy::HWY_NAMESPACE::GenerateInput ( const Dist  dist,
T *  v,
size_t  num 
)

◆ GetLane() [1/35]

template<size_t N>
HWY_API double hwy::HWY_NAMESPACE::GetLane ( const Vec128< double, N v)

References v.

◆ GetLane() [2/35]

HWY_API float hwy::HWY_NAMESPACE::GetLane ( const Vec128< float, 4 >  v)

References v.

◆ GetLane() [3/35]

template<size_t N>
HWY_API float hwy::HWY_NAMESPACE::GetLane ( const Vec128< float, N v)

References v.

◆ GetLane() [4/35]

HWY_API int16_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< int16_t, 8 >  v)

References v.

◆ GetLane() [5/35]

template<size_t N>
HWY_API int16_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< int16_t, N v)

References v.

◆ GetLane() [6/35]

HWY_API int32_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< int32_t, 4 >  v)

References v.

◆ GetLane() [7/35]

template<size_t N>
HWY_API int32_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< int32_t, N v)

References v.

◆ GetLane() [8/35]

HWY_API int64_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< int64_t, 2 >  v)

References v.

◆ GetLane() [9/35]

template<size_t N>
HWY_API int64_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< int64_t, N v)

References v.

◆ GetLane() [10/35]

HWY_API int8_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< int8_t, 16 >  v)

References v.

◆ GetLane() [11/35]

template<size_t N>
HWY_API int8_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< int8_t, N v)

References v.

◆ GetLane() [12/35]

HWY_API uint16_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< uint16_t, 8 >  v)

References v.

◆ GetLane() [13/35]

template<size_t N>
HWY_API uint16_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< uint16_t, N v)

References v.

◆ GetLane() [14/35]

HWY_API uint32_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< uint32_t, 4 >  v)

References v.

◆ GetLane() [15/35]

template<size_t N>
HWY_API uint32_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< uint32_t, N v)

References v.

◆ GetLane() [16/35]

HWY_API uint64_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< uint64_t, 2 >  v)

References v.

◆ GetLane() [17/35]

template<size_t N>
HWY_API uint64_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< uint64_t, N v)

References v.

◆ GetLane() [18/35]

HWY_API uint8_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< uint8_t, 16 >  v)

References v.

Referenced by hwy::HWY_NAMESPACE::Dot::Compute(), GetLane(), and MulEven().

◆ GetLane() [19/35]

template<size_t N>
HWY_API uint8_t hwy::HWY_NAMESPACE::GetLane ( const Vec128< uint8_t, N v)

References v.

◆ GetLane() [20/35]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::GetLane ( const Vec1< T >  v)

References v.

◆ GetLane() [21/35]

HWY_API float hwy::HWY_NAMESPACE::GetLane ( const Vec256< float >  v)

References v.

◆ GetLane() [22/35]

HWY_API int16_t hwy::HWY_NAMESPACE::GetLane ( const Vec256< int16_t >  v)

References v.

◆ GetLane() [23/35]

HWY_API int32_t hwy::HWY_NAMESPACE::GetLane ( const Vec256< int32_t >  v)

References v.

◆ GetLane() [24/35]

HWY_API int64_t hwy::HWY_NAMESPACE::GetLane ( const Vec256< int64_t >  v)

References v.

◆ GetLane() [25/35]

HWY_API int8_t hwy::HWY_NAMESPACE::GetLane ( const Vec256< int8_t >  v)

References v.

◆ GetLane() [26/35]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::GetLane ( const Vec256< T >  v)

References GetLane(), LowerHalf(), and v.

◆ GetLane() [27/35]

HWY_API uint16_t hwy::HWY_NAMESPACE::GetLane ( const Vec256< uint16_t >  v)

References v.

◆ GetLane() [28/35]

HWY_API uint32_t hwy::HWY_NAMESPACE::GetLane ( const Vec256< uint32_t >  v)

References v.

◆ GetLane() [29/35]

HWY_API uint64_t hwy::HWY_NAMESPACE::GetLane ( const Vec256< uint64_t >  v)

References v.

◆ GetLane() [30/35]

HWY_API uint8_t hwy::HWY_NAMESPACE::GetLane ( const Vec256< uint8_t >  v)

References v.

◆ GetLane() [31/35]

HWY_API float hwy::HWY_NAMESPACE::GetLane ( const Vec32< float >  v)

References v.

◆ GetLane() [32/35]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::GetLane ( const Vec512< T >  v)

References GetLane(), LowerHalf(), and v.

◆ GetLane() [33/35]

HWY_API float hwy::HWY_NAMESPACE::GetLane ( const Vec64< float >  v)

References v.

◆ GetLane() [34/35]

HWY_API int64_t hwy::HWY_NAMESPACE::GetLane ( const Vec64< int64_t >  v)

References v.

◆ GetLane() [35/35]

HWY_API uint64_t hwy::HWY_NAMESPACE::GetLane ( const Vec64< uint64_t >  v)

References v.

◆ Gt() [1/2]

template<class V >
HWY_API svbool_t hwy::HWY_NAMESPACE::Gt ( const V  a,
const V  b 
)

References Lt().

◆ Gt() [2/2]

template<class V >
HWY_API auto hwy::HWY_NAMESPACE::Gt ( a,
b 
) -> decltype(a == b)

Referenced by Acosh(), Asinh(), Atan(), and Tanh().

◆ HWY_NEON_DEF_FUNCTION_INT_8_16_32()

hwy::HWY_NAMESPACE::HWY_NEON_DEF_FUNCTION_INT_8_16_32 ( Neg  ,
vneg  ,
_  ,
 
) const

References v, and Zero().

◆ HWY_RVV_FOREACH_F64()

hwy::HWY_NAMESPACE::HWY_RVV_FOREACH_F64 ( HWY_RVV_DEMOTE_F  ,
DemoteTo  ,
vfncvt_rod_f_f_w_f  ,
_DEMOTE_VIRT   
)

◆ HWY_RVV_STORE3() [1/3]

sseg3 sseg3 hwy::HWY_NAMESPACE::HWY_RVV_STORE3 ( uint  ,
u  ,
,
_  ,
_  ,
m2  ,
_  ,
_  ,
,
,
StoreInterleaved3  ,
sseg3   
)

◆ HWY_RVV_STORE3() [2/3]

sseg3 hwy::HWY_NAMESPACE::HWY_RVV_STORE3 ( uint  ,
u  ,
,
_  ,
_  ,
mf2  ,
_  ,
_  ,
1,
16  ,
StoreInterleaved3  ,
sseg3   
)

◆ HWY_RVV_STORE3() [3/3]

hwy::HWY_NAMESPACE::HWY_RVV_STORE3 ( uint  ,
u  ,
,
_  ,
_  ,
mf8  ,
_  ,
_  ,
3,
64  ,
StoreInterleaved3  ,
sseg3   
)

◆ HWY_RVV_STORE4() [1/2]

sseg3 sseg3 sseg4 sseg4 hwy::HWY_NAMESPACE::HWY_RVV_STORE4 ( uint  ,
u  ,
,
_  ,
_  ,
m1  ,
_  ,
_  ,
,
,
StoreInterleaved4  ,
sseg4   
)

◆ HWY_RVV_STORE4() [2/2]

sseg3 sseg3 sseg4 hwy::HWY_NAMESPACE::HWY_RVV_STORE4 ( uint  ,
u  ,
,
_  ,
_  ,
mf4  ,
_  ,
_  ,
2,
32  ,
StoreInterleaved4  ,
sseg4   
)

◆ IfNegativeThenElse() [1/8]

template<size_t N>
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::IfNegativeThenElse ( const Vec128< int8_t, N v,
const Vec128< int8_t, N yes,
const Vec128< int8_t, N no 
)

References IfThenElse(), MaskFromVec(), and v.

◆ IfNegativeThenElse() [2/8]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::IfNegativeThenElse ( v,
yes,
no 
)

◆ IfNegativeThenElse() [3/8]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::IfNegativeThenElse ( Vec128< T, N v,
Vec128< T, N yes,
Vec128< T, N no 
)

◆ IfNegativeThenElse() [4/8]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::IfNegativeThenElse ( Vec128< T, N v,
Vec128< T, N yes,
Vec128< T, N no 
)

◆ IfNegativeThenElse() [5/8]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::IfNegativeThenElse ( Vec1< T >  v,
Vec1< T >  yes,
Vec1< T >  no 
)

References v.

◆ IfNegativeThenElse() [6/8]

HWY_API Vec256<int8_t> hwy::HWY_NAMESPACE::IfNegativeThenElse ( Vec256< int8_t >  v,
Vec256< int8_t >  yes,
Vec256< int8_t >  no 
)

References IfThenElse(), MaskFromVec(), and v.

◆ IfNegativeThenElse() [7/8]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfNegativeThenElse ( Vec256< T >  v,
Vec256< T >  yes,
Vec256< T >  no 
)

◆ IfNegativeThenElse() [8/8]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::IfNegativeThenElse ( Vec512< T >  v,
Vec512< T >  yes,
Vec512< T >  no 
)

References IfThenElse(), MaskFromVec(), and v.

◆ IfThenElse() [1/10]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::IfThenElse ( const Mask1< T >  mask,
const Vec1< T >  yes,
const Vec1< T >  no 
)

◆ IfThenElse() [2/10]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::IfThenElse ( const Mask512< double >  mask,
const Vec512< double >  yes,
const Vec512< double >  no 
)

◆ IfThenElse() [3/10]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::IfThenElse ( const Mask512< float >  mask,
const Vec512< float >  yes,
const Vec512< float >  no 
)

◆ IfThenElse() [4/10]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::IfThenElse ( const Mask512< T >  mask,
const Vec512< T >  yes,
const Vec512< T >  no 
)

◆ IfThenElse() [5/10]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::IfThenElse ( Mask128< double, N mask,
Vec128< double, N yes,
Vec128< double, N no 
)

◆ IfThenElse() [6/10]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::IfThenElse ( Mask128< float, N mask,
Vec128< float, N yes,
Vec128< float, N no 
)

◆ IfThenElse() [7/10]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::IfThenElse ( Mask128< T, N mask,
Vec128< T, N yes,
Vec128< T, N no 
)

◆ IfThenElse() [8/10]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::IfThenElse ( Mask256< double >  mask,
Vec256< double >  yes,
Vec256< double >  no 
)

◆ IfThenElse() [9/10]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::IfThenElse ( Mask256< float >  mask,
Vec256< float >  yes,
Vec256< float >  no 
)

◆ IfThenElse() [10/10]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfThenElse ( Mask256< T >  mask,
Vec256< T >  yes,
Vec256< T >  no 
)

◆ IfThenElseZero() [1/11]

template<class M , class V >
HWY_API V hwy::HWY_NAMESPACE::IfThenElseZero ( const M  mask,
const V  yes 
)

References IfThenElse(), and Zero().

◆ IfThenElseZero() [2/11]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::IfThenElseZero ( const Mask128< T, N mask,
const Vec128< T, N yes 
)

◆ IfThenElseZero() [3/11]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::IfThenElseZero ( const Mask1< T >  mask,
const Vec1< T >  yes 
)

◆ IfThenElseZero() [4/11]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::IfThenElseZero ( const Mask512< double >  mask,
const Vec512< double >  yes 
)

◆ IfThenElseZero() [5/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::IfThenElseZero ( const Mask512< float >  mask,
const Vec512< float >  yes 
)

◆ IfThenElseZero() [6/11]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::IfThenElseZero ( const Mask512< T >  mask,
const Vec512< T >  yes 
)

◆ IfThenElseZero() [7/11]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::IfThenElseZero ( Mask128< double, N mask,
Vec128< double, N yes 
)

◆ IfThenElseZero() [8/11]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::IfThenElseZero ( Mask128< float, N mask,
Vec128< float, N yes 
)

◆ IfThenElseZero() [9/11]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::IfThenElseZero ( Mask256< double >  mask,
Vec256< double >  yes 
)

◆ IfThenElseZero() [10/11]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::IfThenElseZero ( Mask256< float >  mask,
Vec256< float >  yes 
)

◆ IfThenElseZero() [11/11]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfThenElseZero ( Mask256< T >  mask,
Vec256< T >  yes 
)

References VecFromMask().

◆ IfThenZeroElse() [1/11]

template<class M , class V >
HWY_API V hwy::HWY_NAMESPACE::IfThenZeroElse ( const M  mask,
const V  no 
)

References IfThenElse(), and Zero().

◆ IfThenZeroElse() [2/11]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::IfThenZeroElse ( const Mask128< T, N mask,
const Vec128< T, N no 
)

◆ IfThenZeroElse() [3/11]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::IfThenZeroElse ( const Mask1< T >  mask,
const Vec1< T >  no 
)

◆ IfThenZeroElse() [4/11]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::IfThenZeroElse ( const Mask512< double >  mask,
const Vec512< double >  no 
)

◆ IfThenZeroElse() [5/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::IfThenZeroElse ( const Mask512< float >  mask,
const Vec512< float >  no 
)

◆ IfThenZeroElse() [6/11]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::IfThenZeroElse ( const Mask512< T >  mask,
const Vec512< T >  no 
)

◆ IfThenZeroElse() [7/11]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::IfThenZeroElse ( Mask128< double, N mask,
Vec128< double, N no 
)

◆ IfThenZeroElse() [8/11]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::IfThenZeroElse ( Mask128< float, N mask,
Vec128< float, N no 
)

◆ IfThenZeroElse() [9/11]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::IfThenZeroElse ( Mask256< double >  mask,
Vec256< double >  no 
)

◆ IfThenZeroElse() [10/11]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::IfThenZeroElse ( Mask256< float >  mask,
Vec256< float >  no 
)

◆ IfThenZeroElse() [11/11]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfThenZeroElse ( Mask256< T >  mask,
Vec256< T >  no 
)

References AndNot(), and VecFromMask().

◆ IfVecThenElse() [1/5]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::IfVecThenElse ( const V  mask,
const V  yes,
const V  no 
)

References IfThenElse(), and MaskFromVec().

◆ IfVecThenElse() [2/5]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::IfVecThenElse ( Vec128< T, N mask,
Vec128< T, N yes,
Vec128< T, N no 
)

◆ IfVecThenElse() [3/5]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::IfVecThenElse ( Vec1< T >  mask,
Vec1< T >  yes,
Vec1< T >  no 
)

References IfThenElse(), and MaskFromVec().

◆ IfVecThenElse() [4/5]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfVecThenElse ( Vec256< T >  mask,
Vec256< T >  yes,
Vec256< T >  no 
)

References IfThenElse(), and MaskFromVec().

◆ IfVecThenElse() [5/5]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::IfVecThenElse ( Vec512< T >  mask,
Vec512< T >  yes,
Vec512< T >  no 
)

References BitCast(), and d.

◆ IndicesFromVec() [1/7]

template<class D , class VI >
HWY_API VFromD< RebindToUnsigned< D > > hwy::HWY_NAMESPACE::IndicesFromVec ( d,
VI  vec 
)

References AllTrue(), BitCast(), d, HWY_DASSERT, and Lanes().

◆ IndicesFromVec() [2/7]

template<typename T , typename TI >
HWY_API Indices256<T> hwy::HWY_NAMESPACE::IndicesFromVec ( Full256< T >  d,
Vec256< TI >  vec 
)

◆ IndicesFromVec() [3/7]

template<typename T , typename TI , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Indices256< T > hwy::HWY_NAMESPACE::IndicesFromVec ( Full256< T >  d,
Vec256< TI >  vec 
)

◆ IndicesFromVec() [4/7]

template<typename T , typename TI >
HWY_API Indices512<T> hwy::HWY_NAMESPACE::IndicesFromVec ( Full512< T >  ,
Vec512< TI >  vec 
)

◆ IndicesFromVec() [5/7]

template<typename T , size_t N, typename TI , HWY_IF_LE128(T, N) >
HWY_API Indices128< T, N > hwy::HWY_NAMESPACE::IndicesFromVec ( Simd< T, N, 0 >  d,
Vec128< TI, N vec 
)

◆ IndicesFromVec() [6/7]

template<typename T , size_t N, typename TI , HWY_IF_LE128(T, N) , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Indices128< T, N > hwy::HWY_NAMESPACE::IndicesFromVec ( Simd< T, N, 0 >  d,
Vec128< TI, N vec 
)

◆ IndicesFromVec() [7/7]

template<typename T , typename TI >
HWY_API Indices1<T> hwy::HWY_NAMESPACE::IndicesFromVec ( Sisd< T >  ,
Vec1< TI >  vec 
)

◆ InterleaveLower() [1/48]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::InterleaveLower ( const V  a,
const V  b 
)

References InterleaveLower().

◆ InterleaveLower() [2/48]

template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ InterleaveLower() [3/48]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< float >  a,
const Vec128< float >  b 
)

◆ InterleaveLower() [4/48]

template<size_t N, HWY_IF_LE64(float, N) >
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ InterleaveLower() [5/48]

template<size_t N, HWY_IF_LE128(int16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ InterleaveLower() [6/48]

template<size_t N, HWY_IF_LE128(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ InterleaveLower() [7/48]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< int64_t >  a,
const Vec128< int64_t >  b 
)

References Shuffle01().

◆ InterleaveLower() [8/48]

template<size_t N, HWY_IF_LE128(int64_t, N) >
HWY_API Vec128<int64_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< int64_t, N a,
const Vec128< int64_t, N b 
)

◆ InterleaveLower() [9/48]

template<size_t N, HWY_IF_LE128(int8_t, N) >
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< int8_t, N a,
const Vec128< int8_t, N b 
)

◆ InterleaveLower() [10/48]

template<size_t N, HWY_IF_LE128(uint16_t, N) >
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ InterleaveLower() [11/48]

template<size_t N, HWY_IF_LE128(uint32_t, N) >
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ InterleaveLower() [12/48]

HWY_API Vec128<uint64_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< uint64_t >  a,
const Vec128< uint64_t >  b 
)

◆ InterleaveLower() [13/48]

template<size_t N, HWY_IF_LE128(uint64_t, N) >
HWY_API Vec128<uint64_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< uint64_t, N a,
const Vec128< uint64_t, N b 
)

◆ InterleaveLower() [14/48]

template<size_t N, HWY_IF_LE128(uint8_t, N) >
HWY_API Vec128<uint8_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ InterleaveLower() [15/48]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ InterleaveLower() [16/48]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ InterleaveLower() [17/48]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ InterleaveLower() [18/48]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ InterleaveLower() [19/48]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ InterleaveLower() [20/48]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ InterleaveLower() [21/48]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ InterleaveLower() [22/48]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< uint16_t >  a,
const Vec512< uint16_t >  b 
)

◆ InterleaveLower() [23/48]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ InterleaveLower() [24/48]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ InterleaveLower() [25/48]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b 
)

◆ InterleaveLower() [26/48]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::InterleaveLower ( d,
const V  a,
const V  b 
)

◆ InterleaveLower() [27/48]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::InterleaveLower ( DFromV< V >  ,
a,
b 
)

References InterleaveLower().

◆ InterleaveLower() [28/48]

template<typename T , class V = Vec256<T>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveLower ( Full256< T >  ,
a,
b 
)

References InterleaveLower().

◆ InterleaveLower() [29/48]

template<typename T , size_t N, class V = Vec128<T, N>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveLower ( Simd< T, N, 0 >  ,
a,
b 
)

References InterleaveLower().

◆ InterleaveLower() [30/48]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< float, N a,
Vec128< float, N b 
)

◆ InterleaveLower() [31/48]

template<size_t N>
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< int16_t, N a,
Vec128< int16_t, N b 
)

◆ InterleaveLower() [32/48]

template<size_t N>
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< int32_t, N a,
Vec128< int32_t, N b 
)

◆ InterleaveLower() [33/48]

template<size_t N>
HWY_API Vec128<int64_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< int64_t, N a,
Vec128< int64_t, N b 
)

◆ InterleaveLower() [34/48]

template<size_t N>
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< int8_t, N a,
Vec128< int8_t, N b 
)

◆ InterleaveLower() [35/48]

template<typename T , size_t N, HWY_IF_LE32(T, N) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< T, N a,
Vec128< T, N b 
)

◆ InterleaveLower() [36/48]

template<size_t N>
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< uint16_t, N a,
Vec128< uint16_t, N b 
)

◆ InterleaveLower() [37/48]

template<size_t N>
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< uint32_t, N a,
Vec128< uint32_t, N b 
)

◆ InterleaveLower() [38/48]

template<size_t N>
HWY_API Vec128<uint64_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< uint64_t, N a,
Vec128< uint64_t, N b 
)

◆ InterleaveLower() [39/48]

template<size_t N>
HWY_API Vec128<uint8_t, N> hwy::HWY_NAMESPACE::InterleaveLower ( Vec128< uint8_t, N a,
Vec128< uint8_t, N b 
)

◆ InterleaveLower() [40/48]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< float >  a,
Vec256< float >  b 
)

◆ InterleaveLower() [41/48]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< int16_t >  a,
Vec256< int16_t >  b 
)

◆ InterleaveLower() [42/48]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< int32_t >  a,
Vec256< int32_t >  b 
)

◆ InterleaveLower() [43/48]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< int64_t >  a,
Vec256< int64_t >  b 
)

◆ InterleaveLower() [44/48]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< int8_t >  a,
Vec256< int8_t >  b 
)

◆ InterleaveLower() [45/48]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< uint16_t >  a,
Vec256< uint16_t >  b 
)

◆ InterleaveLower() [46/48]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< uint32_t >  a,
Vec256< uint32_t >  b 
)

◆ InterleaveLower() [47/48]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< uint64_t >  a,
Vec256< uint64_t >  b 
)

◆ InterleaveLower() [48/48]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::InterleaveLower ( Vec256< uint8_t >  a,
Vec256< uint8_t >  b 
)

◆ InterleaveUpper() [1/6]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( const D  d,
const V  a,
const V  b 
)

◆ InterleaveUpper() [2/6]

template<class D , class V = VFromD<D>, hwy::EnableIf< detail::IsFull(D())> * = nullptr>
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( d,
const V  a,
const V  b 
)

References BitCast(), ConcatOdd(), d, and ZipLower().

◆ InterleaveUpper() [3/6]

template<typename T , class V = Vec128<T>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( Full128< T >  ,
a,
b 
)

◆ InterleaveUpper() [4/6]

template<typename T , class V = Vec256<T>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( Full256< T >  ,
a,
b 
)

◆ InterleaveUpper() [5/6]

template<typename T , class V = Vec512<T>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( Full512< T >  ,
a,
b 
)

◆ InterleaveUpper() [6/6]

template<typename T , size_t N, HWY_IF_GE64(T, N) , class V = Vec128<T, N>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( Simd< T, N, 0 >  d,
a,
b 
)

◆ Iota() [1/7]

template<class D , HWY_IF_FLOAT_D(D) >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::Iota ( const D  d,
TFromD< D >  first 
)

References ConvertTo(), d, and Iota().

◆ Iota() [2/7]

template<typename T , typename T2 >
Vec256<T> hwy::HWY_NAMESPACE::Iota ( const Full256< T >  d,
const T2  first 
)

References d, HWY_ALIGN, and Load().

◆ Iota() [3/7]

template<typename T , typename T2 >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::Iota ( const Full256< T >  d,
const T2  first 
)

References d, HWY_ALIGN, and Load().

◆ Iota() [4/7]

template<typename T , typename T2 >
Vec512<T> hwy::HWY_NAMESPACE::Iota ( const Full512< T >  d,
const T2  first 
)

References d, HWY_ALIGN, and Load().

◆ Iota() [5/7]

template<typename T , size_t N, typename T2 >
Vec128< T, N > hwy::HWY_NAMESPACE::Iota ( const Simd< T, N, 0 >  d,
const T2  first 
)

◆ Iota() [6/7]

template<typename T , size_t N, typename T2 , HWY_IF_LE128(T, N) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Iota ( const Simd< T, N, 0 >  d,
const T2  first 
)

References d, HWY_ALIGN, and Load().

◆ Iota() [7/7]

template<typename T , typename T2 >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Iota ( const Sisd< T >  ,
const T2  first 
)

◆ Lanes() [1/3]

template<size_t N, int kPow2>
HWY_API size_t hwy::HWY_NAMESPACE::Lanes ( Simd< bfloat16_t, N, kPow2 >  )

References Lanes().

◆ Lanes() [2/3]

template<typename T , size_t N, int kPow2>
HWY_API size_t hwy::HWY_NAMESPACE::Lanes ( Simd< T, N, kPow2 >  d)

◆ Lanes() [3/3]

template<typename T , size_t N, int kPow2>
HWY_INLINE HWY_MAYBE_UNUSED size_t hwy::HWY_NAMESPACE::Lanes ( Simd< T, N, kPow2 >  )

References N.

◆ Le()

template<class V >
HWY_API auto hwy::HWY_NAMESPACE::Le ( a,
b 
) -> decltype(a == b)

Referenced by Ge().

◆ Load() [1/18]

HWY_API Vec128<double> hwy::HWY_NAMESPACE::Load ( Full128< double >  ,
const double *HWY_RESTRICT  aligned 
)

◆ Load() [2/18]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::Load ( Full128< float >  ,
const float *HWY_RESTRICT  aligned 
)

◆ Load() [3/18]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Load ( Full128< T >  ,
const T *HWY_RESTRICT  aligned 
)

◆ Load() [4/18]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Load ( Full256< double >  ,
const double *HWY_RESTRICT  aligned 
)

◆ Load() [5/18]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Load ( Full256< float >  ,
const float *HWY_RESTRICT  aligned 
)

◆ Load() [6/18]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Load ( Full256< T >  ,
const T *HWY_RESTRICT  aligned 
)

◆ Load() [7/18]

HWY_API Vec128<float, 1> hwy::HWY_NAMESPACE::Load ( Full32< float >  ,
const float *HWY_RESTRICT  p 
)

References v.

◆ Load() [8/18]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Load ( Full512< double >  ,
const double *HWY_RESTRICT  aligned 
)

◆ Load() [9/18]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Load ( Full512< float >  ,
const float *HWY_RESTRICT  aligned 
)

◆ Load() [10/18]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::Load ( Full512< T >  ,
const T *HWY_RESTRICT  aligned 
)

◆ Load() [11/18]

HWY_API Vec64<double> hwy::HWY_NAMESPACE::Load ( Full64< double >  ,
const double *HWY_RESTRICT  p 
)

References v.

◆ Load() [12/18]

HWY_API Vec128<float, 2> hwy::HWY_NAMESPACE::Load ( Full64< float >  ,
const float *HWY_RESTRICT  p 
)

References v.

◆ Load() [13/18]

template<typename T >
HWY_API Vec64<T> hwy::HWY_NAMESPACE::Load ( Full64< T >  ,
const T *HWY_RESTRICT  p 
)

References v.

◆ Load() [14/18]

template<size_t N, int kPow2>
HWY_API svuint16_t hwy::HWY_NAMESPACE::Load ( Simd< bfloat16_t, N, kPow2 >  d,
const bfloat16_t *HWY_RESTRICT  p 
)

References d, HWY_RESTRICT, and Load().

◆ Load() [15/18]

template<size_t N, int kPow2>
HWY_API VFromD<Simd<uint16_t, N, kPow2> > hwy::HWY_NAMESPACE::Load ( Simd< bfloat16_t, N, kPow2 >  d,
const bfloat16_t *HWY_RESTRICT  p 
)

References d, HWY_RESTRICT, and Load().

◆ Load() [16/18]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Load ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  p 
)

◆ Load() [17/18]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Load ( Simd< T, N, 0 >  ,
const T *HWY_RESTRICT  p 
)

References v.

◆ Load() [18/18]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Load ( Sisd< T >  ,
const T *HWY_RESTRICT  aligned 
)

◆ LoadDup128() [1/8]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::LoadDup128 ( Full256< double >  ,
const double *const HWY_RESTRICT  p 
)

References LoadU().

◆ LoadDup128() [2/8]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::LoadDup128 ( Full256< float >  ,
const float *const HWY_RESTRICT  p 
)

References LoadU().

◆ LoadDup128() [3/8]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::LoadDup128 ( Full256< T >  d,
const T *HWY_RESTRICT  p 
)

References d, and Load().

◆ LoadDup128() [4/8]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::LoadDup128 ( Full512< double >  ,
const double *const HWY_RESTRICT  p 
)

◆ LoadDup128() [5/8]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::LoadDup128 ( Full512< float >  ,
const float *const HWY_RESTRICT  p 
)

◆ LoadDup128() [6/8]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::LoadDup128 ( Full512< T >  ,
const T *const HWY_RESTRICT  p 
)

References LoadU().

◆ LoadDup128() [7/8]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::LoadDup128 ( Simd< T, N, 0 >  d,
const T *const HWY_RESTRICT  p 
)

◆ LoadDup128() [8/8]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::LoadDup128 ( Sisd< T >  d,
const T *HWY_RESTRICT  aligned 
)

References d, and Load().

◆ LoadMaskBits() [1/5]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::LoadMaskBits ( const Full512< T >  ,
const uint8_t *HWY_RESTRICT  bits 
)

◆ LoadMaskBits() [2/5]

template<class D , HWY_IF_LANE_SIZE_D(D, 1) >
HWY_INLINE svbool_t hwy::HWY_NAMESPACE::LoadMaskBits ( d,
const uint8_t *HWY_RESTRICT  bits 
)

References BitCast(), d, Iota(), Set(), Shl(), and TestBit().

◆ LoadMaskBits() [3/5]

template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::LoadMaskBits ( Full256< T >  d,
const uint8_t *HWY_RESTRICT  bits 
)

◆ LoadMaskBits() [4/5]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::LoadMaskBits ( Simd< T, N, 0 >  d,
const uint8_t *HWY_RESTRICT  bits 
)

◆ LoadMaskBits() [5/5]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::LoadMaskBits ( Sisd< T >  ,
const uint8_t *HWY_RESTRICT  bits 
)

◆ LoadU() [1/45]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::LoadU ( d,
const TFromD< D > *HWY_RESTRICT  p 
)

References d, and Load().

◆ LoadU() [2/45]

HWY_API Vec128<double> hwy::HWY_NAMESPACE::LoadU ( Full128< double >  ,
const double *HWY_RESTRICT  p 
)

◆ LoadU() [3/45]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::LoadU ( Full128< float >  ,
const float *HWY_RESTRICT  unaligned 
)

◆ LoadU() [4/45]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::LoadU ( Full128< int16_t >  ,
const int16_t *HWY_RESTRICT  unaligned 
)

◆ LoadU() [5/45]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::LoadU ( Full128< int32_t >  ,
const int32_t *HWY_RESTRICT  unaligned 
)

◆ LoadU() [6/45]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::LoadU ( Full128< int64_t >  ,
const int64_t *HWY_RESTRICT  unaligned 
)

◆ LoadU() [7/45]

HWY_API Vec128<int8_t> hwy::HWY_NAMESPACE::LoadU ( Full128< int8_t >  ,
const int8_t *HWY_RESTRICT  unaligned 
)

◆ LoadU() [8/45]

template<typename T >
HWY_API Vec128<T> hwy::HWY_NAMESPACE::LoadU ( Full128< T >  ,
const T *HWY_RESTRICT  p 
)

◆ LoadU() [9/45]

HWY_API Vec128<uint16_t> hwy::HWY_NAMESPACE::LoadU ( Full128< uint16_t >  ,
const uint16_t *HWY_RESTRICT  unaligned 
)

◆ LoadU() [10/45]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::LoadU ( Full128< uint32_t >  ,
const uint32_t *HWY_RESTRICT  unaligned 
)

◆ LoadU() [11/45]

HWY_API Vec128<uint64_t> hwy::HWY_NAMESPACE::LoadU ( Full128< uint64_t >  ,
const uint64_t *HWY_RESTRICT  unaligned 
)

◆ LoadU() [12/45]

HWY_API Vec128<uint8_t> hwy::HWY_NAMESPACE::LoadU ( Full128< uint8_t >  ,
const uint8_t *HWY_RESTRICT  unaligned 
)

◆ LoadU() [13/45]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::LoadU ( Full256< double >  ,
const double *HWY_RESTRICT  p 
)

◆ LoadU() [14/45]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::LoadU ( Full256< float >  ,
const float *HWY_RESTRICT  p 
)

◆ LoadU() [15/45]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::LoadU ( Full256< T >  d,
const T *HWY_RESTRICT  p 
)

References d, and Load().

◆ LoadU() [16/45]

HWY_API Vec32<float> hwy::HWY_NAMESPACE::LoadU ( Full32< float >  ,
const float *HWY_RESTRICT  p 
)

◆ LoadU() [17/45]

HWY_API Vec32<int16_t> hwy::HWY_NAMESPACE::LoadU ( Full32< int16_t >  ,
const int16_t *HWY_RESTRICT  p 
)

◆ LoadU() [18/45]

HWY_API Vec32<int32_t> hwy::HWY_NAMESPACE::LoadU ( Full32< int32_t >  ,
const int32_t *HWY_RESTRICT  p 
)

◆ LoadU() [19/45]

HWY_API Vec32<int8_t> hwy::HWY_NAMESPACE::LoadU ( Full32< int8_t >  ,
const int8_t *HWY_RESTRICT  p 
)

◆ LoadU() [20/45]

HWY_API Vec32<uint16_t> hwy::HWY_NAMESPACE::LoadU ( Full32< uint16_t >  ,
const uint16_t *HWY_RESTRICT  p 
)

◆ LoadU() [21/45]

HWY_API Vec32<uint32_t> hwy::HWY_NAMESPACE::LoadU ( Full32< uint32_t >  ,
const uint32_t *HWY_RESTRICT  p 
)

◆ LoadU() [22/45]

HWY_API Vec32<uint8_t> hwy::HWY_NAMESPACE::LoadU ( Full32< uint8_t >  ,
const uint8_t *HWY_RESTRICT  p 
)

◆ LoadU() [23/45]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::LoadU ( Full512< double >  ,
const double *HWY_RESTRICT  p 
)

◆ LoadU() [24/45]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::LoadU ( Full512< float >  ,
const float *HWY_RESTRICT  p 
)

◆ LoadU() [25/45]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::LoadU ( Full512< T >  ,
const T *HWY_RESTRICT  p 
)

◆ LoadU() [26/45]

HWY_API Vec64<float> hwy::HWY_NAMESPACE::LoadU ( Full64< float >  ,
const float *HWY_RESTRICT  p 
)

◆ LoadU() [27/45]

HWY_API Vec64<int16_t> hwy::HWY_NAMESPACE::LoadU ( Full64< int16_t >  ,
const int16_t *HWY_RESTRICT  p 
)

◆ LoadU() [28/45]

HWY_API Vec64<int32_t> hwy::HWY_NAMESPACE::LoadU ( Full64< int32_t >  ,
const int32_t *HWY_RESTRICT  p 
)

◆ LoadU() [29/45]

HWY_API Vec64<int64_t> hwy::HWY_NAMESPACE::LoadU ( Full64< int64_t >  ,
const int64_t *HWY_RESTRICT  p 
)

◆ LoadU() [30/45]

HWY_API Vec64<int8_t> hwy::HWY_NAMESPACE::LoadU ( Full64< int8_t >  ,
const int8_t *HWY_RESTRICT  p 
)

◆ LoadU() [31/45]

HWY_API Vec64<uint16_t> hwy::HWY_NAMESPACE::LoadU ( Full64< uint16_t >  ,
const uint16_t *HWY_RESTRICT  p 
)

◆ LoadU() [32/45]

HWY_API Vec64<uint32_t> hwy::HWY_NAMESPACE::LoadU ( Full64< uint32_t >  ,
const uint32_t *HWY_RESTRICT  p 
)

◆ LoadU() [33/45]

HWY_API Vec64<uint64_t> hwy::HWY_NAMESPACE::LoadU ( Full64< uint64_t >  ,
const uint64_t *HWY_RESTRICT  p 
)

◆ LoadU() [34/45]

HWY_API Vec64<uint8_t> hwy::HWY_NAMESPACE::LoadU ( Full64< uint8_t >  ,
const uint8_t *HWY_RESTRICT  p 
)

◆ LoadU() [35/45]

template<size_t N>
HWY_API Vec128<bfloat16_t, N> hwy::HWY_NAMESPACE::LoadU ( Simd< bfloat16_t, N, 0 >  d,
const bfloat16_t *HWY_RESTRICT  p 
)

References d, and LoadU().

◆ LoadU() [36/45]

template<size_t N>
HWY_API Vec128<float16_t, N> hwy::HWY_NAMESPACE::LoadU ( Simd< float16_t, N, 0 >  d,
const float16_t *HWY_RESTRICT  p 
)

References d, and LoadU().

◆ LoadU() [37/45]

HWY_API Vec128<int16_t, 1> hwy::HWY_NAMESPACE::LoadU ( Simd< int16_t, 1, 0 >  ,
const int16_t *HWY_RESTRICT  p 
)

◆ LoadU() [38/45]

HWY_API Vec128<int8_t, 1> hwy::HWY_NAMESPACE::LoadU ( Simd< int8_t, 1, 0 >  ,
const int8_t *HWY_RESTRICT  p 
)

◆ LoadU() [39/45]

HWY_API Vec128<int8_t, 2> hwy::HWY_NAMESPACE::LoadU ( Simd< int8_t, 2, 0 >  ,
const int8_t *HWY_RESTRICT  p 
)

◆ LoadU() [40/45]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::LoadU ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  p 
)

References d, and Load().

◆ LoadU() [41/45]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::LoadU ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  p 
)

References d, and Load().

◆ LoadU() [42/45]

HWY_API Vec128<uint16_t, 1> hwy::HWY_NAMESPACE::LoadU ( Simd< uint16_t, 1, 0 >  ,
const uint16_t *HWY_RESTRICT  p 
)

◆ LoadU() [43/45]

HWY_API Vec128<uint8_t, 1> hwy::HWY_NAMESPACE::LoadU ( Simd< uint8_t, 1, 0 >  ,
const uint8_t *HWY_RESTRICT  p 
)

◆ LoadU() [44/45]

HWY_API Vec128<uint8_t, 2> hwy::HWY_NAMESPACE::LoadU ( Simd< uint8_t, 2, 0 >  ,
const uint8_t *HWY_RESTRICT  p 
)

◆ LoadU() [45/45]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::LoadU ( Sisd< T >  d,
const T *HWY_RESTRICT  p 
)

References d, and Load().

◆ Log()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Log ( const D  d,
x 
)

Highway SIMD version of std::log(x).

Valid Lane Types: float32, float64 Max Error: ULP = 4 Valid Range: float32(0, +FLT_MAX], float64(0, +DBL_MAX]

Returns
natural logarithm of 'x'

References d, and hwy::HWY_NAMESPACE::impl::Log().

Referenced by CallLog(), Log10(), and Log2().

◆ Log10()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Log10 ( const D  d,
x 
)

Highway SIMD version of std::log10(x).

Valid Lane Types: float32, float64 Max Error: ULP = 2 Valid Range: float32(0, +FLT_MAX], float64(0, +DBL_MAX]

Returns
base 10 logarithm of 'x'

References d, Log(), Mul(), and Set().

Referenced by CallLog10().

◆ Log1p()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Log1p ( const D  d,
x 
)

Highway SIMD version of std::log1p(x).

Valid Lane Types: float32, float64 Max Error: ULP = 2 Valid Range: float32[0, +FLT_MAX], float64[0, +DBL_MAX]

Returns
log(1 + x)

References Add(), d, Div(), Eq(), IfThenElse(), IfThenZeroElse(), Mul(), Set(), and Sub().

Referenced by Atanh(), and CallLog1p().

◆ Log2()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Log2 ( const D  d,
x 
)

Highway SIMD version of std::log2(x).

Valid Lane Types: float32, float64 Max Error: ULP = 2 Valid Range: float32(0, +FLT_MAX], float64(0, +DBL_MAX]

Returns
base 2 logarithm of 'x'

References d, Log(), Mul(), and Set().

Referenced by CallLog2().

◆ LowerHalf() [1/27]

template<class DH , class V , hwy::EnableIf<!detail::IsSupportedLMUL(DH())> * = nullptr>
HWY_API V hwy::HWY_NAMESPACE::LowerHalf ( const  DH,
const V  v 
)

References v.

◆ LowerHalf() [2/27]

template<class DH , hwy::EnableIf< detail::IsSupportedLMUL(DH())> * = nullptr>
HWY_API VFromD<DH> hwy::HWY_NAMESPACE::LowerHalf ( const  DH,
const VFromD< Twice< DH >>  v 
)

References Trunc(), and v.

◆ LowerHalf() [3/27]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::LowerHalf ( const V  v)

References v.

◆ LowerHalf() [4/27]

template<class V >
HWY_API VFromD<Half<DFromV<V> > > hwy::HWY_NAMESPACE::LowerHalf ( const V  v)

References LowerHalf(), and v.

◆ LowerHalf() [5/27]

HWY_API Vec64<float> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< float >  v)

References v.

◆ LowerHalf() [6/27]

HWY_API Vec64<int16_t> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< int16_t >  v)

References v.

◆ LowerHalf() [7/27]

HWY_API Vec64<int32_t> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< int32_t >  v)

References v.

◆ LowerHalf() [8/27]

HWY_API Vec64<int64_t> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< int64_t >  v)

References v.

◆ LowerHalf() [9/27]

HWY_API Vec64<int8_t> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< int8_t >  v)

References v.

◆ LowerHalf() [10/27]

template<typename T , size_t N, HWY_IF_LE64(uint8_t, N) >
HWY_API Vec128<T, N / 2> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< T, N v)

◆ LowerHalf() [11/27]

HWY_API Vec64<uint16_t> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< uint16_t >  v)

References v.

◆ LowerHalf() [12/27]

HWY_API Vec64<uint32_t> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< uint32_t >  v)

References v.

◆ LowerHalf() [13/27]

HWY_API Vec64<uint64_t> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< uint64_t >  v)

References v.

◆ LowerHalf() [14/27]

HWY_API Vec64<uint8_t> hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< uint8_t >  v)

References v.

◆ LowerHalf() [15/27]

template<class D2 , class V >
HWY_API V hwy::HWY_NAMESPACE::LowerHalf ( D2  ,
const V  v 
)

References v.

◆ LowerHalf() [16/27]

HWY_API Vec128<double> hwy::HWY_NAMESPACE::LowerHalf ( Full128< double >  ,
Vec256< double >  v 
)

References v.

◆ LowerHalf() [17/27]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::LowerHalf ( Full128< float >  ,
Vec256< float >  v 
)

References v.

◆ LowerHalf() [18/27]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::LowerHalf ( Full128< T >  ,
Vec256< T >  v 
)

References v.

◆ LowerHalf() [19/27]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::LowerHalf ( Full256< double >  ,
Vec512< double >  v 
)

References v.

◆ LowerHalf() [20/27]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::LowerHalf ( Full256< float >  ,
Vec512< float >  v 
)

References v.

◆ LowerHalf() [21/27]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::LowerHalf ( Full256< T >  ,
Vec512< T >  v 
)

References v.

◆ LowerHalf() [22/27]

template<typename T , size_t N>
HWY_API Vec128< T, N/2 > hwy::HWY_NAMESPACE::LowerHalf ( Simd< T, N/2, 0 >  ,
Vec128< T, N v 
)

References LowerHalf(), and v.

◆ LowerHalf() [23/27]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::LowerHalf ( Sisd< T >  ,
Vec1< T >  v 
)

References v.

◆ LowerHalf() [24/27]

template<typename T , size_t N>
HWY_API Vec128< T, N/2 > hwy::HWY_NAMESPACE::LowerHalf ( Vec128< T, N v)

References LowerHalf(), and v.

◆ LowerHalf() [25/27]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::LowerHalf ( Vec1< T >  v)

References v.

◆ LowerHalf() [26/27]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::LowerHalf ( Vec256< T >  v)

References LowerHalf(), and v.

◆ LowerHalf() [27/27]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::LowerHalf ( Vec512< T >  v)

References LowerHalf(), and v.

◆ Lt()

template<class V >
HWY_API auto hwy::HWY_NAMESPACE::Lt ( a,
b 
) -> decltype(a == b)

◆ Lt128() [1/5]

template<class D , class V = VFromD<D>>
HWY_API MFromD<D> hwy::HWY_NAMESPACE::Lt128 ( d,
const V  a,
const V  b 
)

◆ Lt128() [2/5]

template<class D >
HWY_INLINE MFromD<D> hwy::HWY_NAMESPACE::Lt128 ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

◆ Lt128() [3/5]

template<class D >
HWY_INLINE svbool_t hwy::HWY_NAMESPACE::Lt128 ( ,
const svuint64_t  a,
const svuint64_t  b 
)

References Eq(), hwy::IsSigned(), and Lt().

◆ Lt128() [4/5]

template<typename T >
HWY_INLINE Mask256<T> hwy::HWY_NAMESPACE::Lt128 ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Lt128() [5/5]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, N > hwy::HWY_NAMESPACE::Lt128 ( Simd< T, N, 0 >  d,
Vec128< T, N a,
Vec128< T, N b 
)

References And(), d, Eq(), InterleaveUpper(), Lt(), MaskFromVec(), Or(), and VecFromMask().

Referenced by Max128(), and Min128().

◆ MakeResult()

template<typename T , class Traits >
Result hwy::HWY_NAMESPACE::MakeResult ( const Algo  algo,
Dist  dist,
Traits  st,
size_t  num,
size_t  num_threads,
double  sec 
)

◆ MaskedLoad() [1/12]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::MaskedLoad ( Mask128< double, N m,
Simd< double, N, 0 >  ,
const double *HWY_RESTRICT  p 
)

◆ MaskedLoad() [2/12]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::MaskedLoad ( Mask128< float, N m,
Simd< float, N, 0 >  ,
const float *HWY_RESTRICT  p 
)

◆ MaskedLoad() [3/12]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::MaskedLoad ( Mask128< T, N m,
Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  aligned 
)

References d, IfThenElseZero(), and Load().

Referenced by Copy(), CopyIf(), Transform(), Transform1(), and Transform2().

◆ MaskedLoad() [4/12]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::MaskedLoad ( Mask128< T, N m,
Simd< T, N, 0 >  ,
const T *HWY_RESTRICT  p 
)

◆ MaskedLoad() [5/12]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::MaskedLoad ( Mask1< T >  m,
Sisd< T >  d,
const T *HWY_RESTRICT  aligned 
)

References d, IfThenElseZero(), and Load().

◆ MaskedLoad() [6/12]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::MaskedLoad ( Mask256< double >  m,
Full256< double >  ,
const double *HWY_RESTRICT  p 
)

◆ MaskedLoad() [7/12]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::MaskedLoad ( Mask256< float >  m,
Full256< float >  ,
const float *HWY_RESTRICT  p 
)

◆ MaskedLoad() [8/12]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::MaskedLoad ( Mask256< T >  m,
Full256< T >  d,
const T *HWY_RESTRICT  aligned 
)

References d, IfThenElseZero(), and Load().

◆ MaskedLoad() [9/12]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::MaskedLoad ( Mask256< T >  m,
Full256< T >  ,
const T *HWY_RESTRICT  p 
)

◆ MaskedLoad() [10/12]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::MaskedLoad ( Mask512< double >  m,
Full512< double >  ,
const double *HWY_RESTRICT  p 
)

◆ MaskedLoad() [11/12]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::MaskedLoad ( Mask512< float >  m,
Full512< float >  ,
const float *HWY_RESTRICT  p 
)

◆ MaskedLoad() [12/12]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::MaskedLoad ( Mask512< T >  m,
Full512< T >  ,
const T *HWY_RESTRICT  p 
)

◆ MaskFalse()

template<class D >
HWY_INLINE Mask<D> hwy::HWY_NAMESPACE::MaskFalse ( const D  d)

References d, Lt(), RebindMask(), and Zero().

◆ MaskForDist()

template<class DU64 >
Vec<DU64> hwy::HWY_NAMESPACE::MaskForDist ( DU64  du64,
const Dist  dist,
size_t  sizeof_t 
)

◆ MaskFromVec() [1/12]

template<class V >
HWY_API svbool_t hwy::HWY_NAMESPACE::MaskFromVec ( const V  v)

References v.

◆ MaskFromVec() [2/12]

template<class V >
HWY_API auto hwy::HWY_NAMESPACE::MaskFromVec ( const V  v) -> decltype(Eq(v, v))

References v.

◆ MaskFromVec() [3/12]

template<size_t N>
HWY_API Mask128<double, N> hwy::HWY_NAMESPACE::MaskFromVec ( const Vec128< double, N v)

References BitCast(), MaskFromVec(), and v.

◆ MaskFromVec() [4/12]

template<size_t N>
HWY_API Mask128<float, N> hwy::HWY_NAMESPACE::MaskFromVec ( const Vec128< float, N v)

References BitCast(), MaskFromVec(), and v.

◆ MaskFromVec() [5/12]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::MaskFromVec ( const Vec128< T, N v)

◆ MaskFromVec() [6/12]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::MaskFromVec ( const Vec1< T >  v)

◆ MaskFromVec() [7/12]

HWY_API Mask256<double> hwy::HWY_NAMESPACE::MaskFromVec ( const Vec256< double >  v)

References BitCast(), MaskFromVec(), and v.

◆ MaskFromVec() [8/12]

HWY_API Mask256<float> hwy::HWY_NAMESPACE::MaskFromVec ( const Vec256< float >  v)

References BitCast(), MaskFromVec(), and v.

◆ MaskFromVec() [9/12]

template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::MaskFromVec ( const Vec256< T >  v)

References v.

◆ MaskFromVec() [10/12]

HWY_API Mask512<double> hwy::HWY_NAMESPACE::MaskFromVec ( const Vec512< double >  v)

References BitCast(), MaskFromVec(), and v.

◆ MaskFromVec() [11/12]

HWY_API Mask512<float> hwy::HWY_NAMESPACE::MaskFromVec ( const Vec512< float >  v)

References BitCast(), MaskFromVec(), and v.

◆ MaskFromVec() [12/12]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::MaskFromVec ( const Vec512< T >  v)

◆ MaskTrue()

template<class D >
HWY_INLINE Mask<D> hwy::HWY_NAMESPACE::MaskTrue ( const D  d)

References d, FirstN(), and Lanes().

◆ Max() [1/31]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Max ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ Max() [2/31]

template<size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::Max ( const Vec128< int64_t, N a,
const Vec128< int64_t, N b 
)

◆ Max() [3/31]

template<size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::Max ( const Vec128< uint64_t, N a,
const Vec128< uint64_t, N b 
)

◆ Max() [4/31]

template<typename T , HWY_IF_NOT_FLOAT(T) >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Max ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ Max() [5/31]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Max ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ Max() [6/31]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Max ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ Max() [7/31]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::Max ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ Max() [8/31]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::Max ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ Max() [9/31]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::Max ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

References HWY_MAX.

◆ Max() [10/31]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::Max ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ Max() [11/31]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::Max ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ Max() [12/31]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::Max ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ Max() [13/31]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::Max ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

References HWY_MAX.

◆ Max() [14/31]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::Max ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ Max() [15/31]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Max ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ Max() [16/31]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Max ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ Max() [17/31]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::Max ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ Max() [18/31]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Max ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ Max() [19/31]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::Max ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ Max() [20/31]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::Max ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ Max() [21/31]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::Max ( const Vec512< uint16_t >  a,
const Vec512< uint16_t >  b 
)

◆ Max() [22/31]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Max ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ Max() [23/31]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::Max ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ Max() [24/31]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::Max ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b 
)

◆ Max() [25/31]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Max ( Vec128< float, N a,
Vec128< float, N b 
)

◆ Max() [26/31]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::Max ( Vec128< int16_t, N a,
Vec128< int16_t, N b 
)

◆ Max() [27/31]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::Max ( Vec128< int32_t, N a,
Vec128< int32_t, N b 
)

◆ Max() [28/31]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::Max ( Vec128< int8_t, N a,
Vec128< int8_t, N b 
)

◆ Max() [29/31]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::Max ( Vec128< uint16_t, N a,
Vec128< uint16_t, N b 
)

◆ Max() [30/31]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::Max ( Vec128< uint32_t, N a,
Vec128< uint32_t, N b 
)

◆ Max() [31/31]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::Max ( Vec128< uint8_t, N a,
Vec128< uint8_t, N b 
)

◆ Max128() [1/4]

template<class D >
HWY_INLINE svuint64_t hwy::HWY_NAMESPACE::Max128 ( d,
const svuint64_t  a,
const svuint64_t  b 
)

References d, IfThenElse(), and Lt128().

◆ Max128() [2/4]

template<class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::Max128 ( d,
const V  a,
const V  b 
)

◆ Max128() [3/4]

template<class D >
HWY_INLINE VFromD< D > hwy::HWY_NAMESPACE::Max128 ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

References d, IfThenElse(), and Lt128().

◆ Max128() [4/4]

template<typename T >
HWY_INLINE Vec256<T> hwy::HWY_NAMESPACE::Max128 ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ MaxLanes()

template<class D >
HWY_INLINE constexpr HWY_MAYBE_UNUSED size_t hwy::HWY_NAMESPACE::MaxLanes ( )
constexpr

◆ MaxOfLanes() [1/11]

template<class D >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::MaxOfLanes ( d,
const VFromD< D >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [2/11]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::MaxOfLanes ( Full256< T >  d,
const Vec256< T >  v 
)

◆ MaxOfLanes() [3/11]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< double >  d,
Vec512< double >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [4/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< float >  d,
Vec512< float >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [5/11]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< int32_t >  d,
Vec512< int32_t >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [6/11]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< int64_t >  d,
Vec512< int64_t >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [7/11]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< T >  d,
Vec512< T >  v 
)

References And(), BitCast(), d, Max(), MaxOfLanes(), Or(), Set(), and v.

◆ MaxOfLanes() [8/11]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< uint32_t >  d,
Vec512< uint32_t >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [9/11]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< uint64_t >  d,
Vec512< uint64_t >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [10/11]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::MaxOfLanes ( Simd< T, N, 0 >  ,
const Vec128< T, N v 
)

References hwy::HWY_NAMESPACE::detail::MaxOfLanes(), and v.

Referenced by MaxOfLanes().

◆ MaxOfLanes() [11/11]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::MaxOfLanes ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ Min() [1/31]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Min ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ Min() [2/31]

template<size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::Min ( const Vec128< int64_t, N a,
const Vec128< int64_t, N b 
)

◆ Min() [3/31]

template<size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::Min ( const Vec128< uint64_t, N a,
const Vec128< uint64_t, N b 
)

◆ Min() [4/31]

template<typename T , HWY_IF_NOT_FLOAT(T) >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Min ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ Min() [5/31]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Min ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ Min() [6/31]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Min ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ Min() [7/31]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::Min ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ Min() [8/31]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::Min ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ Min() [9/31]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::Min ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

References HWY_MIN.

◆ Min() [10/31]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::Min ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ Min() [11/31]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::Min ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ Min() [12/31]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::Min ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ Min() [13/31]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::Min ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

References HWY_MIN.

◆ Min() [14/31]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::Min ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ Min() [15/31]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Min ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ Min() [16/31]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Min ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ Min() [17/31]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::Min ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ Min() [18/31]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Min ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ Min() [19/31]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::Min ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ Min() [20/31]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::Min ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ Min() [21/31]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::Min ( const Vec512< uint16_t >  a,
const Vec512< uint16_t >  b 
)

◆ Min() [22/31]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Min ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ Min() [23/31]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::Min ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ Min() [24/31]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::Min ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b 
)

◆ Min() [25/31]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Min ( Vec128< float, N a,
Vec128< float, N b 
)

◆ Min() [26/31]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::Min ( Vec128< int16_t, N a,
Vec128< int16_t, N b 
)

◆ Min() [27/31]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::Min ( Vec128< int32_t, N a,
Vec128< int32_t, N b 
)

◆ Min() [28/31]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::Min ( Vec128< int8_t, N a,
Vec128< int8_t, N b 
)

◆ Min() [29/31]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::Min ( Vec128< uint16_t, N a,
Vec128< uint16_t, N b 
)

◆ Min() [30/31]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::Min ( Vec128< uint32_t, N a,
Vec128< uint32_t, N b 
)

◆ Min() [31/31]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::Min ( Vec128< uint8_t, N a,
Vec128< uint8_t, N b 
)

◆ Min128() [1/4]

template<class D >
HWY_INLINE svuint64_t hwy::HWY_NAMESPACE::Min128 ( d,
const svuint64_t  a,
const svuint64_t  b 
)

References d, IfThenElse(), and Lt128().

◆ Min128() [2/4]

template<class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::Min128 ( d,
const V  a,
const V  b 
)

◆ Min128() [3/4]

template<class D >
HWY_INLINE VFromD< D > hwy::HWY_NAMESPACE::Min128 ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

References d, IfThenElse(), and Lt128().

◆ Min128() [4/4]

template<typename T >
HWY_INLINE Vec256<T> hwy::HWY_NAMESPACE::Min128 ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ MinOfLanes() [1/11]

template<class D >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::MinOfLanes ( d,
const VFromD< D >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [2/11]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::MinOfLanes ( Full256< T >  d,
const Vec256< T >  v 
)

◆ MinOfLanes() [3/11]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::MinOfLanes ( Full512< double >  d,
Vec512< double >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [4/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::MinOfLanes ( Full512< float >  d,
Vec512< float >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [5/11]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::MinOfLanes ( Full512< int32_t >  d,
Vec512< int32_t >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [6/11]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::MinOfLanes ( Full512< int64_t >  d,
Vec512< int64_t >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [7/11]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::MinOfLanes ( Full512< T >  d,
Vec512< T >  v 
)

References And(), BitCast(), d, Min(), MinOfLanes(), Or(), Set(), and v.

◆ MinOfLanes() [8/11]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::MinOfLanes ( Full512< uint32_t >  d,
Vec512< uint32_t >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [9/11]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::MinOfLanes ( Full512< uint64_t >  d,
Vec512< uint64_t >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [10/11]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::MinOfLanes ( Simd< T, N, 0 >  ,
const Vec128< T, N v 
)

References hwy::HWY_NAMESPACE::detail::MinOfLanes(), and v.

Referenced by MinOfLanes().

◆ MinOfLanes() [11/11]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::MinOfLanes ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ MLenFromD()

template<typename T , size_t N, int kPow2>
constexpr size_t hwy::HWY_NAMESPACE::MLenFromD ( Simd< T, N, kPow2 >  )
constexpr

◆ Mul()

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Mul ( a,
b 
)

◆ MulAdd() [1/7]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::MulAdd ( const Vec128< double, N mul,
const Vec128< double, N x,
const Vec128< double, N add 
)

◆ MulAdd() [2/7]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::MulAdd ( const Vec128< float, N mul,
const Vec128< float, N x,
const Vec128< float, N add 
)

◆ MulAdd() [3/7]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::MulAdd ( const Vec1< T >  mul,
const Vec1< T >  x,
const Vec1< T >  add 
)

◆ MulAdd() [4/7]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::MulAdd ( const Vec256< double >  mul,
const Vec256< double >  x,
const Vec256< double >  add 
)

◆ MulAdd() [5/7]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::MulAdd ( const Vec256< float >  mul,
const Vec256< float >  x,
const Vec256< float >  add 
)

◆ MulAdd() [6/7]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::MulAdd ( const Vec512< double >  mul,
const Vec512< double >  x,
const Vec512< double >  add 
)

◆ MulAdd() [7/7]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::MulAdd ( const Vec512< float >  mul,
const Vec512< float >  x,
const Vec512< float >  add 
)

◆ MulEven() [1/18]

HWY_API svuint64_t hwy::HWY_NAMESPACE::MulEven ( const svuint64_t  a,
const svuint64_t  b 
)

References Mul(), and MulHigh().

Referenced by MulEven().

◆ MulEven() [2/18]

template<class V , class DW = RepartitionToWide<DFromV<V>>>
HWY_API VFromD<DW> hwy::HWY_NAMESPACE::MulEven ( const V  a,
const V  b 
)

References BitCast(), Mul(), MulEven(), and MulHigh().

◆ MulEven() [3/18]

template<class V , HWY_IF_LANE_SIZE_V(V, 4) , class D = DFromV<V>, class DW = RepartitionToWide<D>>
HWY_API VFromD<DW> hwy::HWY_NAMESPACE::MulEven ( const V  a,
const V  b 
)

References BitCast(), Mul(), MulHigh(), and OddEven().

◆ MulEven() [4/18]

template<class V , HWY_IF_LANE_SIZE_V(V, 8) >
HWY_INLINE V hwy::HWY_NAMESPACE::MulEven ( const V  a,
const V  b 
)

References Mul(), MulHigh(), and OddEven().

◆ MulEven() [5/18]

template<size_t N>
HWY_API Vec128< int64_t,(N+1)/2 > hwy::HWY_NAMESPACE::MulEven ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

References ConcatEven(), d, and N.

◆ MulEven() [6/18]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int64_t, (N + 1) / 2> hwy::HWY_NAMESPACE::MulEven ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

References GetLane(), N, and Set().

◆ MulEven() [7/18]

template<size_t N>
HWY_API Vec128< uint64_t,(N+1)/2 > hwy::HWY_NAMESPACE::MulEven ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

References ConcatEven(), d, and N.

◆ MulEven() [8/18]

HWY_API Vec1<int64_t> hwy::HWY_NAMESPACE::MulEven ( const Vec1< int32_t >  a,
const Vec1< int32_t >  b 
)

◆ MulEven() [9/18]

HWY_API Vec1<uint64_t> hwy::HWY_NAMESPACE::MulEven ( const Vec1< uint32_t >  a,
const Vec1< uint32_t >  b 
)

◆ MulEven() [10/18]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::MulEven ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ MulEven() [11/18]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::MulEven ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ MulEven() [12/18]

HWY_INLINE Vec256< uint64_t > hwy::HWY_NAMESPACE::MulEven ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ MulEven() [13/18]

HWY_INLINE Vec512<uint64_t> hwy::HWY_NAMESPACE::MulEven ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ MulEven() [14/18]

HWY_API Vec128< int64_t > hwy::HWY_NAMESPACE::MulEven ( Vec128< int32_t >  a,
Vec128< int32_t >  b 
)

References ConcatEven(), and d.

Referenced by MulEven(), MulOdd(), and operator>>().

◆ MulEven() [15/18]

HWY_API Vec128<uint64_t> hwy::HWY_NAMESPACE::MulEven ( Vec128< uint32_t >  a,
Vec128< uint32_t >  b 
)

References ConcatEven(), and d.

◆ MulEven() [16/18]

HWY_INLINE Vec128< uint64_t > hwy::HWY_NAMESPACE::MulEven ( Vec128< uint64_t >  a,
Vec128< uint64_t >  b 
)

◆ MulEven() [17/18]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::MulEven ( Vec512< int32_t >  a,
Vec512< int32_t >  b 
)

◆ MulEven() [18/18]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::MulEven ( Vec512< uint32_t >  a,
Vec512< uint32_t >  b 
)

◆ MulFixedPoint15() [1/7]

HWY_API svint16_t hwy::HWY_NAMESPACE::MulFixedPoint15 ( svint16_t  a,
svint16_t  b 
)

References Add(), BitCast(), d, Mul(), and MulHigh().

◆ MulFixedPoint15() [2/7]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec128< int16_t >  a,
Vec128< int16_t >  b 
)

◆ MulFixedPoint15() [3/7]

template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec128< int16_t, N a,
Vec128< int16_t, N b 
)

◆ MulFixedPoint15() [4/7]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec128< int16_t, N a,
Vec128< int16_t, N b 
)

References Add(), BitCast(), d, Mul(), MulHigh(), and Set().

◆ MulFixedPoint15() [5/7]

HWY_API Vec1<int16_t> hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec1< int16_t >  a,
Vec1< int16_t >  b 
)

◆ MulFixedPoint15() [6/7]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec256< int16_t >  a,
Vec256< int16_t >  b 
)

References HWY_ASSERT.

◆ MulFixedPoint15() [7/7]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec512< int16_t >  a,
Vec512< int16_t >  b 
)

◆ MulHigh() [1/12]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::MulHigh ( const Vec128< int16_t >  a,
const Vec128< int16_t >  b 
)

◆ MulHigh() [2/12]

template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::MulHigh ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ MulHigh() [3/12]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::MulHigh ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ MulHigh() [4/12]

HWY_API Vec128<uint16_t> hwy::HWY_NAMESPACE::MulHigh ( const Vec128< uint16_t >  a,
const Vec128< uint16_t >  b 
)

◆ MulHigh() [5/12]

template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::MulHigh ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ MulHigh() [6/12]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::MulHigh ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ MulHigh() [7/12]

HWY_API Vec1<int16_t> hwy::HWY_NAMESPACE::MulHigh ( const Vec1< int16_t >  a,
const Vec1< int16_t >  b 
)

◆ MulHigh() [8/12]

HWY_API Vec1<uint16_t> hwy::HWY_NAMESPACE::MulHigh ( const Vec1< uint16_t >  a,
const Vec1< uint16_t >  b 
)

◆ MulHigh() [9/12]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::MulHigh ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ MulHigh() [10/12]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::MulHigh ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ MulHigh() [11/12]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::MulHigh ( Vec512< int16_t >  a,
Vec512< int16_t >  b 
)

◆ MulHigh() [12/12]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::MulHigh ( Vec512< uint16_t >  a,
Vec512< uint16_t >  b 
)

◆ MulOdd() [1/5]

HWY_API svuint64_t hwy::HWY_NAMESPACE::MulOdd ( const svuint64_t  a,
const svuint64_t  b 
)

References Mul(), and MulHigh().

◆ MulOdd() [2/5]

template<class V , HWY_IF_LANE_SIZE_V(V, 8) >
HWY_INLINE V hwy::HWY_NAMESPACE::MulOdd ( const V  a,
const V  b 
)

References Mul(), MulHigh(), and OddEven().

◆ MulOdd() [3/5]

HWY_INLINE Vec256< uint64_t > hwy::HWY_NAMESPACE::MulOdd ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ MulOdd() [4/5]

HWY_INLINE Vec512<uint64_t> hwy::HWY_NAMESPACE::MulOdd ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ MulOdd() [5/5]

HWY_INLINE Vec128< uint64_t > hwy::HWY_NAMESPACE::MulOdd ( Vec128< uint64_t >  a,
Vec128< uint64_t >  b 
)

◆ MulSub() [1/7]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::MulSub ( const Vec128< double, N mul,
const Vec128< double, N x,
const Vec128< double, N sub 
)

◆ MulSub() [2/7]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::MulSub ( const Vec128< float, N mul,
const Vec128< float, N x,
const Vec128< float, N sub 
)

References MulAdd(), and Neg().

Referenced by Acosh(), and hwy::HWY_NAMESPACE::impl::Log().

◆ MulSub() [3/7]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::MulSub ( const Vec1< T >  mul,
const Vec1< T >  x,
const Vec1< T >  sub 
)

◆ MulSub() [4/7]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::MulSub ( const Vec256< double >  mul,
const Vec256< double >  x,
const Vec256< double >  sub 
)

◆ MulSub() [5/7]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::MulSub ( const Vec256< float >  mul,
const Vec256< float >  x,
const Vec256< float >  sub 
)

◆ MulSub() [6/7]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::MulSub ( const Vec512< double >  mul,
const Vec512< double >  x,
const Vec512< double >  sub 
)

◆ MulSub() [7/7]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::MulSub ( const Vec512< float >  mul,
const Vec512< float >  x,
const Vec512< float >  sub 
)

◆ NaN()

template<class D >
HWY_API Vec<D> hwy::HWY_NAMESPACE::NaN ( d)

References BitCast(), d, hwy::LimitsMax(), and Set().

◆ Ne()

template<class V >
HWY_API auto hwy::HWY_NAMESPACE::Ne ( a,
b 
) -> decltype(a == b)

◆ NearestInt() [1/5]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::NearestInt ( const Vec128< float, N v)

◆ NearestInt() [2/5]

HWY_API Vec1<int32_t> hwy::HWY_NAMESPACE::NearestInt ( const Vec1< float >  v)

References Abs(), and v.

◆ NearestInt() [3/5]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::NearestInt ( const Vec256< float >  v)

References ConvertTo(), Round(), and v.

◆ NearestInt() [4/5]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::NearestInt ( const Vec512< float >  v)

◆ NearestInt() [5/5]

template<class VF , class DI = RebindToSigned<DFromV<VF>>>
HWY_API VFromD<DI> hwy::HWY_NAMESPACE::NearestInt ( VF  v)

References ConvertTo(), Round(), and v.

◆ Neg() [1/13]

template<size_t N>
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::Neg ( const Vec128< int16_t, N v)

References v.

◆ Neg() [2/13]

template<size_t N>
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::Neg ( const Vec128< int32_t, N v)

References v.

◆ Neg() [3/13]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::Neg ( const Vec128< int64_t >  v)

References v, and Zero().

Referenced by MulSub(), NegMulSub(), and operator>>().

◆ Neg() [4/13]

template<size_t N>
HWY_API Vec128<int64_t, N> hwy::HWY_NAMESPACE::Neg ( const Vec128< int64_t, N v)

References v.

◆ Neg() [5/13]

template<size_t N>
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::Neg ( const Vec128< int8_t, N v)

References v.

◆ Neg() [6/13]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Neg ( const Vec128< T, N v)

References SignBit(), v, and Xor().

◆ Neg() [7/13]

template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Neg ( const Vec1< T >  v)

References SignBit(), v, and Xor().

◆ Neg() [8/13]

HWY_API Vec256<int16_t> hwy::HWY_NAMESPACE::Neg ( const Vec256< int16_t >  v)

References v.

◆ Neg() [9/13]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::Neg ( const Vec256< int32_t >  v)

References v.

◆ Neg() [10/13]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::Neg ( const Vec256< int64_t >  v)

References v.

◆ Neg() [11/13]

HWY_API Vec256<int8_t> hwy::HWY_NAMESPACE::Neg ( const Vec256< int8_t >  v)

References v.

◆ Neg() [12/13]

template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Neg ( const Vec256< T >  v)

References SignBit(), v, and Xor().

◆ Neg() [13/13]

template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Neg ( const Vec512< T >  v)

References SignBit(), v, and Xor().

◆ NegMulAdd() [1/7]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::NegMulAdd ( const Vec128< double, N mul,
const Vec128< double, N x,
const Vec128< double, N add 
)

◆ NegMulAdd() [2/7]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::NegMulAdd ( const Vec128< float, N mul,
const Vec128< float, N x,
const Vec128< float, N add 
)

Referenced by Acos(), and Asin().

◆ NegMulAdd() [3/7]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::NegMulAdd ( const Vec1< T >  mul,
const Vec1< T >  x,
const Vec1< T >  add 
)

◆ NegMulAdd() [4/7]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::NegMulAdd ( const Vec256< double >  mul,
const Vec256< double >  x,
const Vec256< double >  add 
)

◆ NegMulAdd() [5/7]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::NegMulAdd ( const Vec256< float >  mul,
const Vec256< float >  x,
const Vec256< float >  add 
)

◆ NegMulAdd() [6/7]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::NegMulAdd ( const Vec512< double >  mul,
const Vec512< double >  x,
const Vec512< double >  add 
)

◆ NegMulAdd() [7/7]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::NegMulAdd ( const Vec512< float >  mul,
const Vec512< float >  x,
const Vec512< float >  add 
)

◆ NegMulSub() [1/7]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::NegMulSub ( const Vec128< double, N mul,
const Vec128< double, N x,
const Vec128< double, N sub 
)

◆ NegMulSub() [2/7]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::NegMulSub ( const Vec128< float, N mul,
const Vec128< float, N x,
const Vec128< float, N sub 
)

References MulAdd(), and Neg().

◆ NegMulSub() [3/7]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::NegMulSub ( const Vec1< T >  mul,
const Vec1< T >  x,
const Vec1< T >  sub 
)

References Neg().

◆ NegMulSub() [4/7]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::NegMulSub ( const Vec256< double >  mul,
const Vec256< double >  x,
const Vec256< double >  sub 
)

◆ NegMulSub() [5/7]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::NegMulSub ( const Vec256< float >  mul,
const Vec256< float >  x,
const Vec256< float >  sub 
)

References Neg().

◆ NegMulSub() [6/7]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::NegMulSub ( const Vec512< double >  mul,
const Vec512< double >  x,
const Vec512< double >  sub 
)

◆ NegMulSub() [7/7]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::NegMulSub ( const Vec512< float >  mul,
const Vec512< float >  x,
const Vec512< float >  sub 
)

◆ Not() [1/12]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::Not ( const Mask128< T, N m)

References MaskFromVec(), Not(), and VecFromMask().

◆ Not() [2/12]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::Not ( const Mask1< T >  m)

References MaskFromVec(), Not(), and VecFromMask().

◆ Not() [3/12]

template<typename T >
HWY_API Mask256<T> hwy::HWY_NAMESPACE::Not ( const Mask256< T >  m)

References N, and Xor().

◆ Not() [4/12]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::Not ( const Mask512< T >  m)

◆ Not() [5/12]

template<class V , HWY_IF_FLOAT_V(V) >
HWY_API V hwy::HWY_NAMESPACE::Not ( const V  v)

References BitCast(), Not(), and v.

◆ Not() [6/12]

template<typename T >
HWY_API Vec128<T> hwy::HWY_NAMESPACE::Not ( const Vec128< T >  v)

References BitCast(), d, and v.

Referenced by AndNot(), CopyIf(), Not(), and operator!=().

◆ Not() [7/12]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Not ( const Vec128< T, N v)

References BitCast(), d, v, and Zero().

◆ Not() [8/12]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Not ( const Vec1< T >  v)

References BitCast(), and v.

◆ Not() [9/12]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::Not ( const Vec512< T >  v)

References BitCast(), and v.

◆ Not() [10/12]

HWY_API svbool_t hwy::HWY_NAMESPACE::Not ( svbool_t  m)

References HWY_SVE_PTRUE.

◆ Not() [11/12]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Not ( Vec128< T, N v)

References v.

◆ Not() [12/12]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Not ( Vec256< T >  v)

References v.

◆ OddEven() [1/9]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::OddEven ( const V  odd,
const V  even 
)

◆ OddEven() [2/9]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::OddEven ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ OddEven() [3/9]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::OddEven ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ OddEven() [4/9]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::OddEven ( const Vec128< T, N a,
const Vec128< T, N b 
)

◆ OddEven() [5/9]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::OddEven ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ OddEven() [6/9]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::OddEven ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ OddEven() [7/9]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::OddEven ( const Vec256< T >  a,
const Vec256< T >  b 
)

◆ OddEven() [8/9]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::OddEven ( const Vec512< T >  a,
const Vec512< T >  b 
)

References IfThenElse(), and grk::shift.

◆ OddEven() [9/9]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::OddEven ( Vec1< T >  ,
Vec1< T >  even 
)

◆ OddEvenBlocks() [1/10]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::OddEvenBlocks ( const V  odd,
const V  even 
)

References hwy::CeilLog2(), IfThenElse(), and Iota().

◆ OddEvenBlocks() [2/10]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec128< T, N ,
Vec128< T, N even 
)

◆ OddEvenBlocks() [3/10]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec1< T >  ,
Vec1< T >  even 
)

◆ OddEvenBlocks() [4/10]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec256< double >  odd,
Vec256< double >  even 
)

◆ OddEvenBlocks() [5/10]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec256< float >  odd,
Vec256< float >  even 
)

◆ OddEvenBlocks() [6/10]

template<typename T >
Vec256<T> hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec256< T >  odd,
Vec256< T >  even 
)

◆ OddEvenBlocks() [7/10]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec256< T >  ,
Vec256< T >  even 
)

◆ OddEvenBlocks() [8/10]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec512< double >  odd,
Vec512< double >  even 
)

◆ OddEvenBlocks() [9/10]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec512< float >  odd,
Vec512< float >  even 
)

◆ OddEvenBlocks() [10/10]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec512< T >  odd,
Vec512< T >  even 
)

◆ operator!=() [1/25]

template<size_t N>
HWY_API Mask128< float, N > hwy::HWY_NAMESPACE::operator!= ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ operator!=() [2/25]

template<size_t N>
HWY_API Mask128<int16_t, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ operator!=() [3/25]

template<size_t N>
HWY_API Mask128<int32_t, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ operator!=() [4/25]

template<size_t N>
HWY_API Mask128<int64_t, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< int64_t, N a,
const Vec128< int64_t, N b 
)

◆ operator!=() [5/25]

template<size_t N>
HWY_API Mask128<int8_t, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< int8_t, N a,
const Vec128< int8_t, N b 
)

◆ operator!=() [6/25]

template<typename T , size_t N>
HWY_API Mask128<T, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< T, N a,
const Vec128< T, N b 
)

References Not().

◆ operator!=() [7/25]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::operator!= ( const Vec128< T, N a,
const Vec128< T, N b 
)

◆ operator!=() [8/25]

template<size_t N>
HWY_API Mask128<uint16_t, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ operator!=() [9/25]

template<size_t N>
HWY_API Mask128<uint32_t, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ operator!=() [10/25]

template<size_t N>
HWY_API Mask128<uint64_t, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< uint64_t, N a,
const Vec128< uint64_t, N b 
)

◆ operator!=() [11/25]

template<size_t N>
HWY_API Mask128<uint8_t, N> hwy::HWY_NAMESPACE::operator!= ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ operator!=() [12/25]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::operator!= ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator!=() [13/25]

HWY_API Mask256< float > hwy::HWY_NAMESPACE::operator!= ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ operator!=() [14/25]

HWY_API Mask256<int32_t> hwy::HWY_NAMESPACE::operator!= ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ operator!=() [15/25]

HWY_API Mask256<int8_t> hwy::HWY_NAMESPACE::operator!= ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ operator!=() [16/25]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator!= ( const Vec256< T >  a,
const Vec256< T >  b 
)

◆ operator!=() [17/25]

HWY_API Mask256<uint16_t> hwy::HWY_NAMESPACE::operator!= ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ operator!=() [18/25]

HWY_API Mask256<uint32_t> hwy::HWY_NAMESPACE::operator!= ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator!=() [19/25]

HWY_API Mask256<uint8_t> hwy::HWY_NAMESPACE::operator!= ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ operator!=() [20/25]

template<size_t N>
HWY_API Mask128<double, N> hwy::HWY_NAMESPACE::operator!= ( Vec128< double, N a,
Vec128< double, N b 
)

◆ operator!=() [21/25]

HWY_API Mask256<double> hwy::HWY_NAMESPACE::operator!= ( Vec256< double >  a,
Vec256< double >  b 
)

◆ operator!=() [22/25]

HWY_API Mask256<int16_t> hwy::HWY_NAMESPACE::operator!= ( Vec256< int16_t >  a,
Vec256< int16_t >  b 
)

◆ operator!=() [23/25]

HWY_API Mask512<double> hwy::HWY_NAMESPACE::operator!= ( Vec512< double >  a,
Vec512< double >  b 
)

◆ operator!=() [24/25]

HWY_API Mask512<float> hwy::HWY_NAMESPACE::operator!= ( Vec512< float >  a,
Vec512< float >  b 
)

◆ operator!=() [25/25]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask512< T > hwy::HWY_NAMESPACE::operator!= ( Vec512< T >  a,
Vec512< T >  b 
)

◆ operator&() [1/4]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::operator& ( const Vec128< T, N a,
const Vec128< T, N b 
)

References And().

◆ operator&() [2/4]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::operator& ( const Vec1< T >  a,
const Vec1< T >  b 
)

References And().

◆ operator&() [3/4]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator& ( const Vec256< T >  a,
const Vec256< T >  b 
)

References And().

◆ operator&() [4/4]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::operator& ( const Vec512< T >  a,
const Vec512< T >  b 
)

References And().

◆ operator*() [1/29]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::operator* ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ operator*() [2/29]

HWY_API Vec128<float, 1> hwy::HWY_NAMESPACE::operator* ( const Vec128< float, 1 >  a,
const Vec128< float, 1 >  b 
)

◆ operator*() [3/29]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::operator* ( const Vec128< int16_t >  a,
const Vec128< int16_t >  b 
)

◆ operator*() [4/29]

template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::operator* ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ operator*() [5/29]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::operator* ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ operator*() [6/29]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::operator* ( const Vec128< int32_t >  a,
const Vec128< int32_t >  b 
)

◆ operator*() [7/29]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::operator* ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ operator*() [8/29]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::operator* ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ operator*() [9/29]

HWY_API Vec128<uint16_t> hwy::HWY_NAMESPACE::operator* ( const Vec128< uint16_t >  a,
const Vec128< uint16_t >  b 
)

◆ operator*() [10/29]

template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::operator* ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ operator*() [11/29]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::operator* ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ operator*() [12/29]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::operator* ( const Vec128< uint32_t >  a,
const Vec128< uint32_t >  b 
)

◆ operator*() [13/29]

template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::operator* ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ operator*() [14/29]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::operator* ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ operator*() [15/29]

template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::operator* ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator*() [16/29]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::operator* ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ operator*() [17/29]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::operator* ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ operator*() [18/29]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::operator* ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ operator*() [19/29]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::operator* ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ operator*() [20/29]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::operator* ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator*() [21/29]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::operator* ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ operator*() [22/29]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::operator* ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ operator*() [23/29]

HWY_API Vec64<double> hwy::HWY_NAMESPACE::operator* ( const Vec64< double >  a,
const Vec64< double >  b 
)

◆ operator*() [24/29]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::operator* ( Vec128< float, N a,
Vec128< float, N b 
)

◆ operator*() [25/29]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::operator* ( Vec256< float >  a,
Vec256< float >  b 
)

◆ operator*() [26/29]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::operator* ( Vec512< int16_t >  a,
Vec512< int16_t >  b 
)

◆ operator*() [27/29]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::operator* ( Vec512< int32_t >  a,
Vec512< int32_t >  b 
)

◆ operator*() [28/29]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::operator* ( Vec512< uint16_t >  a,
Vec512< uint16_t >  b 
)

◆ operator*() [29/29]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::operator* ( Vec512< uint32_t >  a,
Vec512< uint32_t >  b 
)

◆ operator+() [1/33]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::operator+ ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ operator+() [2/33]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ operator+() [3/33]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ operator+() [4/33]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ operator+() [5/33]

template<size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< int64_t, N a,
const Vec128< int64_t, N b 
)

◆ operator+() [6/33]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< int8_t, N a,
const Vec128< int8_t, N b 
)

◆ operator+() [7/33]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ operator+() [8/33]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ operator+() [9/33]

template<size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< uint64_t, N a,
const Vec128< uint64_t, N b 
)

◆ operator+() [10/33]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::operator+ ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ operator+() [11/33]

HWY_API Vec1<double> hwy::HWY_NAMESPACE::operator+ ( const Vec1< double >  a,
const Vec1< double >  b 
)

◆ operator+() [12/33]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::operator+ ( const Vec1< float >  a,
const Vec1< float >  b 
)

◆ operator+() [13/33]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::operator+ ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ operator+() [14/33]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::operator+ ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ operator+() [15/33]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ operator+() [16/33]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ operator+() [17/33]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::operator+ ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

◆ operator+() [18/33]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ operator+() [19/33]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ operator+() [20/33]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator+() [21/33]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::operator+ ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ operator+() [22/33]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ operator+() [23/33]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::operator+ ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ operator+() [24/33]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::operator+ ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ operator+() [25/33]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::operator+ ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ operator+() [26/33]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::operator+ ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ operator+() [27/33]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::operator+ ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ operator+() [28/33]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::operator+ ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ operator+() [29/33]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::operator+ ( const Vec512< uint16_t >  a,
const Vec512< uint16_t >  b 
)

◆ operator+() [30/33]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::operator+ ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ operator+() [31/33]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::operator+ ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ operator+() [32/33]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::operator+ ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b 
)

◆ operator+() [33/33]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::operator+ ( Vec1< T >  a,
Vec1< T >  b 
)

◆ operator-() [1/33]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::operator- ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ operator-() [2/33]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::operator- ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ operator-() [3/33]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::operator- ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ operator-() [4/33]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::operator- ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ operator-() [5/33]

template<size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::operator- ( const Vec128< int64_t, N a,
const Vec128< int64_t, N b 
)

◆ operator-() [6/33]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::operator- ( const Vec128< int8_t, N a,
const Vec128< int8_t, N b 
)

◆ operator-() [7/33]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::operator- ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ operator-() [8/33]

template<size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::operator- ( const Vec128< uint64_t, N a,
const Vec128< uint64_t, N b 
)

◆ operator-() [9/33]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::operator- ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ operator-() [10/33]

HWY_API Vec1<double> hwy::HWY_NAMESPACE::operator- ( const Vec1< double >  a,
const Vec1< double >  b 
)

◆ operator-() [11/33]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::operator- ( const Vec1< float >  a,
const Vec1< float >  b 
)

◆ operator-() [12/33]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::operator- ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ operator-() [13/33]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::operator- ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ operator-() [14/33]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ operator-() [15/33]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ operator-() [16/33]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::operator- ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

◆ operator-() [17/33]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ operator-() [18/33]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator-() [19/33]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::operator- ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ operator-() [20/33]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ operator-() [21/33]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::operator- ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ operator-() [22/33]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::operator- ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ operator-() [23/33]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::operator- ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ operator-() [24/33]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::operator- ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ operator-() [25/33]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::operator- ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ operator-() [26/33]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::operator- ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ operator-() [27/33]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::operator- ( const Vec512< uint16_t >  a,
const Vec512< uint16_t >  b 
)

◆ operator-() [28/33]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::operator- ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ operator-() [29/33]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::operator- ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ operator-() [30/33]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::operator- ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b 
)

◆ operator-() [31/33]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::operator- ( Vec128< uint16_t, N a,
Vec128< uint16_t, N b 
)

◆ operator-() [32/33]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::operator- ( Vec1< T >  a,
Vec1< T >  b 
)

◆ operator-() [33/33]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::operator- ( Vec256< uint16_t >  a,
Vec256< uint16_t >  b 
)

◆ operator/() [1/9]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::operator/ ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ operator/() [2/9]

HWY_API Vec128<float, 1> hwy::HWY_NAMESPACE::operator/ ( const Vec128< float, 1 >  a,
const Vec128< float, 1 >  b 
)

◆ operator/() [3/9]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::operator/ ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ operator/() [4/9]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::operator/ ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator/() [5/9]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::operator/ ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ operator/() [6/9]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::operator/ ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ operator/() [7/9]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::operator/ ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ operator/() [8/9]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::operator/ ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ operator/() [9/9]

HWY_API Vec64<double> hwy::HWY_NAMESPACE::operator/ ( const Vec64< double >  a,
const Vec64< double >  b 
)

◆ operator<() [1/4]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::operator< ( const Vec128< T, N a,
const Vec128< T, N b 
)

References operator>().

◆ operator<() [2/4]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::operator< ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator<() [3/4]

template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator< ( const Vec256< T >  a,
const Vec256< T >  b 
)

References operator>().

◆ operator<() [4/4]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::operator< ( Vec512< T >  a,
Vec512< T >  b 
)

◆ operator<<() [1/30]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::operator<< ( const Vec128< int16_t >  v,
const Vec128< int16_t >  bits 
)

◆ operator<<() [2/30]

template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::operator<< ( const Vec128< int16_t, N v,
const Vec128< int16_t, N bits 
)

◆ operator<<() [3/30]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::operator<< ( const Vec128< int32_t >  v,
const Vec128< int32_t >  bits 
)

◆ operator<<() [4/30]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::operator<< ( const Vec128< int32_t, N v,
const Vec128< int32_t, N bits 
)

◆ operator<<() [5/30]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::operator<< ( const Vec128< int64_t >  v,
const Vec128< int64_t >  bits 
)

◆ operator<<() [6/30]

HWY_API Vec128<int8_t> hwy::HWY_NAMESPACE::operator<< ( const Vec128< int8_t >  v,
const Vec128< int8_t >  bits 
)

◆ operator<<() [7/30]

template<size_t N, HWY_IF_LE64(int8_t, N) >
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::operator<< ( const Vec128< int8_t, N v,
const Vec128< int8_t, N bits 
)

◆ operator<<() [8/30]

HWY_API Vec128<uint16_t> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint16_t >  v,
const Vec128< uint16_t >  bits 
)

◆ operator<<() [9/30]

HWY_API Vec128<uint16_t, 1> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint16_t, 1 >  v,
const Vec128< uint16_t, 1 >  bits 
)

◆ operator<<() [10/30]

template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint16_t, N v,
const Vec128< uint16_t, N bits 
)

◆ operator<<() [11/30]

template<size_t N>
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint16_t, N v,
const Vec128< uint16_t, N bits 
)

◆ operator<<() [12/30]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint32_t >  v,
const Vec128< uint32_t >  bits 
)

◆ operator<<() [13/30]

HWY_API Vec128<uint32_t, 1> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint32_t, 1 >  v,
const Vec128< uint32_t, 1 >  bits 
)

◆ operator<<() [14/30]

template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint32_t, N v,
const Vec128< uint32_t, N bits 
)

◆ operator<<() [15/30]

template<size_t N>
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint32_t, N v,
const Vec128< uint32_t, N bits 
)

◆ operator<<() [16/30]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint64_t >  v,
const Vec128< uint64_t >  bits 
)

◆ operator<<() [17/30]

HWY_API Vec128<uint8_t> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint8_t >  v,
const Vec128< uint8_t >  bits 
)

◆ operator<<() [18/30]

template<size_t N, HWY_IF_LE64(uint8_t, N) >
HWY_API Vec128<uint8_t, N> hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint8_t, N v,
const Vec128< uint8_t, N bits 
)

◆ operator<<() [19/30]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::operator<< ( const Vec1< T >  v,
const Vec1< T >  bits 
)

◆ operator<<() [20/30]

template<typename T , HWY_IF_SIGNED(T) >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::operator<< ( const Vec256< T >  v,
const Vec256< T >  bits 
)

References BitCast(), and v.

◆ operator<<() [21/30]

HWY_API Vec256<uint16_t> hwy::HWY_NAMESPACE::operator<< ( const Vec256< uint16_t >  v,
const Vec256< uint16_t >  bits 
)

◆ operator<<() [22/30]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::operator<< ( const Vec256< uint32_t >  v,
const Vec256< uint32_t >  bits 
)

◆ operator<<() [23/30]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::operator<< ( const Vec256< uint64_t >  v,
const Vec256< uint64_t >  bits 
)

◆ operator<<() [24/30]

template<typename T , HWY_IF_SIGNED(T) >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::operator<< ( const Vec512< T >  v,
const Vec512< T >  bits 
)

References BitCast(), and v.

◆ operator<<() [25/30]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::operator<< ( const Vec512< uint16_t >  v,
const Vec512< uint16_t >  bits 
)

◆ operator<<() [26/30]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::operator<< ( const Vec512< uint32_t >  v,
const Vec512< uint32_t >  bits 
)

◆ operator<<() [27/30]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::operator<< ( const Vec512< uint64_t >  v,
const Vec512< uint64_t >  bits 
)

◆ operator<<() [28/30]

HWY_API Vec64<int64_t> hwy::HWY_NAMESPACE::operator<< ( const Vec64< int64_t >  v,
const Vec64< int64_t >  bits 
)

◆ operator<<() [29/30]

HWY_API Vec64< uint64_t > hwy::HWY_NAMESPACE::operator<< ( const Vec64< uint64_t >  v,
const Vec64< uint64_t >  bits 
)

◆ operator<<() [30/30]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::operator<< ( Vec128< T, N v,
const Vec128< T, N bits 
)

◆ operator<=() [1/6]

template<size_t N>
HWY_API Mask128<float, N> hwy::HWY_NAMESPACE::operator<= ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ operator<=() [2/6]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::operator<= ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator<=() [3/6]

HWY_API Mask256<float> hwy::HWY_NAMESPACE::operator<= ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ operator<=() [4/6]

template<typename T >
HWY_API Mask256<T> hwy::HWY_NAMESPACE::operator<= ( const Vec256< T >  a,
const Vec256< T >  b 
)

◆ operator<=() [5/6]

template<typename T , size_t N>
HWY_API Mask128<T, N> hwy::HWY_NAMESPACE::operator<= ( Vec128< T, N a,
Vec128< T, N b 
)

◆ operator<=() [6/6]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::operator<= ( Vec512< T >  a,
Vec512< T >  b 
)

◆ operator==() [1/24]

template<size_t N>
HWY_API Mask128< float, N > hwy::HWY_NAMESPACE::operator== ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ operator==() [2/24]

template<size_t N>
HWY_API Mask128<int32_t, N> hwy::HWY_NAMESPACE::operator== ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ operator==() [3/24]

template<size_t N>
HWY_API Mask128<int64_t, N> hwy::HWY_NAMESPACE::operator== ( const Vec128< int64_t, N a,
const Vec128< int64_t, N b 
)

◆ operator==() [4/24]

template<size_t N>
HWY_API Mask128<int8_t, N> hwy::HWY_NAMESPACE::operator== ( const Vec128< int8_t, N a,
const Vec128< int8_t, N b 
)

◆ operator==() [5/24]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::operator== ( const Vec128< T, N a,
const Vec128< T, N b 
)

◆ operator==() [6/24]

template<size_t N>
HWY_API Mask128<uint16_t, N> hwy::HWY_NAMESPACE::operator== ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ operator==() [7/24]

template<size_t N>
HWY_API Mask128<uint32_t, N> hwy::HWY_NAMESPACE::operator== ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ operator==() [8/24]

template<size_t N>
HWY_API Mask128<uint64_t, N> hwy::HWY_NAMESPACE::operator== ( const Vec128< uint64_t, N a,
const Vec128< uint64_t, N b 
)

◆ operator==() [9/24]

template<size_t N>
HWY_API Mask128<uint8_t, N> hwy::HWY_NAMESPACE::operator== ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ operator==() [10/24]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::operator== ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator==() [11/24]

HWY_API Mask256< float > hwy::HWY_NAMESPACE::operator== ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ operator==() [12/24]

HWY_API Mask256<int32_t> hwy::HWY_NAMESPACE::operator== ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ operator==() [13/24]

HWY_API Mask256<int8_t> hwy::HWY_NAMESPACE::operator== ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ operator==() [14/24]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator== ( const Vec256< T >  a,
const Vec256< T >  b 
)

◆ operator==() [15/24]

HWY_API Mask256<uint16_t> hwy::HWY_NAMESPACE::operator== ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ operator==() [16/24]

HWY_API Mask256<uint32_t> hwy::HWY_NAMESPACE::operator== ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator==() [17/24]

HWY_API Mask256<uint8_t> hwy::HWY_NAMESPACE::operator== ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ operator==() [18/24]

template<size_t N>
HWY_API Mask128<double, N> hwy::HWY_NAMESPACE::operator== ( Vec128< double, N a,
Vec128< double, N b 
)

◆ operator==() [19/24]

template<size_t N>
HWY_API Mask128<int16_t, N> hwy::HWY_NAMESPACE::operator== ( Vec128< int16_t, N a,
Vec128< int16_t, N b 
)

◆ operator==() [20/24]

HWY_API Mask256<double> hwy::HWY_NAMESPACE::operator== ( Vec256< double >  a,
Vec256< double >  b 
)

◆ operator==() [21/24]

HWY_API Mask256<int16_t> hwy::HWY_NAMESPACE::operator== ( Vec256< int16_t >  a,
Vec256< int16_t >  b 
)

◆ operator==() [22/24]

HWY_API Mask512<double> hwy::HWY_NAMESPACE::operator== ( Vec512< double >  a,
Vec512< double >  b 
)

◆ operator==() [23/24]

HWY_API Mask512<float> hwy::HWY_NAMESPACE::operator== ( Vec512< float >  a,
Vec512< float >  b 
)

◆ operator==() [24/24]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Mask512< T > hwy::HWY_NAMESPACE::operator== ( Vec512< T >  a,
Vec512< T >  b 
)

◆ operator>() [1/33]

template<size_t N>
HWY_API Mask128< float, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ operator>() [2/33]

template<size_t N>
HWY_API Mask128< int16_t, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ operator>() [3/33]

template<size_t N>
HWY_API Mask128< int32_t, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ operator>() [4/33]

template<size_t N>
HWY_API Mask128< int64_t, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< int64_t, N a,
const Vec128< int64_t, N b 
)

◆ operator>() [5/33]

template<size_t N>
HWY_API Mask128< int8_t, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< int8_t, N a,
const Vec128< int8_t, N b 
)

◆ operator>() [6/33]

template<size_t N>
HWY_API Mask128< uint16_t, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ operator>() [7/33]

template<size_t N>
HWY_API Mask128< uint32_t, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ operator>() [8/33]

template<size_t N>
HWY_API Mask128< uint64_t, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< uint64_t, N a,
const Vec128< uint64_t, N b 
)

References And(), BitCast(), d, MaskFromVec(), and Or().

◆ operator>() [9/33]

template<size_t N>
HWY_API Mask128< uint8_t, N > hwy::HWY_NAMESPACE::operator> ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ operator>() [10/33]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::operator> ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator>() [11/33]

HWY_API Mask256< float > hwy::HWY_NAMESPACE::operator> ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ operator>() [12/33]

HWY_API Mask256< int16_t > hwy::HWY_NAMESPACE::operator> ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ operator>() [13/33]

HWY_API Mask256< int32_t > hwy::HWY_NAMESPACE::operator> ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ operator>() [14/33]

HWY_API Mask256< int64_t > hwy::HWY_NAMESPACE::operator> ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

References And(), BitCast(), and Or().

◆ operator>() [15/33]

HWY_API Mask256< int8_t > hwy::HWY_NAMESPACE::operator> ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ operator>() [16/33]

HWY_API Mask256<uint16_t> hwy::HWY_NAMESPACE::operator> ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ operator>() [17/33]

HWY_API Mask256<uint32_t> hwy::HWY_NAMESPACE::operator> ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator>() [18/33]

HWY_API Mask256<uint64_t> hwy::HWY_NAMESPACE::operator> ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ operator>() [19/33]

template<size_t N>
HWY_API Mask128<double, N> hwy::HWY_NAMESPACE::operator> ( Vec128< double, N a,
Vec128< double, N b 
)

◆ operator>() [20/33]

template<typename T , size_t N>
HWY_API Mask128<T, N> hwy::HWY_NAMESPACE::operator> ( Vec128< T, N a,
Vec128< T, N b 
)

References operator<().

Referenced by operator<().

◆ operator>() [21/33]

HWY_API Mask256<double> hwy::HWY_NAMESPACE::operator> ( Vec256< double >  a,
Vec256< double >  b 
)

◆ operator>() [22/33]

template<typename T , HWY_IF_UNSIGNED(T) >
HWY_API Mask256<T> hwy::HWY_NAMESPACE::operator> ( Vec256< T >  a,
Vec256< T >  b 
)

References BitCast(), RebindMask(), Set(), and Xor().

◆ operator>() [23/33]

HWY_API Mask256<uint8_t> hwy::HWY_NAMESPACE::operator> ( Vec256< uint8_t >  a,
Vec256< uint8_t >  b 
)

◆ operator>() [24/33]

HWY_API Mask512<double> hwy::HWY_NAMESPACE::operator> ( Vec512< double >  a,
Vec512< double >  b 
)

◆ operator>() [25/33]

HWY_API Mask512<float> hwy::HWY_NAMESPACE::operator> ( Vec512< float >  a,
Vec512< float >  b 
)

◆ operator>() [26/33]

HWY_API Mask512<int16_t> hwy::HWY_NAMESPACE::operator> ( Vec512< int16_t >  a,
Vec512< int16_t >  b 
)

◆ operator>() [27/33]

HWY_API Mask512<int32_t> hwy::HWY_NAMESPACE::operator> ( Vec512< int32_t >  a,
Vec512< int32_t >  b 
)

◆ operator>() [28/33]

HWY_API Mask512<int64_t> hwy::HWY_NAMESPACE::operator> ( Vec512< int64_t >  a,
Vec512< int64_t >  b 
)

◆ operator>() [29/33]

HWY_API Mask512<int8_t> hwy::HWY_NAMESPACE::operator> ( Vec512< int8_t >  a,
Vec512< int8_t >  b 
)

◆ operator>() [30/33]

HWY_API Mask512<uint16_t> hwy::HWY_NAMESPACE::operator> ( Vec512< uint16_t >  a,
Vec512< uint16_t >  b 
)

◆ operator>() [31/33]

HWY_API Mask512<uint32_t> hwy::HWY_NAMESPACE::operator> ( Vec512< uint32_t >  a,
Vec512< uint32_t >  b 
)

◆ operator>() [32/33]

HWY_API Mask512<uint64_t> hwy::HWY_NAMESPACE::operator> ( Vec512< uint64_t >  a,
Vec512< uint64_t >  b 
)

◆ operator>() [33/33]

HWY_API Mask512<uint8_t> hwy::HWY_NAMESPACE::operator> ( Vec512< uint8_t >  a,
Vec512< uint8_t >  b 
)

◆ operator>=() [1/8]

template<size_t N>
HWY_API Mask128< float, N > hwy::HWY_NAMESPACE::operator>= ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ operator>=() [2/8]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::operator>= ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator>=() [3/8]

HWY_API Mask256< float > hwy::HWY_NAMESPACE::operator>= ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ operator>=() [4/8]

template<size_t N>
HWY_API Mask128<double, N> hwy::HWY_NAMESPACE::operator>= ( Vec128< double, N a,
Vec128< double, N b 
)

◆ operator>=() [5/8]

template<typename T , size_t N>
HWY_API Mask128<T, N> hwy::HWY_NAMESPACE::operator>= ( Vec128< T, N a,
Vec128< T, N b 
)

References operator<=().

◆ operator>=() [6/8]

HWY_API Mask256<double> hwy::HWY_NAMESPACE::operator>= ( Vec256< double >  a,
Vec256< double >  b 
)

◆ operator>=() [7/8]

HWY_API Mask512<double> hwy::HWY_NAMESPACE::operator>= ( Vec512< double >  a,
Vec512< double >  b 
)

◆ operator>=() [8/8]

HWY_API Mask512<float> hwy::HWY_NAMESPACE::operator>= ( Vec512< float >  a,
Vec512< float >  b 
)

◆ operator>>() [1/40]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int16_t >  v,
const Vec128< int16_t >  bits 
)

References Neg(), and v.

◆ operator>>() [2/40]

HWY_API Vec128<int16_t, 1> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int16_t, 1 >  v,
const Vec128< int16_t, 1 >  bits 
)

◆ operator>>() [3/40]

template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int16_t, N v,
const Vec128< int16_t, N bits 
)

References Neg(), and v.

◆ operator>>() [4/40]

template<size_t N>
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int16_t, N v,
const Vec128< int16_t, N bits 
)

◆ operator>>() [5/40]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int32_t >  v,
const Vec128< int32_t >  bits 
)

References Neg(), and v.

◆ operator>>() [6/40]

HWY_API Vec128<int32_t, 1> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int32_t, 1 >  v,
const Vec128< int32_t, 1 >  bits 
)

◆ operator>>() [7/40]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int32_t, N v,
const Vec128< int32_t, N bits 
)

References Neg(), and v.

◆ operator>>() [8/40]

template<size_t N>
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int32_t, N v,
const Vec128< int32_t, N bits 
)

◆ operator>>() [9/40]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int64_t >  v,
const Vec128< int64_t >  bits 
)

References Neg(), and v.

◆ operator>>() [10/40]

template<size_t N>
HWY_API Vec128<int64_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int64_t, N v,
const Vec128< int64_t, N bits 
)

◆ operator>>() [11/40]

HWY_API Vec128<int8_t> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int8_t >  v,
const Vec128< int8_t >  bits 
)

References Neg(), and v.

◆ operator>>() [12/40]

template<size_t N, HWY_IF_LE64(int8_t, N) >
HWY_API Vec128<int8_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< int8_t, N v,
const Vec128< int8_t, N bits 
)

References Neg(), and v.

◆ operator>>() [13/40]

HWY_API Vec128<uint16_t> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint16_t >  v,
const Vec128< uint16_t >  bits 
)

References BitCast(), Neg(), and v.

◆ operator>>() [14/40]

HWY_API Vec128<uint16_t, 1> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint16_t, 1 >  in,
const Vec128< uint16_t, 1 >  bits 
)

◆ operator>>() [15/40]

template<size_t N>
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint16_t, N in,
const Vec128< uint16_t, N bits 
)

◆ operator>>() [16/40]

template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint16_t, N v,
const Vec128< uint16_t, N bits 
)

References BitCast(), Neg(), and v.

◆ operator>>() [17/40]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint32_t >  v,
const Vec128< uint32_t >  bits 
)

References BitCast(), Neg(), and v.

◆ operator>>() [18/40]

HWY_API Vec128<uint32_t, 1> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint32_t, 1 >  in,
const Vec128< uint32_t, 1 >  bits 
)

◆ operator>>() [19/40]

template<size_t N>
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint32_t, N in,
const Vec128< uint32_t, N bits 
)

◆ operator>>() [20/40]

template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint32_t, N v,
const Vec128< uint32_t, N bits 
)

References BitCast(), Neg(), and v.

◆ operator>>() [21/40]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint64_t >  v,
const Vec128< uint64_t >  bits 
)

References BitCast(), Neg(), and v.

◆ operator>>() [22/40]

HWY_API Vec128<uint8_t> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint8_t >  v,
const Vec128< uint8_t >  bits 
)

References BitCast(), Neg(), and v.

◆ operator>>() [23/40]

template<size_t N, HWY_IF_LE64(uint8_t, N) >
HWY_API Vec128<uint8_t, N> hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint8_t, N v,
const Vec128< uint8_t, N bits 
)

References BitCast(), Neg(), and v.

◆ operator>>() [24/40]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::operator>> ( const Vec1< T >  v,
const Vec1< T >  bits 
)

◆ operator>>() [25/40]

HWY_API Vec256<int16_t> hwy::HWY_NAMESPACE::operator>> ( const Vec256< int16_t >  v,
const Vec256< int16_t >  bits 
)

◆ operator>>() [26/40]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::operator>> ( const Vec256< int32_t >  v,
const Vec256< int32_t >  bits 
)

◆ operator>>() [27/40]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::operator>> ( const Vec256< int64_t >  v,
const Vec256< int64_t >  bits 
)

◆ operator>>() [28/40]

HWY_API Vec256<uint16_t> hwy::HWY_NAMESPACE::operator>> ( const Vec256< uint16_t >  v,
const Vec256< uint16_t >  bits 
)

◆ operator>>() [29/40]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::operator>> ( const Vec256< uint32_t >  v,
const Vec256< uint32_t >  bits 
)

◆ operator>>() [30/40]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::operator>> ( const Vec256< uint64_t >  v,
const Vec256< uint64_t >  bits 
)

◆ operator>>() [31/40]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::operator>> ( const Vec512< int16_t >  v,
const Vec512< int16_t >  bits 
)

◆ operator>>() [32/40]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::operator>> ( const Vec512< int32_t >  v,
const Vec512< int32_t >  bits 
)

◆ operator>>() [33/40]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::operator>> ( const Vec512< int64_t >  v,
const Vec512< int64_t >  bits 
)

◆ operator>>() [34/40]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::operator>> ( const Vec512< uint16_t >  v,
const Vec512< uint16_t >  bits 
)

◆ operator>>() [35/40]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::operator>> ( const Vec512< uint32_t >  v,
const Vec512< uint32_t >  bits 
)

◆ operator>>() [36/40]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::operator>> ( const Vec512< uint64_t >  v,
const Vec512< uint64_t >  bits 
)

◆ operator>>() [37/40]

HWY_API Vec64<int64_t> hwy::HWY_NAMESPACE::operator>> ( const Vec64< int64_t >  v,
const Vec64< int64_t >  bits 
)

References Neg(), and v.

◆ operator>>() [38/40]

HWY_API Vec64< uint64_t > hwy::HWY_NAMESPACE::operator>> ( const Vec64< uint64_t >  v,
const Vec64< uint64_t >  bits 
)

References BitCast(), Neg(), and v.

◆ operator>>() [39/40]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::operator>> ( Vec128< T, N v,
const Vec128< T, N bits 
)

◆ operator>>() [40/40]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::operator>> ( Vec256< T >  v,
const Vec256< T >  bits 
)

◆ operator^() [1/4]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::operator^ ( const Vec128< T, N a,
const Vec128< T, N b 
)

References Xor().

◆ operator^() [2/4]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::operator^ ( const Vec1< T >  a,
const Vec1< T >  b 
)

References Xor().

◆ operator^() [3/4]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator^ ( const Vec256< T >  a,
const Vec256< T >  b 
)

References Xor().

◆ operator^() [4/4]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::operator^ ( const Vec512< T >  a,
const Vec512< T >  b 
)

References Xor().

◆ operator|() [1/4]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::operator| ( const Vec128< T, N a,
const Vec128< T, N b 
)

References Or().

◆ operator|() [2/4]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::operator| ( const Vec1< T >  a,
const Vec1< T >  b 
)

References Or().

◆ operator|() [3/4]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator| ( const Vec256< T >  a,
const Vec256< T >  b 
)

References Or().

◆ operator|() [4/4]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::operator| ( const Vec512< T >  a,
const Vec512< T >  b 
)

References Or().

◆ Or() [1/17]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::Or ( const Mask128< T, N a,
Mask128< T, N b 
)

References d, MaskFromVec(), Or(), and VecFromMask().

◆ Or() [2/17]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::Or ( const Mask1< T >  a,
Mask1< T >  b 
)

References d, MaskFromVec(), Or(), and VecFromMask().

◆ Or() [3/17]

template<typename T >
HWY_API Mask256<T> hwy::HWY_NAMESPACE::Or ( const Mask256< T >  a,
Mask256< T >  b 
)

◆ Or() [4/17]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::Or ( const Mask512< T >  a,
Mask512< T >  b 
)

◆ Or() [5/17]

template<class V , HWY_IF_FLOAT_V(V) >
HWY_API V hwy::HWY_NAMESPACE::Or ( const V  a,
const V  b 
)

References BitCast(), and Or().

◆ Or() [6/17]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Or ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ Or() [7/17]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::Or ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ Or() [8/17]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Or ( const Vec128< T, N a,
const Vec128< T, N b 
)

◆ Or() [9/17]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Or ( const Vec1< T >  a,
const Vec1< T >  b 
)

References BitCast().

◆ Or() [10/17]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Or ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ Or() [11/17]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Or ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ Or() [12/17]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Or ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ Or() [13/17]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Or ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ Or() [14/17]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::Or ( const Vec512< T >  a,
const Vec512< T >  b 
)

◆ Or() [15/17]

HWY_API svbool_t hwy::HWY_NAMESPACE::Or ( svbool_t  a,
svbool_t  b 
)

◆ Or() [16/17]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Or ( Vec128< T, N a,
Vec128< T, N b 
)

◆ Or() [17/17]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Or ( Vec256< T >  a,
Vec256< T >  b 
)

◆ OrAnd() [1/5]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::OrAnd ( const V  o,
const V  a1,
const V  a2 
)

References And(), and Or().

◆ OrAnd() [2/5]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::OrAnd ( const Vec1< T >  o,
const Vec1< T >  a1,
const Vec1< T >  a2 
)

References And(), and Or().

◆ OrAnd() [3/5]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::OrAnd ( Vec128< T, N o,
Vec128< T, N a1,
Vec128< T, N a2 
)

References And(), and Or().

Referenced by Lt128(), and hwy::HWY_NAMESPACE::detail::Lt128Vec().

◆ OrAnd() [4/5]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::OrAnd ( Vec256< T >  o,
Vec256< T >  a1,
Vec256< T >  a2 
)

References And(), and Or().

◆ OrAnd() [5/5]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::OrAnd ( Vec512< T >  o,
Vec512< T >  a1,
Vec512< T >  a2 
)

References BitCast(), and d.

◆ PopulationCount() [1/7]

template<typename V , HWY_IF_LANES_ARE(uint8_t, V) , HWY_IF_GE128_D(DFromV< V >) , HWY_IF_POW2_GE(DFromV< V >, HWY_MIN_POW2_FOR_128) >
HWY_API V hwy::HWY_NAMESPACE::PopulationCount ( v)

◆ PopulationCount() [2/7]

template<typename V , HWY_IF_LANES_ARE(uint16_t, V) >
HWY_API V hwy::HWY_NAMESPACE::PopulationCount ( v)

References Add(), And(), BitCast(), d, PopulationCount(), Set(), and v.

◆ PopulationCount() [3/7]

template<typename T , size_t N, HWY_IF_NOT_FLOAT(T) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::PopulationCount ( Vec128< T, N v)

◆ PopulationCount() [4/7]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::PopulationCount ( Vec128< T, N v)

◆ PopulationCount() [5/7]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::PopulationCount ( Vec1< T >  v)

References hwy::PopCount(), and v.

◆ PopulationCount() [6/7]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::PopulationCount ( Vec256< T >  v)

◆ PopulationCount() [7/7]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::PopulationCount ( Vec512< T >  v)

◆ Pow2()

template<class D >
HWY_INLINE constexpr HWY_MAYBE_UNUSED int hwy::HWY_NAMESPACE::Pow2 ( )
constexpr

◆ Print()

template<class D , class V = Vec<D>>
void hwy::HWY_NAMESPACE::Print ( const D  d,
const char *  caption,
VecArg< V >  v,
size_t  lane_u = 0,
size_t  max_lanes = 7 
)

References d, Lanes(), N, hwy::detail::PrintArray(), Store(), and v.

Referenced by AssertMaskEqual().

◆ PrintValue()

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_NOINLINE void hwy::HWY_NAMESPACE::PrintValue ( value)

◆ PromoteTo() [1/83]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< int16_t >  d,
const Vec64< uint8_t >  v 
)

References BitCast(), d, and v.

◆ PromoteTo() [2/83]

HWY_API Vec128<int16_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< int16_t >  ,
const Vec64< int8_t >  v 
)

References v.

◆ PromoteTo() [3/83]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< int32_t >  d,
const Vec32< uint8_t >  v 
)

References BitCast(), d, and v.

◆ PromoteTo() [4/83]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< int32_t >  d,
const Vec64< uint16_t >  v 
)

References BitCast(), d, and v.

◆ PromoteTo() [5/83]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< int32_t >  ,
const Vec32< int8_t >  v 
)

References v.

◆ PromoteTo() [6/83]

HWY_API Vec128<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< int32_t >  ,
const Vec64< int16_t >  v 
)

References v.

◆ PromoteTo() [7/83]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< int64_t >  ,
const Vec64< int32_t >  v 
)

References v.

◆ PromoteTo() [8/83]

HWY_API Vec128<uint16_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< uint16_t >  ,
const Vec64< uint8_t >  v 
)

References v.

Referenced by Compress(), CompressStore(), and PromoteTo().

◆ PromoteTo() [9/83]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< uint32_t >  ,
const Vec32< uint8_t >  v 
)

References v.

◆ PromoteTo() [10/83]

HWY_API Vec128<uint32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< uint32_t >  ,
const Vec64< uint16_t >  v 
)

References v.

◆ PromoteTo() [11/83]

HWY_API Vec128<uint64_t> hwy::HWY_NAMESPACE::PromoteTo ( Full128< uint64_t >  ,
const Vec64< uint32_t >  v 
)

References v.

◆ PromoteTo() [12/83]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::PromoteTo ( Full256< double >  ,
const Vec128< float, 4 >  v 
)

References v.

◆ PromoteTo() [13/83]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::PromoteTo ( Full256< double >  ,
const Vec128< int32_t >  v 
)

References v.

◆ PromoteTo() [14/83]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::PromoteTo ( Full256< double >  ,
const Vec128< int32_t, 4 >  v 
)

References v.

◆ PromoteTo() [15/83]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::PromoteTo ( Full256< float >  df32,
const Vec128< bfloat16_t v 
)

References BitCast(), PromoteTo(), and v.

◆ PromoteTo() [16/83]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::PromoteTo ( Full256< float >  df32,
const Vec128< float16_t v 
)

◆ PromoteTo() [17/83]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int16_t >  ,
const Vec128< int8_t >  v 
)

References v.

◆ PromoteTo() [18/83]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int16_t >  ,
const Vec128< uint8_t >  v 
)

References v.

◆ PromoteTo() [19/83]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
const Vec128< int16_t >  v 
)

References v.

◆ PromoteTo() [20/83]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
const Vec128< int8_t >  v 
)

References v.

◆ PromoteTo() [21/83]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
const Vec128< uint16_t >  v 
)

References v.

◆ PromoteTo() [22/83]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
const Vec128< uint8_t >  v 
)

References v.

◆ PromoteTo() [23/83]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
Vec128< int8_t, 8 >  v 
)

References v.

◆ PromoteTo() [24/83]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
Vec128< uint8_t, 8 >  v 
)

References v.

◆ PromoteTo() [25/83]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::PromoteTo ( Full256< int64_t >  ,
Vec128< int32_t >  v 
)

References v.

◆ PromoteTo() [26/83]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint16_t >  ,
const Vec128< uint8_t >  v 
)

References v.

◆ PromoteTo() [27/83]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint32_t >  ,
const Vec128< uint16_t >  v 
)

References v.

◆ PromoteTo() [28/83]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint32_t >  ,
const Vec128< uint8_t >  v 
)

References v.

◆ PromoteTo() [29/83]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint32_t >  ,
Vec128< uint8_t, 8 >  v 
)

References v.

◆ PromoteTo() [30/83]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint64_t >  ,
Vec128< uint32_t >  v 
)

References v.

◆ PromoteTo() [31/83]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::PromoteTo ( Full512< double >  ,
Vec256< float >  v 
)

References v.

◆ PromoteTo() [32/83]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::PromoteTo ( Full512< double >  ,
Vec256< int32_t >  v 
)

References v.

◆ PromoteTo() [33/83]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::PromoteTo ( Full512< float >  df32,
const Vec256< bfloat16_t v 
)

References BitCast(), PromoteTo(), and v.

◆ PromoteTo() [34/83]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::PromoteTo ( Full512< float >  ,
const Vec256< float16_t v 
)

References v.

◆ PromoteTo() [35/83]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< int16_t >  ,
Vec256< int8_t >  v 
)

References v.

◆ PromoteTo() [36/83]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< int16_t >  ,
Vec256< uint8_t >  v 
)

References v.

◆ PromoteTo() [37/83]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< int32_t >  ,
Vec128< int8_t >  v 
)

References v.

◆ PromoteTo() [38/83]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< int32_t >  ,
Vec128< uint8_t >  v 
)

References v.

◆ PromoteTo() [39/83]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< int32_t >  ,
Vec256< int16_t >  v 
)

References v.

◆ PromoteTo() [40/83]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< int32_t >  ,
Vec256< uint16_t >  v 
)

References v.

◆ PromoteTo() [41/83]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< int64_t >  ,
Vec256< int32_t >  v 
)

References v.

◆ PromoteTo() [42/83]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< uint16_t >  ,
Vec256< uint8_t >  v 
)

References v.

◆ PromoteTo() [43/83]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< uint32_t >  ,
Vec128< uint8_t >  v 
)

References v.

◆ PromoteTo() [44/83]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< uint32_t >  ,
Vec256< uint16_t >  v 
)

References v.

◆ PromoteTo() [45/83]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::PromoteTo ( Full512< uint64_t >  ,
Vec256< uint32_t >  v 
)

References v.

◆ PromoteTo() [46/83]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::PromoteTo ( Simd< double, N, 0 >  ,
const Vec128< float, N v 
)

References v.

◆ PromoteTo() [47/83]

template<size_t N>
HWY_API Vec128< double, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< double, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ PromoteTo() [48/83]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< float, N, 0 >  df32,
const Vec128< bfloat16_t, N v 
)

References BitCast(), PromoteTo(), and v.

◆ PromoteTo() [49/83]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< float, N, 0 >  df32,
const Vec128< float16_t, N v 
)

◆ PromoteTo() [50/83]

template<size_t N>
HWY_INLINE_F16 Vec128<float, N> hwy::HWY_NAMESPACE::PromoteTo ( Simd< float, N, 0 >  df32,
const Vec128< float16_t, N v 
)

◆ PromoteTo() [51/83]

template<size_t N, int kPow2>
HWY_API auto hwy::HWY_NAMESPACE::PromoteTo ( Simd< float32_t, N, kPow2 >  d,
VFromD< Rebind< bfloat16_t, decltype(d)>>  v 
) -> VFromD<decltype(d)>

References BitCast(), d, PromoteTo(), and v.

◆ PromoteTo() [52/83]

template<size_t N, int kPow2>
HWY_API svfloat32_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< float32_t, N, kPow2 >  df32,
const svuint16_t  v 
)

References BitCast(), v, and ZipLower().

◆ PromoteTo() [53/83]

template<size_t N, int kPow2>
HWY_API svfloat32_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< float32_t, N, kPow2 >  ,
const svfloat16_t  v 
)

References v, and ZipLower().

◆ PromoteTo() [54/83]

template<size_t N, int kPow2>
HWY_API svfloat64_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< float64_t, N, kPow2 >  ,
const svfloat32_t  v 
)

References v, and ZipLower().

◆ PromoteTo() [55/83]

template<size_t N, int kPow2>
HWY_API svfloat64_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< float64_t, N, kPow2 >  ,
const svint32_t  v 
)

References v, and ZipLower().

◆ PromoteTo() [56/83]

template<size_t N, HWY_IF_LE64(int16_t, N) >
HWY_API Vec128<int16_t, N> hwy::HWY_NAMESPACE::PromoteTo ( Simd< int16_t, N, 0 >  d,
const Vec128< uint8_t, N v 
)

References BitCast(), d, and v.

◆ PromoteTo() [57/83]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< int16_t, N, 0 >  ,
const Vec128< int8_t, N v 
)

References v.

◆ PromoteTo() [58/83]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< int16_t, N, 0 >  di,
const Vec128< uint8_t, N v 
)

References v.

◆ PromoteTo() [59/83]

template<size_t N, int kPow2>
HWY_API auto hwy::HWY_NAMESPACE::PromoteTo ( Simd< int16_t, N, kPow2 >  d,
VFromD< Rebind< uint8_t, decltype(d)>>  v 
) -> VFromD<decltype(d)>

References BitCast(), d, PromoteTo(), and v.

◆ PromoteTo() [60/83]

template<size_t N, int kPow2>
HWY_API svint16_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< int16_t, N, kPow2 >  dto,
svuint8_t  vfrom 
)

References BitCast(), and PromoteTo().

◆ PromoteTo() [61/83]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, 0 >  ,
const Vec128< int16_t, N v 
)

References v.

◆ PromoteTo() [62/83]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, 0 >  ,
const Vec128< int8_t, N v 
)

References v.

◆ PromoteTo() [63/83]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, 0 >  ,
const Vec128< uint16_t, N v 
)

References v.

◆ PromoteTo() [64/83]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, 0 >  di,
const Vec128< uint16_t, N v 
)

References v.

◆ PromoteTo() [65/83]

template<size_t N, HWY_IF_LE64(int32_t, N) >
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, 0 >  ,
const Vec128< uint8_t, N v 
)

References v.

◆ PromoteTo() [66/83]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, 0 >  di,
const Vec128< uint8_t, N v 
)

References v.

◆ PromoteTo() [67/83]

template<size_t N, int kPow2>
HWY_API auto hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, kPow2 >  d,
VFromD< Rebind< uint16_t, decltype(d)>>  v 
) -> VFromD<decltype(d)>

References BitCast(), d, PromoteTo(), and v.

◆ PromoteTo() [68/83]

template<size_t N, int kPow2>
HWY_API auto hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, kPow2 >  d,
VFromD< Rebind< uint8_t, decltype(d)>>  v 
) -> VFromD<decltype(d)>

References BitCast(), d, PromoteTo(), and v.

◆ PromoteTo() [69/83]

template<size_t N, int kPow2>
HWY_API svint32_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, kPow2 >  dto,
svint8_t  vfrom 
)

References PromoteTo().

◆ PromoteTo() [70/83]

template<size_t N, int kPow2>
HWY_API svint32_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, kPow2 >  dto,
svuint16_t  vfrom 
)

References BitCast(), and PromoteTo().

◆ PromoteTo() [71/83]

template<size_t N, int kPow2>
HWY_API svint32_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< int32_t, N, kPow2 >  dto,
svuint8_t  vfrom 
)

References BitCast(), and PromoteTo().

◆ PromoteTo() [72/83]

template<size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< int64_t, N, 0 >  ,
const Vec128< int32_t, N v 
)

References v.

◆ PromoteTo() [73/83]

template<size_t N, HWY_IF_LE64(uint16_t, N) >
HWY_API Vec128<uint16_t, N> hwy::HWY_NAMESPACE::PromoteTo ( Simd< uint16_t, N, 0 >  ,
const Vec128< uint8_t, N v 
)

References v.

◆ PromoteTo() [74/83]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< uint16_t, N, 0 >  ,
const Vec128< uint8_t, N v 
)

References v.

◆ PromoteTo() [75/83]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< uint32_t, N, 0 >  ,
const Vec128< uint16_t, N v 
)

References v.

◆ PromoteTo() [76/83]

template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::PromoteTo ( Simd< uint32_t, N, 0 >  ,
const Vec128< uint8_t, N v 
)

References v.

◆ PromoteTo() [77/83]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< uint32_t, N, 0 >  ,
const Vec128< uint8_t, N v 
)

References v.

◆ PromoteTo() [78/83]

template<size_t N, int kPow2>
HWY_API svuint32_t hwy::HWY_NAMESPACE::PromoteTo ( Simd< uint32_t, N, kPow2 >  dto,
svuint8_t  vfrom 
)

References PromoteTo().

◆ PromoteTo() [79/83]

template<size_t N, HWY_IF_LE64(uint64_t, N) >
HWY_API Vec128<uint64_t, N> hwy::HWY_NAMESPACE::PromoteTo ( Simd< uint64_t, N, 0 >  ,
const Vec128< uint32_t, N v 
)

References v.

◆ PromoteTo() [80/83]

template<size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< uint64_t, N, 0 >  ,
const Vec128< uint32_t, N v 
)

References v.

◆ PromoteTo() [81/83]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::PromoteTo ( Sisd< float >  d,
const Vec1< bfloat16_t v 
)

References d, hwy::F32FromBF16(), Set(), and v.

◆ PromoteTo() [82/83]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::PromoteTo ( Sisd< float >  ,
const Vec1< float16_t v 
)

References v.

◆ PromoteTo() [83/83]

template<typename FromT , typename ToT >
HWY_API Vec1<ToT> hwy::HWY_NAMESPACE::PromoteTo ( Sisd< ToT >  ,
Vec1< FromT >  from 
)

◆ RandomValues()

template<typename T , class DU64 , HWY_IF_NOT_FLOAT(T) >
Vec< DU64 > hwy::HWY_NAMESPACE::RandomValues ( DU64  du64,
Vec< DU64 > &  s0,
Vec< DU64 > &  s1,
const Vec< DU64 >  mask 
)

◆ RebindMask() [1/7]

template<class D , typename MFrom >
HWY_API svbool_t hwy::HWY_NAMESPACE::RebindMask ( const  D,
const MFrom  mask 
)

◆ RebindMask() [2/7]

template<class D , typename MFrom >
HWY_API MFromD<D> hwy::HWY_NAMESPACE::RebindMask ( const  D,
const MFrom  mask 
)

◆ RebindMask() [3/7]

template<typename TFrom , typename TTo >
HWY_API Mask256< TTo > hwy::HWY_NAMESPACE::RebindMask ( Full256< TTo >  ,
Mask256< TFrom >  m 
)

◆ RebindMask() [4/7]

template<typename TFrom , typename TTo >
HWY_API Mask512<TTo> hwy::HWY_NAMESPACE::RebindMask ( Full512< TTo >  ,
Mask512< TFrom >  m 
)

◆ RebindMask() [5/7]

template<typename TFrom , typename TTo , size_t N>
HWY_API Mask128< TTo, N > hwy::HWY_NAMESPACE::RebindMask ( Simd< TTo, N, 0 >  dto,
Mask128< TFrom, N m 
)

◆ RebindMask() [6/7]

template<typename TFrom , size_t NFrom, typename TTo , size_t NTo>
HWY_API Mask128<TTo, NTo> hwy::HWY_NAMESPACE::RebindMask ( Simd< TTo, NTo, 0 >  ,
Mask128< TFrom, NFrom >  m 
)

◆ RebindMask() [7/7]

template<typename TFrom , typename TTo >
HWY_API Mask1<TTo> hwy::HWY_NAMESPACE::RebindMask ( Sisd< TTo >  ,
Mask1< TFrom >  m 
)

◆ ReorderDemote2To() [1/6]

HWY_API Vec128<bfloat16_t> hwy::HWY_NAMESPACE::ReorderDemote2To ( Full128< bfloat16_t dbf16,
Vec256< float >  a,
Vec256< float >  b 
)

References BitCast(), and OddEven().

◆ ReorderDemote2To() [2/6]

HWY_API Vec256<bfloat16_t> hwy::HWY_NAMESPACE::ReorderDemote2To ( Full256< bfloat16_t dbf16,
Vec256< float >  a,
Vec256< float >  b 
)

References BitCast(), and OddEven().

◆ ReorderDemote2To() [3/6]

HWY_API Vec512<bfloat16_t> hwy::HWY_NAMESPACE::ReorderDemote2To ( Full512< bfloat16_t dbf16,
Vec512< float >  a,
Vec512< float >  b 
)

References BitCast(), and OddEven().

◆ ReorderDemote2To() [4/6]

template<size_t N>
HWY_API Vec128< bfloat16_t, 2 *N > hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< bfloat16_t, 2 *N, 0 >  dbf16,
Vec128< float, N a,
Vec128< float, N b 
)

References BitCast(), and OddEven().

◆ ReorderDemote2To() [5/6]

template<size_t N, int kPow2>
HWY_API svuint16_t hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< bfloat16_t, N, kPow2 >  dbf16,
svfloat32_t  a,
svfloat32_t  b 
)

References BitCast(), and OddEven().

◆ ReorderDemote2To() [6/6]

template<size_t N, int kPow2>
HWY_API VFromD<Simd<uint16_t, N, kPow2> > hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< bfloat16_t, N, kPow2 >  dbf16,
VFromD< RepartitionToWide< decltype(dbf16)>>  a,
VFromD< RepartitionToWide< decltype(dbf16)>>  b 
)

References BitCast(), and OddEven().

◆ ReorderWidenMulAccumulate() [1/6]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Full256< float >  df32,
Vec256< bfloat16_t a,
Vec256< bfloat16_t b,
const Vec256< float >  sum0,
Vec256< float > &  sum1 
)

◆ ReorderWidenMulAccumulate() [2/6]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Full512< float >  df32,
Vec512< bfloat16_t a,
Vec512< bfloat16_t b,
const Vec512< float >  sum0,
Vec512< float > &  sum1 
)

◆ ReorderWidenMulAccumulate() [3/6]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Simd< float, N, 0 >  df32,
Vec128< bfloat16_t, 2 *N a,
Vec128< bfloat16_t, 2 *N b,
const Vec128< float, N sum0,
Vec128< float, N > &  sum1 
)

◆ ReorderWidenMulAccumulate() [4/6]

template<size_t N, int kPow2>
HWY_API svfloat32_t hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Simd< float, N, kPow2 >  df32,
svuint16_t  a,
svuint16_t  b,
const svfloat32_t  sum0,
svfloat32_t &  sum1 
)

◆ ReorderWidenMulAccumulate() [5/6]

template<size_t N, int kPow2>
HWY_API auto hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Simd< float, N, kPow2 >  df32,
VFromD< DU16FromDF< decltype(df32)>>  a,
VFromD< DU16FromDF< decltype(df32)>>  b,
const VFromD< decltype(df32)>  sum0,
VFromD< decltype(df32)> &  sum1 
) -> VFromD<decltype(df32)>

◆ ReorderWidenMulAccumulate() [6/6]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Sisd< float >  ,
Vec1< bfloat16_t a,
Vec1< bfloat16_t b,
const Vec1< float >  sum0,
Vec1< float > &   
)

◆ Reverse() [1/9]

template<class D >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::Reverse ( ,
VFromD< D >  v 
)

◆ Reverse() [2/9]

template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Reverse ( Full128< T >  ,
const Vec128< T >  v 
)

References Shuffle01(), and v.

◆ Reverse() [3/9]

template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse ( Full256< T >  d,
const Vec256< T >  v 
)

References Shuffle01(), and v.

◆ Reverse() [4/9]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Reverse ( Full512< T >  d,
const Vec512< T >  v 
)

◆ Reverse() [5/9]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128<T, 2> hwy::HWY_NAMESPACE::Reverse ( Full64< T >  ,
const Vec128< T, 2 >  v 
)

References Shuffle2301(), and v.

◆ Reverse() [6/9]

template<typename T >
HWY_API Vec128< T, 1 > hwy::HWY_NAMESPACE::Reverse ( Simd< T, 1, 0 >  ,
const Vec128< T, 1 >  v 
)

◆ Reverse() [7/9]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, 2 > hwy::HWY_NAMESPACE::Reverse ( Simd< T, 2, 0 >  ,
const Vec128< T, 2 >  v 
)

References Shuffle2301(), and v.

◆ Reverse() [8/9]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

References BitCast(), d, Reverse(), and v.

◆ Reverse() [9/9]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Reverse ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ Reverse2() [1/10]

template<class D , HWY_IF_LANE_SIZE_D(D, 2) >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::Reverse2 ( d,
const VFromD< D >  v 
)

References BitCast(), d, and v.

◆ Reverse2() [2/10]

template<class D , HWY_IF_LANE_SIZE_D(D, 2) , HWY_RVV_IF_POW2_IN(D, -1, 3) >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::Reverse2 ( d,
const VFromD< D >  v 
)

References BitCast(), d, and v.

◆ Reverse2() [3/10]

template<class D , class V = VFromD<D>, HWY_IF_LANE_SIZE_D(D, 8) >
HWY_API V hwy::HWY_NAMESPACE::Reverse2 ( ,
const V  v 
)

References OddEven(), and v.

◆ Reverse2() [4/10]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Reverse2 ( Full128< T >  d,
const Vec128< T >  v 
)

References BitCast(), d, and v.

◆ Reverse2() [5/10]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::Reverse2 ( Full256< T >  d,
const Vec256< T >  v 
)

References HWY_ASSERT.

◆ Reverse2() [6/10]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse2 ( Full256< T >  d,
const Vec256< T >  v 
)

References BitCast(), d, and v.

◆ Reverse2() [7/10]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Reverse2 ( Full512< T >  d,
const Vec512< T >  v 
)

References BitCast(), d, and v.

◆ Reverse2() [8/10]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) , HWY_IF_LE64(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse2 ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

◆ Reverse2() [9/10]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse2 ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

References Shuffle01(), and v.

◆ Reverse2() [10/10]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Reverse2 ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ Reverse4() [1/10]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::Reverse4 ( d,
const VFromD< D >  v 
)

References d, Iota(), TableLookupLanes(), and v.

◆ Reverse4() [2/10]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Reverse4 ( Full128< T >  d,
const Vec128< T >  v 
)

References BitCast(), d, and v.

◆ Reverse4() [3/10]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Reverse4 ( Full256< double >  ,
Vec256< double >  v 
)

References v.

◆ Reverse4() [4/10]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::Reverse4 ( Full256< T >  d,
const Vec256< T >  v 
)

References HWY_ASSERT.

◆ Reverse4() [5/10]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse4 ( Full256< T >  d,
const Vec256< T >  v 
)

◆ Reverse4() [6/10]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Reverse4 ( Full512< double >  ,
Vec512< double >  v 
)

References v.

◆ Reverse4() [7/10]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Reverse4 ( Full512< T >  d,
const Vec512< T >  v 
)

◆ Reverse4() [8/10]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) , HWY_IF_LE64(T, N) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Reverse4 ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

◆ Reverse4() [9/10]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse4 ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

References Shuffle0123(), and v.

◆ Reverse4() [10/10]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Reverse4 ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ Reverse8() [1/6]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::Reverse8 ( d,
const VFromD< D >  v 
)

References d, Iota(), TableLookupLanes(), and v.

◆ Reverse8() [2/6]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::Reverse8 ( Full256< T >  d,
const Vec256< T >  v 
)

References HWY_ASSERT.

◆ Reverse8() [3/6]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse8 ( Full256< T >  d,
const Vec256< T >  v 
)

◆ Reverse8() [4/6]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Reverse8 ( Full512< T >  d,
const Vec512< T >  v 
)

◆ Reverse8() [5/6]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse8 ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

◆ Reverse8() [6/6]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Reverse8 ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ ReverseBlocks() [1/7]

template<class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::ReverseBlocks ( d,
v 
)

References BitCast(), d, Reverse(), Shuffle01(), and v.

◆ ReverseBlocks() [2/7]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::ReverseBlocks ( Full128< T >  ,
const Vec128< T >  v 
)

References v.

◆ ReverseBlocks() [3/7]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ReverseBlocks ( Full256< T >  d,
const Vec256< T >  v 
)

References v.

◆ ReverseBlocks() [4/7]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ReverseBlocks ( Full512< double >  ,
Vec512< double >  v 
)

References v.

◆ ReverseBlocks() [5/7]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ReverseBlocks ( Full512< float >  ,
Vec512< float >  v 
)

References v.

◆ ReverseBlocks() [6/7]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ReverseBlocks ( Full512< T >  ,
Vec512< T >  v 
)

References v.

◆ ReverseBlocks() [7/7]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::ReverseBlocks ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ RotateRight() [1/10]

template<int kBits, class V >
HWY_API V hwy::HWY_NAMESPACE::RotateRight ( const V  v)

References Or(), and v.

◆ RotateRight() [2/10]

template<int kBits, typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::RotateRight ( const Vec128< T, N v)

References Or(), and v.

◆ RotateRight() [3/10]

template<int kBits, size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::RotateRight ( const Vec128< uint32_t, N v)

References HWY_MIN, Or(), ShiftLeft(), and v.

◆ RotateRight() [4/10]

template<int kBits, size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::RotateRight ( const Vec128< uint64_t, N v)

References HWY_MIN, Or(), ShiftLeft(), and v.

◆ RotateRight() [5/10]

template<int kBits, typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::RotateRight ( const Vec1< T >  v)

References Or(), ShiftLeft(), and v.

◆ RotateRight() [6/10]

template<int kBits, typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::RotateRight ( const Vec256< T >  v)

References Or(), and v.

◆ RotateRight() [7/10]

template<int kBits>
HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::RotateRight ( const Vec256< uint32_t >  v)

References HWY_MIN, Or(), ShiftLeft(), and v.

◆ RotateRight() [8/10]

template<int kBits>
HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::RotateRight ( const Vec256< uint64_t >  v)

References HWY_MIN, Or(), ShiftLeft(), and v.

◆ RotateRight() [9/10]

template<int kBits>
HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::RotateRight ( const Vec512< uint32_t >  v)

References v.

◆ RotateRight() [10/10]

template<int kBits>
HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::RotateRight ( const Vec512< uint64_t >  v)

References v.

◆ Round() [1/8]

template<class V >
decltype(MaskFromVec(v)) HWY_API V hwy::HWY_NAMESPACE::Round ( const V  v)

◆ Round() [2/8]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Round ( const Vec128< float, N v)

◆ Round() [3/8]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Round ( const Vec128< T, N v)

References Abs(), CopySignToAbs(), IfThenElse(), Set(), and v.

◆ Round() [4/8]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Round ( const Vec1< T >  v)

References Abs(), CopySignToAbs(), and v.

◆ Round() [5/8]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Round ( const Vec256< double >  v)

References v.

◆ Round() [6/8]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Round ( const Vec256< float >  v)

References v.

◆ Round() [7/8]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Round ( const Vec512< double >  v)

References v.

◆ Round() [8/8]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Round ( const Vec512< float >  v)

References v.

◆ Run()

template<class Order , typename T >
void hwy::HWY_NAMESPACE::Run ( Algo  algo,
T *HWY_RESTRICT  inout,
size_t  num,
SharedState shared,
size_t  thread 
)

◆ SafeCopyN()

template<class D , typename T = TFromD<D>>
HWY_API void hwy::HWY_NAMESPACE::SafeCopyN ( const size_t  num,
d,
const T *HWY_RESTRICT  from,
T *HWY_RESTRICT  to 
)

References BlendedStore(), d, FirstN(), and LoadU().

◆ SaturatedAdd() [1/16]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ SaturatedAdd() [2/16]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec128< int8_t, N a,
const Vec128< int8_t, N b 
)

◆ SaturatedAdd() [3/16]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ SaturatedAdd() [4/16]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ SaturatedAdd() [5/16]

HWY_API Vec1<int16_t> hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec1< int16_t >  a,
const Vec1< int16_t >  b 
)

◆ SaturatedAdd() [6/16]

HWY_API Vec1<int8_t> hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec1< int8_t >  a,
const Vec1< int8_t >  b 
)

◆ SaturatedAdd() [7/16]

HWY_API Vec1<uint16_t> hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec1< uint16_t >  a,
const Vec1< uint16_t >  b 
)

◆ SaturatedAdd() [8/16]

HWY_API Vec1<uint8_t> hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec1< uint8_t >  a,
const Vec1< uint8_t >  b 
)

◆ SaturatedAdd() [9/16]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ SaturatedAdd() [10/16]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ SaturatedAdd() [11/16]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ SaturatedAdd() [12/16]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ SaturatedAdd() [13/16]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ SaturatedAdd() [14/16]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ SaturatedAdd() [15/16]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec512< uint16_t >  a,
const Vec512< uint16_t >  b 
)

◆ SaturatedAdd() [16/16]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b 
)

◆ SaturatedSub() [1/16]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec128< int16_t, N a,
const Vec128< int16_t, N b 
)

◆ SaturatedSub() [2/16]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec128< int8_t, N a,
const Vec128< int8_t, N b 
)

◆ SaturatedSub() [3/16]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec128< uint16_t, N a,
const Vec128< uint16_t, N b 
)

◆ SaturatedSub() [4/16]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec128< uint8_t, N a,
const Vec128< uint8_t, N b 
)

◆ SaturatedSub() [5/16]

HWY_API Vec1<int16_t> hwy::HWY_NAMESPACE::SaturatedSub ( const Vec1< int16_t >  a,
const Vec1< int16_t >  b 
)

◆ SaturatedSub() [6/16]

HWY_API Vec1<int8_t> hwy::HWY_NAMESPACE::SaturatedSub ( const Vec1< int8_t >  a,
const Vec1< int8_t >  b 
)

◆ SaturatedSub() [7/16]

HWY_API Vec1<uint16_t> hwy::HWY_NAMESPACE::SaturatedSub ( const Vec1< uint16_t >  a,
const Vec1< uint16_t >  b 
)

◆ SaturatedSub() [8/16]

HWY_API Vec1<uint8_t> hwy::HWY_NAMESPACE::SaturatedSub ( const Vec1< uint8_t >  a,
const Vec1< uint8_t >  b 
)

References HWY_MAX, HWY_MIN, and hwy::HWY_NAMESPACE::Vec1< T >::raw.

Referenced by Max(), and Min().

◆ SaturatedSub() [9/16]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ SaturatedSub() [10/16]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ SaturatedSub() [11/16]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ SaturatedSub() [12/16]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b 
)

◆ SaturatedSub() [13/16]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::SaturatedSub ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ SaturatedSub() [14/16]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::SaturatedSub ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ SaturatedSub() [15/16]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::SaturatedSub ( const Vec512< uint16_t >  a,
const Vec512< uint16_t >  b 
)

◆ SaturatedSub() [16/16]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::SaturatedSub ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b 
)

◆ ScatterIndex() [1/12]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec128< double, N v,
Simd< double, N, 0 >  ,
double *HWY_RESTRICT  base,
const Vec128< int64_t, N index 
)

◆ ScatterIndex() [2/12]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec128< float, N v,
Simd< float, N, 0 >  ,
float *HWY_RESTRICT  base,
const Vec128< int32_t, N index 
)

◆ ScatterIndex() [3/12]

template<typename T , size_t N, typename Index , HWY_IF_LE128(T, N) >
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec128< T, N v,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  base,
const Vec128< Index, N index 
)

References d, N, Store(), and v.

◆ ScatterIndex() [4/12]

template<typename T , size_t N, typename Index >
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec128< T, N v,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  base,
const Vec128< Index, N index 
)

◆ ScatterIndex() [5/12]

template<typename T , typename Index >
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec1< T >  v,
Sisd< T >  d,
T *HWY_RESTRICT  base,
const Vec1< Index >  index 
)

◆ ScatterIndex() [6/12]

HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec256< double >  v,
Full256< double >  ,
double *HWY_RESTRICT  base,
const Vec256< int64_t >  index 
)

◆ ScatterIndex() [7/12]

HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec256< float >  v,
Full256< float >  ,
float *HWY_RESTRICT  base,
const Vec256< int32_t >  index 
)

◆ ScatterIndex() [8/12]

template<typename T , typename Index >
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec256< T >  v,
Full256< T >  d,
T *HWY_RESTRICT  base,
const Vec256< Index >  index 
)

References d, N, Store(), and v.

◆ ScatterIndex() [9/12]

HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec512< double >  v,
Full512< double >  ,
double *HWY_RESTRICT  base,
const Vec512< int64_t >  index 
)

◆ ScatterIndex() [10/12]

HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec512< float >  v,
Full512< float >  ,
float *HWY_RESTRICT  base,
const Vec512< int32_t >  index 
)

◆ ScatterIndex() [11/12]

template<typename T , typename Index >
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( Vec512< T >  v,
Full512< T >  d,
T *HWY_RESTRICT  base,
const Vec512< Index >  index 
)

◆ ScatterIndex() [12/12]

template<class D , HWY_IF_LANE_SIZE_D(D, 4) >
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex ( VFromD< D >  v,
d,
TFromD< D > *HWY_RESTRICT  base,
const VFromD< RebindToSigned< D >>  index 
)

References d, ScatterOffset(), and v.

◆ ScatterOffset() [1/11]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec128< double, N v,
Simd< double, N, 0 >  ,
double *HWY_RESTRICT  base,
const Vec128< int64_t, N offset 
)

◆ ScatterOffset() [2/11]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec128< float, N v,
Simd< float, N, 0 >  ,
float *HWY_RESTRICT  base,
const Vec128< int32_t, N offset 
)

◆ ScatterOffset() [3/11]

template<typename T , size_t N, typename Offset , HWY_IF_LE128(T, N) >
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec128< T, N v,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  base,
const Vec128< Offset, N offset 
)

References d, N, Store(), and v.

Referenced by ScatterIndex().

◆ ScatterOffset() [4/11]

template<typename T , size_t N, typename Offset >
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec128< T, N v,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  base,
const Vec128< Offset, N offset 
)

◆ ScatterOffset() [5/11]

template<typename T , typename Offset >
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec1< T >  v,
Sisd< T >  d,
T *  base,
const Vec1< Offset >  offset 
)

◆ ScatterOffset() [6/11]

HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec256< double >  v,
Full256< double >  ,
double *HWY_RESTRICT  base,
const Vec256< int64_t >  offset 
)

◆ ScatterOffset() [7/11]

HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec256< float >  v,
Full256< float >  ,
float *HWY_RESTRICT  base,
const Vec256< int32_t >  offset 
)

◆ ScatterOffset() [8/11]

template<typename T , typename Offset >
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec256< T >  v,
Full256< T >  d,
T *HWY_RESTRICT  base,
const Vec256< Offset >  offset 
)

References d, N, Store(), and v.

◆ ScatterOffset() [9/11]

HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec512< double >  v,
Full512< double >  ,
double *HWY_RESTRICT  base,
const Vec512< int64_t >  offset 
)

◆ ScatterOffset() [10/11]

HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec512< float >  v,
Full512< float >  ,
float *HWY_RESTRICT  base,
const Vec512< int32_t >  offset 
)

◆ ScatterOffset() [11/11]

template<typename T , typename Offset >
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec512< T >  v,
Full512< T >  d,
T *HWY_RESTRICT  base,
const Vec512< Offset >  offset 
)

◆ Set() [1/33]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Set ( Full256< double >  ,
const double  t 
)

◆ Set() [2/33]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Set ( Full256< float >  ,
const float  t 
)

◆ Set() [3/33]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::Set ( Full256< int16_t >  ,
const int16_t  t 
)

◆ Set() [4/33]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::Set ( Full256< int32_t >  ,
const int32_t  t 
)

◆ Set() [5/33]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::Set ( Full256< int64_t >  ,
const int64_t  t 
)

◆ Set() [6/33]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::Set ( Full256< int8_t >  ,
const int8_t  t 
)

◆ Set() [7/33]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::Set ( Full256< uint16_t >  ,
const uint16_t  t 
)

◆ Set() [8/33]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::Set ( Full256< uint32_t >  ,
const uint32_t  t 
)

◆ Set() [9/33]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::Set ( Full256< uint64_t >  ,
const uint64_t  t 
)

◆ Set() [10/33]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::Set ( Full256< uint8_t >  ,
const uint8_t  t 
)

◆ Set() [11/33]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Set ( Full512< double >  ,
const double  t 
)

◆ Set() [12/33]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Set ( Full512< float >  ,
const float  t 
)

◆ Set() [13/33]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::Set ( Full512< int16_t >  ,
const int16_t  t 
)

◆ Set() [14/33]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Set ( Full512< int32_t >  ,
const int32_t  t 
)

◆ Set() [15/33]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::Set ( Full512< int64_t >  ,
const int64_t  t 
)

◆ Set() [16/33]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::Set ( Full512< int8_t >  ,
const int8_t  t 
)

◆ Set() [17/33]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::Set ( Full512< uint16_t >  ,
const uint16_t  t 
)

◆ Set() [18/33]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Set ( Full512< uint32_t >  ,
const uint32_t  t 
)

◆ Set() [19/33]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::Set ( Full512< uint64_t >  ,
const uint64_t  t 
)

◆ Set() [20/33]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::Set ( Full512< uint8_t >  ,
const uint8_t  t 
)

◆ Set() [21/33]

template<size_t N, int kPow2>
svuint16_t hwy::HWY_NAMESPACE::Set ( Simd< bfloat16_t, N, kPow2 >  d,
bfloat16_t  arg 
)

References hwy::bfloat16_t::bits, and d.

Referenced by Acos(), Acosh(), Asin(), Asinh(), hwy::HWY_NAMESPACE::impl::AsinImpl< float >::AsinPoly(), Atan(), Atanh(), hwy::HWY_NAMESPACE::impl::AtanImpl< float >::AtanPoly(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::ClampF64ToI32Max(), ConvertTo(), Cos(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosReduce(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosSignFromQuadrant(), DemoteTo(), Exp(), Expm1(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::ExpPoly(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::ExpReduce(), FirstN(), hwy::HWY_NAMESPACE::detail::OrderAscending::FirstValue(), hwy::HWY_NAMESPACE::detail::OrderDescending::FirstValue(), grk::HWY_NAMESPACE::hwy_decompress_v_parity_even_mcols_53(), grk::HWY_NAMESPACE::hwy_decompress_v_parity_odd_mcols_53(), hwy::HWY_NAMESPACE::detail::Idx16x8FromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), IndicesFromVec(), hwy::HWY_NAMESPACE::detail::OrderAscending::LastValue(), hwy::HWY_NAMESPACE::detail::OrderDescending::LastValue(), LoadMaskBits(), hwy::HWY_NAMESPACE::impl::Log(), Log10(), Log1p(), Log2(), hwy::HWY_NAMESPACE::impl::LogImpl< float >::Log2p1NoSubnormal(), hwy::HWY_NAMESPACE::impl::LogImpl< float >::LogPoly(), MaskForDist(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxU(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinU(), MulEven(), MulFixedPoint15(), MulOdd(), NaN(), operator>(), operator>>(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::Poly(), PopulationCount(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::Pow2I(), PromoteTo(), Round(), Set(), hwy::HWY_NAMESPACE::detail::KeyLane::SetKey(), ShiftLeft(), ShiftLeftSame(), ShiftRight(), ShiftRightSame(), SignBit(), Sin(), Sinh(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinReduce(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinSignFromQuadrant(), StoreInterleaved3(), SumOfLanes(), SumsOf8(), TableLookupLanes(), Tanh(), hwy::HWY_NAMESPACE::detail::UseInt(), grk::HWY_NAMESPACE::DecompressDcShiftIrrev::vtrans(), grk::HWY_NAMESPACE::DecompressDcShiftRev::vtrans(), grk::HWY_NAMESPACE::DecompressRev::vtrans(), grk::HWY_NAMESPACE::DecompressIrrev::vtrans(), grk::HWY_NAMESPACE::CompressRev::vtrans(), grk::HWY_NAMESPACE::CompressIrrev::vtrans(), and Zero().

◆ Set() [22/33]

template<size_t N, int kPow2>
decltype(Set(Simd<uint16_t, N, kPow2>(), 0)) hwy::HWY_NAMESPACE::Set ( Simd< bfloat16_t, N, kPow2 >  d,
bfloat16_t  arg 
)

References d, and Set().

◆ Set() [23/33]

template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Set ( Simd< double, N, 0 >  ,
const double  t 
)

◆ Set() [24/33]

template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Set ( Simd< float, N, 0 >  ,
const float  t 
)

◆ Set() [25/33]

template<size_t N, HWY_IF_LE128(int16_t, N) >
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::Set ( Simd< int16_t, N, 0 >  ,
const int16_t  t 
)

◆ Set() [26/33]

template<size_t N, HWY_IF_LE128(int32_t, N) >
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::Set ( Simd< int32_t, N, 0 >  ,
const int32_t  t 
)

◆ Set() [27/33]

template<size_t N, HWY_IF_LE128(int64_t, N) >
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::Set ( Simd< int64_t, N, 0 >  ,
const int64_t  t 
)

◆ Set() [28/33]

template<size_t N, HWY_IF_LE128(int8_t, N) >
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::Set ( Simd< int8_t, N, 0 >  ,
const int8_t  t 
)

◆ Set() [29/33]

template<size_t N, HWY_IF_LE128(uint16_t, N) >
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::Set ( Simd< uint16_t, N, 0 >  ,
const uint16_t  t 
)

◆ Set() [30/33]

template<size_t N, HWY_IF_LE128(uint32_t, N) >
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::Set ( Simd< uint32_t, N, 0 >  ,
const uint32_t  t 
)

◆ Set() [31/33]

template<size_t N, HWY_IF_LE128(uint64_t, N) >
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::Set ( Simd< uint64_t, N, 0 >  ,
const uint64_t  t 
)

◆ Set() [32/33]

template<size_t N, HWY_IF_LE128(uint8_t, N) >
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::Set ( Simd< uint8_t, N, 0 >  ,
const uint8_t  t 
)

◆ Set() [33/33]

template<typename T , typename T2 >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Set ( Sisd< T >  ,
const T2  t 
)

◆ SetTableIndices() [1/5]

template<typename T , typename TI >
HWY_API Indices512<T> hwy::HWY_NAMESPACE::SetTableIndices ( const Full512< T >  d,
const TI *  idx 
)

References d, IndicesFromVec(), and LoadU().

◆ SetTableIndices() [2/5]

template<class D , typename TI >
HWY_API VFromD< RebindToUnsigned< D > > hwy::HWY_NAMESPACE::SetTableIndices ( d,
const TI *  idx 
)

References d, IndicesFromVec(), and LoadU().

◆ SetTableIndices() [3/5]

template<typename T , typename TI >
HWY_API Indices256< T > hwy::HWY_NAMESPACE::SetTableIndices ( Full256< T >  d,
const TI *  idx 
)

References d, IndicesFromVec(), and LoadU().

◆ SetTableIndices() [4/5]

template<typename T , size_t N, typename TI , HWY_IF_LE128(T, N) >
HWY_API Indices128< T, N > hwy::HWY_NAMESPACE::SetTableIndices ( Simd< T, N, 0 >  d,
const TI *  idx 
)

References d, IndicesFromVec(), and LoadU().

◆ SetTableIndices() [5/5]

template<typename T , typename TI >
HWY_API Indices1<T> hwy::HWY_NAMESPACE::SetTableIndices ( Sisd< T >  d,
const TI *  idx 
)

References d, IndicesFromVec(), and LoadU().

◆ ShiftLeft() [1/22]

template<int kBits, size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec128< int16_t, N v)

References v.

◆ ShiftLeft() [2/22]

template<int kBits, size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec128< int32_t, N v)

References v.

◆ ShiftLeft() [3/22]

template<int kBits, size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec128< int64_t, N v)

References v.

◆ ShiftLeft() [4/22]

template<int kBits, typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec128< T, N v)

References Set(), and v.

◆ ShiftLeft() [5/22]

template<int kBits, size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec128< uint16_t, N v)

References v.

◆ ShiftLeft() [6/22]

template<int kBits, size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec128< uint32_t, N v)

References v.

◆ ShiftLeft() [7/22]

template<int kBits, size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec128< uint64_t, N v)

References v.

◆ ShiftLeft() [8/22]

template<int kBits, typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec1< T >  v)

References v.

Referenced by PromoteTo(), RotateRight(), and ShiftRight().

◆ ShiftLeft() [9/22]

template<int kBits>
HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< int16_t >  v)

References v.

◆ ShiftLeft() [10/22]

template<int kBits>
HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< int32_t >  v)

References v.

◆ ShiftLeft() [11/22]

template<int kBits>
HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< int64_t >  v)

References v.

◆ ShiftLeft() [12/22]

template<int kBits, typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< T >  v)

References Set(), and v.

◆ ShiftLeft() [13/22]

template<int kBits>
HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< uint16_t >  v)

References v.

◆ ShiftLeft() [14/22]

template<int kBits>
HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< uint32_t >  v)

References v.

◆ ShiftLeft() [15/22]

template<int kBits>
HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< uint64_t >  v)

References v.

◆ ShiftLeft() [16/22]

template<int kBits>
HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< int16_t >  v)

References v.

◆ ShiftLeft() [17/22]

template<int kBits>
HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< int32_t >  v)

References v.

◆ ShiftLeft() [18/22]

template<int kBits>
HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< int64_t >  v)

References v.

◆ ShiftLeft() [19/22]

template<int kBits, typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< T >  v)

References BitCast(), Set(), and v.

◆ ShiftLeft() [20/22]

template<int kBits>
HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< uint16_t >  v)

References v.

◆ ShiftLeft() [21/22]

template<int kBits>
HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< uint32_t >  v)

References v.

◆ ShiftLeft() [22/22]

template<int kBits>
HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< uint64_t >  v)

References v.

◆ ShiftLeftBytes() [1/9]

template<int kBytes, class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::ShiftLeftBytes ( const D  d,
const V  v 
)

References BitCast(), d, and v.

◆ ShiftLeftBytes() [2/9]

template<int kBytes, class V >
HWY_API V hwy::HWY_NAMESPACE::ShiftLeftBytes ( const V  v)

References v.

◆ ShiftLeftBytes() [3/9]

template<int kBytes, typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftLeftBytes ( const Vec128< T, N v)

References v.

◆ ShiftLeftBytes() [4/9]

template<int kBytes, typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ShiftLeftBytes ( const Vec512< T >  v)

References v.

◆ ShiftLeftBytes() [5/9]

template<int kBytes, class D >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::ShiftLeftBytes ( d,
const VFromD< D >  v 
)

References BitCast(), d, and v.

◆ ShiftLeftBytes() [6/9]

template<int kBytes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftBytes ( Full256< T >  ,
Vec256< T >  v 
)

References v.

◆ ShiftLeftBytes() [7/9]

template<int kBytes, typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ShiftLeftBytes ( Full512< T >  ,
const Vec512< T >  v 
)

References v.

◆ ShiftLeftBytes() [8/9]

template<int kBytes, typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftLeftBytes ( Simd< T, N, 0 >  ,
Vec128< T, N v 
)

References N, and v.

Referenced by CombineShiftRightBytes(), and ShiftLeftLanes().

◆ ShiftLeftBytes() [9/9]

template<int kBytes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftBytes ( Vec256< T >  v)

References v.

◆ ShiftLeftLanes() [1/8]

template<size_t kLanes, class V >
HWY_API V hwy::HWY_NAMESPACE::ShiftLeftLanes ( const V  v)

References v.

◆ ShiftLeftLanes() [2/8]

template<int kLanes, typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftLeftLanes ( const Vec128< T, N v)

References v.

◆ ShiftLeftLanes() [3/8]

template<int kLanes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftLanes ( const Vec256< T >  v)

References v.

◆ ShiftLeftLanes() [4/8]

template<int kLanes, typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ShiftLeftLanes ( const Vec512< T >  v)

References v.

◆ ShiftLeftLanes() [5/8]

template<size_t kLanes, class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::ShiftLeftLanes ( d,
const V  v 
)

References d, FirstN(), IfThenElse(), v, and Zero().

◆ ShiftLeftLanes() [6/8]

template<int kLanes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftLanes ( Full256< T >  d,
const Vec256< T >  v 
)

References BitCast(), d, ShiftLeftBytes(), and v.

◆ ShiftLeftLanes() [7/8]

template<int kLanes, typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ShiftLeftLanes ( Full512< T >  d,
const Vec512< T >  v 
)

References BitCast(), d, ShiftLeftBytes(), and v.

◆ ShiftLeftLanes() [8/8]

template<int kLanes, typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftLeftLanes ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

References BitCast(), d, ShiftLeftBytes(), and v.

◆ ShiftLeftSame() [1/23]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< int16_t, N v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [2/23]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< int32_t, N v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [3/23]

template<size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< int64_t, N v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [4/23]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< T, N v,
const int  bits 
)

References Set(), ShiftLeftSame(), and v.

◆ ShiftLeftSame() [5/23]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< T, N v,
int  bits 
)

◆ ShiftLeftSame() [6/23]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< uint16_t, N v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [7/23]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< uint32_t, N v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [8/23]

template<size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< uint64_t, N v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [9/23]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec1< T >  v,
int  bits 
)

References v.

◆ ShiftLeftSame() [10/23]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< int16_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [11/23]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< int32_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [12/23]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< int64_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [13/23]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< T >  v,
const int  bits 
)

References Set(), ShiftLeftSame(), and v.

◆ ShiftLeftSame() [14/23]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< uint16_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [15/23]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< uint32_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [16/23]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< uint64_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [17/23]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< int16_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [18/23]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< int32_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [19/23]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< int64_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [20/23]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< T >  v,
const int  bits 
)

References BitCast(), Set(), ShiftLeftSame(), and v.

◆ ShiftLeftSame() [21/23]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< uint16_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [22/23]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< uint32_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [23/23]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< uint64_t >  v,
const int  bits 
)

References v.

◆ ShiftRight() [1/25]

template<int kBits, size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::ShiftRight ( const Vec128< int16_t, N v)

References v.

◆ ShiftRight() [2/25]

template<int kBits, size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::ShiftRight ( const Vec128< int32_t, N v)

References v.

◆ ShiftRight() [3/25]

template<int kBits, size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::ShiftRight ( const Vec128< int64_t, N v)

References v.

◆ ShiftRight() [4/25]

template<int kBits, size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::ShiftRight ( const Vec128< int8_t, N v)

References BitCast(), Set(), and v.

◆ ShiftRight() [5/25]

template<int kBits, size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::ShiftRight ( const Vec128< uint16_t, N v)

References v.

◆ ShiftRight() [6/25]

template<int kBits, size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::ShiftRight ( const Vec128< uint32_t, N v)

References v.

◆ ShiftRight() [7/25]

template<int kBits, size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::ShiftRight ( const Vec128< uint64_t, N v)

References v.

◆ ShiftRight() [8/25]

template<int kBits, size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::ShiftRight ( const Vec128< uint8_t, N v)

References Set(), and v.

◆ ShiftRight() [9/25]

template<int kBits, typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::ShiftRight ( const Vec1< T >  v)

References BitCast(), BroadcastSignBit(), and v.

Referenced by BroadcastSignBit().

◆ ShiftRight() [10/25]

template<int kBits>
HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< int16_t >  v)

References v.

◆ ShiftRight() [11/25]

template<int kBits>
HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< int32_t >  v)

References v.

◆ ShiftRight() [12/25]

template<int kBits>
HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< int64_t >  v)

◆ ShiftRight() [13/25]

template<int kBits>
HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< int8_t >  v)

References BitCast(), Set(), and v.

◆ ShiftRight() [14/25]

template<int kBits>
HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< uint16_t >  v)

References v.

◆ ShiftRight() [15/25]

template<int kBits>
HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< uint32_t >  v)

References v.

◆ ShiftRight() [16/25]

template<int kBits>
HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< uint64_t >  v)

References v.

◆ ShiftRight() [17/25]

template<int kBits>
HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< uint8_t >  v)

References Set(), and v.

◆ ShiftRight() [18/25]

template<int kBits>
HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< int16_t >  v)

References v.

◆ ShiftRight() [19/25]

template<int kBits>
HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< int32_t >  v)

References v.

◆ ShiftRight() [20/25]

template<int kBits>
HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< int64_t >  v)

References v.

◆ ShiftRight() [21/25]

template<int kBits>
HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< int8_t >  v)

References BitCast(), Set(), and v.

◆ ShiftRight() [22/25]

template<int kBits>
HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< uint16_t >  v)

References v.

◆ ShiftRight() [23/25]

template<int kBits>
HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< uint32_t >  v)

References v.

◆ ShiftRight() [24/25]

template<int kBits>
HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< uint64_t >  v)

References v.

◆ ShiftRight() [25/25]

template<int kBits>
HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< uint8_t >  v)

References Set(), and v.

◆ ShiftRightBytes() [1/4]

template<int kBytes, class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::ShiftRightBytes ( const D  d,
const V  v 
)

References BitCast(), d, and v.

◆ ShiftRightBytes() [2/4]

template<int kBytes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftRightBytes ( Full256< T >  ,
Vec256< T >  v 
)

References v.

◆ ShiftRightBytes() [3/4]

template<int kBytes, typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ShiftRightBytes ( Full512< T >  ,
const Vec512< T >  v 
)

References v.

◆ ShiftRightBytes() [4/4]

template<int kBytes, typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftRightBytes ( Simd< T, N, 0 >  ,
Vec128< T, N v 
)

References N, and v.

Referenced by ShiftRightLanes(), and UpperHalf().

◆ ShiftRightLanes() [1/5]

template<size_t kLanes, typename T , size_t N, int kPow2, class V = VFromD<Simd<T, N, kPow2>>>
HWY_API V hwy::HWY_NAMESPACE::ShiftRightLanes ( const Simd< T, N, kPow2 >  d,
v 
)

◆ ShiftRightLanes() [2/5]

template<size_t kLanes, class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::ShiftRightLanes ( d,
v 
)

◆ ShiftRightLanes() [3/5]

template<int kLanes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftRightLanes ( Full256< T >  d,
const Vec256< T >  v 
)

References BitCast(), d, ShiftRightBytes(), and v.

◆ ShiftRightLanes() [4/5]

template<int kLanes, typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ShiftRightLanes ( Full512< T >  d,
const Vec512< T >  v 
)

References BitCast(), d, ShiftRightBytes(), and v.

◆ ShiftRightLanes() [5/5]

template<int kLanes, typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftRightLanes ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

References BitCast(), d, ShiftRightBytes(), and v.

◆ ShiftRightSame() [1/26]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec128< int16_t, N v,
const int  bits 
)

References v.

◆ ShiftRightSame() [2/26]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec128< int32_t, N v,
const int  bits 
)

References v.

◆ ShiftRightSame() [3/26]

template<size_t N>
HWY_API Vec128< int64_t, N > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec128< int64_t, N v,
const int  bits 
)

References v.

◆ ShiftRightSame() [4/26]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec128< T, N v,
int  bits 
)

References Set(), and v.

Referenced by operator>>(), and ShiftRightSame().

◆ ShiftRightSame() [5/26]

template<size_t N>
HWY_API Vec128< uint16_t, N > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec128< uint16_t, N v,
const int  bits 
)

References v.

◆ ShiftRightSame() [6/26]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec128< uint32_t, N v,
const int  bits 
)

References v.

◆ ShiftRightSame() [7/26]

template<size_t N>
HWY_API Vec128< uint64_t, N > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec128< uint64_t, N v,
const int  bits 
)

References v.

◆ ShiftRightSame() [8/26]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec1< T >  v,
int  bits 
)

References BitCast(), BroadcastSignBit(), and v.

◆ ShiftRightSame() [9/26]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< int16_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [10/26]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< int32_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [11/26]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< int64_t >  v,
const int  bits 
)

◆ ShiftRightSame() [12/26]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< uint16_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [13/26]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< uint32_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [14/26]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< uint64_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [15/26]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< int16_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [16/26]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< int32_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [17/26]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< int64_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [18/26]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< uint16_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [19/26]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< uint32_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [20/26]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< uint64_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [21/26]

template<size_t N>
HWY_API Vec128< int8_t, N > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec128< int8_t, N v,
const int  bits 
)

References BitCast(), Set(), ShiftRightSame(), and v.

◆ ShiftRightSame() [22/26]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec128< uint8_t, N v,
const int  bits 
)

References Set(), ShiftRightSame(), and v.

◆ ShiftRightSame() [23/26]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec256< int8_t >  v,
const int  bits 
)

References BitCast(), Set(), ShiftRightSame(), and v.

◆ ShiftRightSame() [24/26]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec256< uint8_t >  v,
const int  bits 
)

References Set(), ShiftRightSame(), and v.

◆ ShiftRightSame() [25/26]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::ShiftRightSame ( Vec512< int8_t >  v,
const int  bits 
)

References BitCast(), Set(), ShiftRightSame(), and v.

◆ ShiftRightSame() [26/26]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::ShiftRightSame ( Vec512< uint8_t >  v,
const int  bits 
)

References BitCast(), Set(), ShiftRightSame(), and v.

◆ Shl()

template<class V >
V hwy::HWY_NAMESPACE::Shl ( a,
b 
)

Referenced by LoadMaskBits().

◆ Shr()

template<class V >
V hwy::HWY_NAMESPACE::Shr ( a,
b 
)

◆ Shuffle01() [1/11]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Shuffle01 ( const V  v)

References BitCast(), d, and v.

◆ Shuffle01() [2/11]

HWY_API Vec128<double> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec128< double >  v)

References v.

◆ Shuffle01() [3/11]

HWY_API Vec128<int64_t> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec128< int64_t >  v)

References v.

◆ Shuffle01() [4/11]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle01 ( const Vec128< T >  v)

◆ Shuffle01() [5/11]

HWY_API Vec128<uint64_t> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec128< uint64_t >  v)

References v.

◆ Shuffle01() [6/11]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec256< double >  v)

References v.

◆ Shuffle01() [7/11]

HWY_API Vec256<int64_t> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec256< int64_t >  v)

References v.

◆ Shuffle01() [8/11]

HWY_API Vec256<uint64_t> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec256< uint64_t >  v)

References v.

◆ Shuffle01() [9/11]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec512< double >  v)

References v.

◆ Shuffle01() [10/11]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec512< int64_t >  v)

References v.

◆ Shuffle01() [11/11]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::Shuffle01 ( const Vec512< uint64_t >  v)

References v.

◆ Shuffle0123() [1/11]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Shuffle0123 ( const V  v)

References Shuffle1032(), Shuffle2301(), and v.

◆ Shuffle0123() [2/11]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec128< float >  v)

References v.

◆ Shuffle0123() [3/11]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec128< int32_t >  v)

References v.

◆ Shuffle0123() [4/11]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec128< T >  v)

References Shuffle1032(), Shuffle2301(), and v.

Referenced by Reverse4(), and Reverse8().

◆ Shuffle0123() [5/11]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle0123() [6/11]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec256< float >  v)

References v.

◆ Shuffle0123() [7/11]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec256< int32_t >  v)

References v.

◆ Shuffle0123() [8/11]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec256< uint32_t >  v)

References v.

◆ Shuffle0123() [9/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec512< float >  v)

References v.

◆ Shuffle0123() [10/11]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec512< int32_t >  v)

References v.

◆ Shuffle0123() [11/11]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec512< uint32_t >  v)

References v.

◆ Shuffle0321() [1/11]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Shuffle0321 ( const V  v)

References BitCast(), d, and v.

◆ Shuffle0321() [2/11]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec128< float >  v)

References v.

◆ Shuffle0321() [3/11]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec128< int32_t >  v)

References v.

◆ Shuffle0321() [4/11]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec128< T >  v)

◆ Shuffle0321() [5/11]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle0321() [6/11]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec256< float >  v)

References v.

◆ Shuffle0321() [7/11]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec256< int32_t >  v)

References v.

◆ Shuffle0321() [8/11]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec256< uint32_t >  v)

References v.

◆ Shuffle0321() [9/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec512< float >  v)

References v.

◆ Shuffle0321() [10/11]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec512< int32_t >  v)

References v.

◆ Shuffle0321() [11/11]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec512< uint32_t >  v)

References v.

◆ Shuffle1032() [1/11]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Shuffle1032 ( const V  v)

References BitCast(), d, and v.

◆ Shuffle1032() [2/11]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec128< float >  v)

References v.

◆ Shuffle1032() [3/11]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec128< int32_t >  v)

References v.

◆ Shuffle1032() [4/11]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec128< T >  v)

◆ Shuffle1032() [5/11]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle1032() [6/11]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec256< float >  v)

References v.

◆ Shuffle1032() [7/11]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec256< int32_t >  v)

References v.

◆ Shuffle1032() [8/11]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec256< uint32_t >  v)

References v.

◆ Shuffle1032() [9/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec512< float >  v)

References v.

◆ Shuffle1032() [10/11]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec512< int32_t >  v)

References v.

◆ Shuffle1032() [11/11]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec512< uint32_t >  v)

References v.

◆ Shuffle2103() [1/11]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Shuffle2103 ( const V  v)

References BitCast(), d, and v.

◆ Shuffle2103() [2/11]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec128< float >  v)

References v.

◆ Shuffle2103() [3/11]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec128< int32_t >  v)

References v.

◆ Shuffle2103() [4/11]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec128< T >  v)

References v.

◆ Shuffle2103() [5/11]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle2103() [6/11]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec256< float >  v)

References v.

◆ Shuffle2103() [7/11]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec256< int32_t >  v)

References v.

◆ Shuffle2103() [8/11]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec256< uint32_t >  v)

References v.

◆ Shuffle2103() [9/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec512< float >  v)

References v.

◆ Shuffle2103() [10/11]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec512< int32_t >  v)

References v.

◆ Shuffle2103() [11/11]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec512< uint32_t >  v)

References v.

◆ Shuffle2301() [1/17]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Shuffle2301 ( const V  v)

References d, Reverse2(), and v.

◆ Shuffle2301() [2/17]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec128< float >  v)

References v.

◆ Shuffle2301() [3/17]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec128< float, N v)

References N, and v.

◆ Shuffle2301() [4/17]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec128< int32_t >  v)

References v.

◆ Shuffle2301() [5/17]

template<size_t N>
HWY_API Vec128<int32_t, N> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec128< int32_t, N v)

References N, and v.

◆ Shuffle2301() [6/17]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec128< T, N v)

References N, and v.

◆ Shuffle2301() [7/17]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle2301() [8/17]

template<size_t N>
HWY_API Vec128<uint32_t, N> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec128< uint32_t, N v)

References N, and v.

◆ Shuffle2301() [9/17]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec256< float >  v)

References v.

◆ Shuffle2301() [10/17]

HWY_API Vec256<int32_t> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec256< int32_t >  v)

References v.

◆ Shuffle2301() [11/17]

HWY_API Vec256<uint32_t> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec256< uint32_t >  v)

References v.

◆ Shuffle2301() [12/17]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec512< float >  v)

References v.

◆ Shuffle2301() [13/17]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec512< int32_t >  v)

References v.

◆ Shuffle2301() [14/17]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec512< uint32_t >  v)

References v.

◆ Shuffle2301() [15/17]

HWY_API Vec64<float> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec64< float >  v)

References v.

◆ Shuffle2301() [16/17]

HWY_API Vec64<int32_t> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec64< int32_t >  v)

References v.

◆ Shuffle2301() [17/17]

HWY_API Vec64<uint32_t> hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec64< uint32_t >  v)

◆ SignBit()

template<class D >
HWY_API Vec<D> hwy::HWY_NAMESPACE::SignBit ( d)

References BitCast(), d, and Set().

Referenced by Acos(), Asin(), Asinh(), Atan(), Atanh(), CopySign(), CopySignToAbs(), Neg(), Sinh(), and Tanh().

◆ Sin()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Sin ( const D  d,
x 
)

Highway SIMD version of std::sin(x).

Valid Lane Types: float32, float64 Max Error: ULP = 3 Valid Range: [-39000, +39000]

Returns
sine of 'x'

References Abs(), d, MulAdd(), Set(), Xor(), and Zero().

Referenced by CallSin().

◆ Sinh()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Sinh ( const D  d,
x 
)

Highway SIMD version of std::sinh(x).

Valid Lane Types: float32, float64 Max Error: ULP = 4 Valid Range: float32[-88.7228, +88.7228], float64[-709, +709]

Returns
hyperbolic sine of 'x'

References Add(), And(), d, Div(), Expm1(), Mul(), Set(), SignBit(), and Xor().

Referenced by CallSinh().

◆ Sort()

template<class D , class Traits , typename T >
void hwy::HWY_NAMESPACE::Sort ( d,
Traits  st,
T *HWY_RESTRICT  keys,
size_t  num,
T *HWY_RESTRICT  buf 
)

◆ Sqrt() [1/10]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Sqrt ( const Vec128< double, N v)

References v.

◆ Sqrt() [2/10]

HWY_API Vec128<float, 1> hwy::HWY_NAMESPACE::Sqrt ( const Vec128< float, 1 >  v)

References v.

◆ Sqrt() [3/10]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Sqrt ( const Vec128< float, N v)

◆ Sqrt() [4/10]

HWY_API Vec1<double> hwy::HWY_NAMESPACE::Sqrt ( const Vec1< double >  v)

References v.

◆ Sqrt() [5/10]

HWY_API Vec1<float> hwy::HWY_NAMESPACE::Sqrt ( const Vec1< float >  v)

References v.

◆ Sqrt() [6/10]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Sqrt ( const Vec256< double >  v)

References v.

◆ Sqrt() [7/10]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Sqrt ( const Vec256< float >  v)

References v.

◆ Sqrt() [8/10]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Sqrt ( const Vec512< double >  v)

References v.

◆ Sqrt() [9/10]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Sqrt ( const Vec512< float >  v)

References v.

◆ Sqrt() [10/10]

HWY_API Vec64<double> hwy::HWY_NAMESPACE::Sqrt ( const Vec64< double >  v)

References v.

◆ Store() [1/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec128< double >  v,
Full128< double >  ,
double *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [2/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec128< float >  v,
Full128< float >  ,
float *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [3/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec128< float, 1 >  v,
Full32< float >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ Store() [4/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec128< float, 1 >  v,
Simd< float, 1, 0 >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ Store() [5/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec128< float, 2 >  v,
Full64< float >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ Store() [6/19]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec1< T >  v,
Sisd< T >  ,
T *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [7/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec256< double >  v,
Full256< double >  ,
double *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [8/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec256< float >  v,
Full256< float >  ,
float *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [9/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec512< double >  v,
Full512< double >  ,
double *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [10/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec512< float >  v,
Full512< float >  ,
float *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [11/19]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec512< T >  v,
Full512< T >  ,
T *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [12/19]

HWY_API void hwy::HWY_NAMESPACE::Store ( const Vec64< double >  v,
Full64< double >  ,
double *HWY_RESTRICT  p 
)

References v.

◆ Store() [13/19]

template<size_t N, int kPow2>
HWY_API void hwy::HWY_NAMESPACE::Store ( svuint16_t  v,
Simd< bfloat16_t, N, kPow2 >  d,
bfloat16_t *HWY_RESTRICT  p 
)

References d, HWY_RESTRICT, Store(), and v.

◆ Store() [14/19]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Store ( Vec128< T >  v,
Full128< T >  ,
T *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [15/19]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::Store ( Vec128< T, N v,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  aligned 
)

◆ Store() [16/19]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API void hwy::HWY_NAMESPACE::Store ( Vec128< T, N v,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  p 
)

References v.

◆ Store() [17/19]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Store ( Vec256< T >  v,
Full256< T >  ,
T *HWY_RESTRICT  aligned 
)

References v.

◆ Store() [18/19]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Store ( Vec64< T >  v,
Full64< T >  ,
T *HWY_RESTRICT  p 
)

References v.

◆ Store() [19/19]

template<size_t N, int kPow2>
HWY_API void hwy::HWY_NAMESPACE::Store ( VFromD< Simd< uint16_t, N, kPow2 >>  v,
Simd< bfloat16_t, N, kPow2 >  d,
bfloat16_t *HWY_RESTRICT  p 
)

References d, HWY_RESTRICT, Store(), and v.

◆ StoreInterleaved3() [1/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec128< uint8_t >  v0,
const Vec128< uint8_t >  v1,
const Vec128< uint8_t >  v2,
Full128< uint8_t >  d,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [2/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec128< uint8_t, 8 >  a,
const Vec128< uint8_t, 8 >  b,
const Vec128< uint8_t, 8 >  c,
Full64< uint8_t >  d,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [3/7]

template<size_t N, HWY_IF_LE32(uint8_t, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec128< uint8_t, N v0,
const Vec128< uint8_t, N v1,
const Vec128< uint8_t, N v2,
Simd< uint8_t, N, 0 >  ,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [4/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec1< uint8_t >  v0,
const Vec1< uint8_t >  v1,
const Vec1< uint8_t >  v2,
Sisd< uint8_t >  d,
uint8_t *HWY_RESTRICT  unaligned 
)

References d, and StoreU().

◆ StoreInterleaved3() [5/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec256< uint8_t >  a,
const Vec256< uint8_t >  b,
const Vec256< uint8_t >  c,
Full256< uint8_t >  d,
uint8_t *HWY_RESTRICT  unaligned 
)

References d, Load(), Set(), StoreU(), and TableLookupBytes().

◆ StoreInterleaved3() [6/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec512< uint8_t >  a,
const Vec512< uint8_t >  b,
const Vec512< uint8_t >  c,
Full512< uint8_t >  d,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [7/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec64< uint8_t >  v0,
const Vec64< uint8_t >  v1,
const Vec64< uint8_t >  v2,
Full64< uint8_t >  d,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [1/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec128< uint8_t >  v0,
const Vec128< uint8_t >  v1,
const Vec128< uint8_t >  v2,
const Vec128< uint8_t >  v3,
Full128< uint8_t >  d8,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [2/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec128< uint8_t, 8 >  in0,
const Vec128< uint8_t, 8 >  in1,
const Vec128< uint8_t, 8 >  in2,
const Vec128< uint8_t, 8 >  in3,
Full64< uint8_t >  ,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [3/7]

template<size_t N, HWY_IF_LE32(uint8_t, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec128< uint8_t, N v0,
const Vec128< uint8_t, N v1,
const Vec128< uint8_t, N v2,
const Vec128< uint8_t, N v3,
Simd< uint8_t, N, 0 >  ,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [4/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec1< uint8_t >  v0,
const Vec1< uint8_t >  v1,
const Vec1< uint8_t >  v2,
const Vec1< uint8_t >  v3,
Sisd< uint8_t >  d,
uint8_t *HWY_RESTRICT  unaligned 
)

References d, and StoreU().

◆ StoreInterleaved4() [5/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec256< uint8_t >  v0,
const Vec256< uint8_t >  v1,
const Vec256< uint8_t >  v2,
const Vec256< uint8_t >  v3,
Full256< uint8_t >  d8,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [6/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec512< uint8_t >  v0,
const Vec512< uint8_t >  v1,
const Vec512< uint8_t >  v2,
const Vec512< uint8_t >  v3,
Full512< uint8_t >  d8,
uint8_t *HWY_RESTRICT  unaligned 
)

References StoreU(), ZipLower(), and ZipUpper().

◆ StoreInterleaved4() [7/7]

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec64< uint8_t >  v0,
const Vec64< uint8_t >  v1,
const Vec64< uint8_t >  v2,
const Vec64< uint8_t >  v3,
Full64< uint8_t >  ,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreMaskBits() [1/5]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( const Full256< T >  ,
const Mask256< T >  mask,
uint8_t *  bits 
)

◆ StoreMaskBits() [2/5]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( const Full512< T >  ,
const Mask512< T >  mask,
uint8_t *  bits 
)

◆ StoreMaskBits() [3/5]

template<class D >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( d,
svbool_t  m,
uint8_t *  bits 
)

◆ StoreMaskBits() [4/5]

template<typename T , size_t N>
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( Simd< T, N, 0 >  ,
const Mask128< T, N mask,
uint8_t *  bits 
)

◆ StoreMaskBits() [5/5]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( Sisd< T >  d,
const Mask1< T >  mask,
uint8_t *  bits 
)

References AllTrue(), and d.

◆ StoreU() [1/45]

template<class V , class D >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( const V  v,
d,
TFromD< D > *HWY_RESTRICT  p 
)

References d, Store(), and v.

◆ StoreU() [2/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< double >  v,
Full128< double >  ,
double *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [3/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< float >  v,
Full128< float >  ,
float *HWY_RESTRICT  unaligned 
)

References v.

◆ StoreU() [4/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int16_t >  v,
Full128< int16_t >  ,
int16_t *HWY_RESTRICT  unaligned 
)

References v.

◆ StoreU() [5/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int16_t, 1 >  v,
Simd< int16_t, 1, 0 >  ,
int16_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [6/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int32_t >  v,
Full128< int32_t >  ,
int32_t *HWY_RESTRICT  unaligned 
)

References v.

◆ StoreU() [7/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int64_t >  v,
Full128< int64_t >  ,
int64_t *HWY_RESTRICT  unaligned 
)

References v.

◆ StoreU() [8/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int8_t >  v,
Full128< int8_t >  ,
int8_t *HWY_RESTRICT  unaligned 
)

References v.

◆ StoreU() [9/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int8_t, 1 >  v,
Simd< int8_t, 1, 0 >  ,
int8_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [10/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int8_t, 2 >  v,
Simd< int8_t, 2, 0 >  ,
int8_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [11/45]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< T, N v,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  p 
)

References d, Store(), and v.

◆ StoreU() [12/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint16_t >  v,
Full128< uint16_t >  ,
uint16_t *HWY_RESTRICT  unaligned 
)

References v.

◆ StoreU() [13/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint16_t, 1 >  v,
Simd< uint16_t, 1, 0 >  ,
uint16_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [14/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint32_t >  v,
Full128< uint32_t >  ,
uint32_t *HWY_RESTRICT  unaligned 
)

References v.

◆ StoreU() [15/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint64_t >  v,
Full128< uint64_t >  ,
uint64_t *HWY_RESTRICT  unaligned 
)

References v.

◆ StoreU() [16/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint8_t >  v,
Full128< uint8_t >  ,
uint8_t *HWY_RESTRICT  unaligned 
)

◆ StoreU() [17/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint8_t, 1 >  v,
Simd< uint8_t, 1, 0 >  ,
uint8_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [18/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint8_t, 2 >  v,
Simd< uint8_t, 2, 0 >  ,
uint8_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [19/45]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec1< T >  v,
Sisd< T >  d,
T *HWY_RESTRICT  p 
)

References d, Store(), and v.

◆ StoreU() [20/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec256< double >  v,
Full256< double >  ,
double *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [21/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec256< float >  v,
Full256< float >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [22/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< float >  v,
Full32< float >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [23/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< int16_t >  v,
Full32< int16_t >  ,
int16_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [24/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< int32_t >  v,
Full32< int32_t >  ,
int32_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [25/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< int8_t >  v,
Full32< int8_t >  ,
int8_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [26/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< uint16_t >  v,
Full32< uint16_t >  ,
uint16_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [27/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< uint32_t >  v,
Full32< uint32_t >  ,
uint32_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [28/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< uint8_t >  v,
Full32< uint8_t >  ,
uint8_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [29/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec512< double >  v,
Full512< double >  ,
double *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [30/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec512< float >  v,
Full512< float >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [31/45]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec512< T >  v,
Full512< T >  ,
T *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [32/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< float >  v,
Full64< float >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [33/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< int16_t >  v,
Full64< int16_t >  ,
int16_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [34/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< int32_t >  v,
Full64< int32_t >  ,
int32_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [35/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< int64_t >  v,
Full64< int64_t >  ,
int64_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [36/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< int8_t >  v,
Full64< int8_t >  ,
int8_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [37/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< uint16_t >  v,
Full64< uint16_t >  ,
uint16_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [38/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< uint32_t >  v,
Full64< uint32_t >  ,
uint32_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [39/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< uint64_t >  v,
Full64< uint64_t >  ,
uint64_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [40/45]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< uint8_t >  v,
Full64< uint8_t >  ,
uint8_t *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [41/45]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::StoreU ( Vec128< bfloat16_t, N v,
Simd< bfloat16_t, N, 0 >  d,
bfloat16_t *HWY_RESTRICT  p 
)

References d, StoreU(), and v.

◆ StoreU() [42/45]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::StoreU ( Vec128< float16_t, N v,
Simd< float16_t, N, 0 >  d,
float16_t *HWY_RESTRICT  p 
)

References d, StoreU(), and v.

◆ StoreU() [43/45]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( Vec128< T >  v,
Full128< T >  ,
T *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [44/45]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::StoreU ( Vec128< T, N v,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  p 
)

References d, Store(), and v.

◆ StoreU() [45/45]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( Vec256< T >  v,
Full256< T >  d,
T *HWY_RESTRICT  p 
)

References d, Store(), and v.

◆ Stream() [1/11]

template<class V , class D , typename T >
HWY_API void hwy::HWY_NAMESPACE::Stream ( const V  v,
d,
T *HWY_RESTRICT  aligned 
)

References d, Store(), and v.

◆ Stream() [2/11]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec128< double, N v,
Simd< double, N, 0 >  ,
double *HWY_RESTRICT  aligned 
)

References v.

◆ Stream() [3/11]

template<size_t N>
HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec128< float, N v,
Simd< float, N, 0 >  ,
float *HWY_RESTRICT  aligned 
)

References v.

◆ Stream() [4/11]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec128< T, N v,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  aligned 
)

References d, Store(), and v.

◆ Stream() [5/11]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec1< T >  v,
Sisd< T >  d,
T *HWY_RESTRICT  aligned 
)

References d, Store(), and v.

◆ Stream() [6/11]

HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec256< double >  v,
Full256< double >  ,
double *HWY_RESTRICT  aligned 
)

References v.

◆ Stream() [7/11]

HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec256< float >  v,
Full256< float >  ,
float *HWY_RESTRICT  aligned 
)

References v.

◆ Stream() [8/11]

HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec512< double >  v,
Full512< double >  ,
double *HWY_RESTRICT  aligned 
)

References v.

◆ Stream() [9/11]

HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec512< float >  v,
Full512< float >  ,
float *HWY_RESTRICT  aligned 
)

References v.

◆ Stream() [10/11]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Stream ( const Vec512< T >  v,
Full512< T >  ,
T *HWY_RESTRICT  aligned 
)

References v.

◆ Stream() [11/11]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Stream ( Vec256< T >  v,
Full256< T >  ,
T *HWY_RESTRICT  aligned 
)

References v.

◆ Sub()

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Sub ( a,
b 
)

◆ SumOfLanes() [1/10]

template<class D >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::SumOfLanes ( d,
const VFromD< D >  v 
)

References d, v, and Zero().

◆ SumOfLanes() [2/10]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::SumOfLanes ( Full256< T >  d,
const Vec256< T >  v 
)

◆ SumOfLanes() [3/10]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::SumOfLanes ( Full512< double >  d,
Vec512< double >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [4/10]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::SumOfLanes ( Full512< float >  d,
Vec512< float >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [5/10]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::SumOfLanes ( Full512< int32_t >  d,
Vec512< int32_t >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [6/10]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::SumOfLanes ( Full512< int64_t >  d,
Vec512< int64_t >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [7/10]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::SumOfLanes ( Full512< uint32_t >  d,
Vec512< uint32_t >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [8/10]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::SumOfLanes ( Full512< uint64_t >  d,
Vec512< uint64_t >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [9/10]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::SumOfLanes ( Simd< T, N, 0 >  ,
const Vec128< T, N v 
)

◆ SumOfLanes() [10/10]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::SumOfLanes ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ SumsOf8() [1/8]

HWY_API svuint64_t hwy::HWY_NAMESPACE::SumsOf8 ( const svuint8_t  v)

References Add(), BitCast(), v, and Zero().

◆ SumsOf8() [2/8]

HWY_API Vec128<uint64_t> hwy::HWY_NAMESPACE::SumsOf8 ( const Vec128< uint8_t >  v)

References v.

◆ SumsOf8() [3/8]

template<size_t N>
HWY_API Vec128< uint64_t, N/8 > hwy::HWY_NAMESPACE::SumsOf8 ( const Vec128< uint8_t, N v)

References Add(), And(), BitCast(), Set(), and v.

◆ SumsOf8() [4/8]

HWY_API Vec1<uint64_t> hwy::HWY_NAMESPACE::SumsOf8 ( const Vec1< uint8_t >  v)

References v.

◆ SumsOf8() [5/8]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::SumsOf8 ( const Vec256< uint8_t >  v)

References HWY_ABORT.

◆ SumsOf8() [6/8]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::SumsOf8 ( const Vec512< uint8_t >  v)

References v.

◆ SumsOf8() [7/8]

HWY_API Vec64<uint64_t> hwy::HWY_NAMESPACE::SumsOf8 ( const Vec64< uint8_t >  v)

References v.

◆ SumsOf8() [8/8]

template<class VU8 >
HWY_API VFromD<Repartition<uint64_t, DFromV<VU8> > > hwy::HWY_NAMESPACE::SumsOf8 ( const VU8  v)

References Add(), BitCast(), and v.

◆ SwapAdjacentBlocks() [1/9]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( const V  v)

◆ SwapAdjacentBlocks() [2/9]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec128< T, N v)

◆ SwapAdjacentBlocks() [3/9]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec1< T >  v)

References v.

◆ SwapAdjacentBlocks() [4/9]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec256< double >  v)

References v.

◆ SwapAdjacentBlocks() [5/9]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec256< float >  v)

References BitCast(), and v.

◆ SwapAdjacentBlocks() [6/9]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec256< T >  v)

References v.

◆ SwapAdjacentBlocks() [7/9]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec512< double >  v)

References v.

◆ SwapAdjacentBlocks() [8/9]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec512< float >  v)

References v.

◆ SwapAdjacentBlocks() [9/9]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec512< T >  v)

References v.

◆ TableLookupBytes() [1/16]

template<class V , class VI >
HWY_API VI hwy::HWY_NAMESPACE::TableLookupBytes ( const V  v,
const VI  idx 
)

◆ TableLookupBytes() [2/16]

template<typename T , typename TI >
HWY_API Vec128<TI> hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec128< T >  bytes,
const Vec128< TI >  from 
)

◆ TableLookupBytes() [3/16]

template<typename T , typename TI , size_t NI, HWY_IF_LE64(TI, NI) >
HWY_API Vec128<TI, NI> hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec128< T >  bytes,
const Vec128< TI, NI >  from 
)

◆ TableLookupBytes() [4/16]

template<typename T , size_t N, typename TI , HWY_IF_LE64(T, N) >
HWY_API Vec128<TI> hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec128< T, N bytes,
const Vec128< TI >  from 
)

References Combine(), and TableLookupBytes().

◆ TableLookupBytes() [5/16]

template<typename T , size_t N, typename TI , size_t NI>
HWY_API Vec128< TI, NI > hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec128< T, N bytes,
const Vec128< TI, NI >  from 
)

◆ TableLookupBytes() [6/16]

template<typename T , size_t N, typename TI >
HWY_API Vec256<TI> hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec128< T, N bytes,
const Vec256< TI >  from 
)

◆ TableLookupBytes() [7/16]

template<typename T , typename TI >
HWY_API Vec1<TI> hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec1< T >  in,
const Vec1< TI >  indices 
)

◆ TableLookupBytes() [8/16]

template<typename T , typename TI , size_t NI>
HWY_API Vec128<TI, NI> hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec256< T >  bytes,
const Vec128< TI, NI >  from 
)

◆ TableLookupBytes() [9/16]

template<typename T , typename TI >
HWY_API Vec256< TI > hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec256< T >  bytes,
const Vec256< TI >  from 
)

◆ TableLookupBytes() [10/16]

template<class VT , class VI >
HWY_API VI hwy::HWY_NAMESPACE::TableLookupBytes ( const VT  vt,
const VI  vi 
)

◆ TableLookupBytes() [11/16]

template<typename T , size_t N, typename TI , size_t NI, HWY_IF_LE64(T, N) , HWY_IF_LE64(TI, NI) >
HWY_API VFromD<Repartition<T, Simd<TI, NI, 0> > > hwy::HWY_NAMESPACE::TableLookupBytes ( Vec128< T, N bytes,
Vec128< TI, NI >  from 
)

References BitCast(), and d.

◆ TableLookupBytes() [12/16]

template<typename T , size_t N, typename TI >
HWY_API Vec512<TI> hwy::HWY_NAMESPACE::TableLookupBytes ( Vec128< T, N bytes,
Vec512< TI >  from 
)

◆ TableLookupBytes() [13/16]

template<typename T , typename TI >
HWY_API Vec512<TI> hwy::HWY_NAMESPACE::TableLookupBytes ( Vec256< T >  bytes,
Vec512< TI >  from 
)

◆ TableLookupBytes() [14/16]

template<typename T , typename TI , size_t NI>
HWY_API Vec128<TI, NI> hwy::HWY_NAMESPACE::TableLookupBytes ( Vec512< T >  bytes,
Vec128< TI, NI >  from 
)

◆ TableLookupBytes() [15/16]

template<typename T , typename TI >
HWY_API Vec256<TI> hwy::HWY_NAMESPACE::TableLookupBytes ( Vec512< T >  bytes,
Vec256< TI >  from 
)

◆ TableLookupBytes() [16/16]

template<typename T , typename TI >
HWY_API Vec512<TI> hwy::HWY_NAMESPACE::TableLookupBytes ( Vec512< T >  bytes,
Vec512< TI >  indices 
)

◆ TableLookupBytesOr0() [1/5]

template<class V , class VI >
HWY_API VI hwy::HWY_NAMESPACE::TableLookupBytesOr0 ( const V  bytes,
const VI  from 
)

References TableLookupBytes().

◆ TableLookupBytesOr0() [2/5]

template<typename T , size_t N, typename TI , size_t NI>
HWY_API Vec128<TI, NI> hwy::HWY_NAMESPACE::TableLookupBytesOr0 ( const Vec128< T, N bytes,
const Vec128< TI, NI >  from 
)

◆ TableLookupBytesOr0() [3/5]

template<typename T , typename TI >
HWY_API Vec1<TI> hwy::HWY_NAMESPACE::TableLookupBytesOr0 ( const Vec1< T >  in,
const Vec1< TI >  indices 
)

◆ TableLookupBytesOr0() [4/5]

template<typename T , typename TI >
HWY_API Vec256<TI> hwy::HWY_NAMESPACE::TableLookupBytesOr0 ( const Vec256< T >  bytes,
const Vec256< TI >  from 
)

◆ TableLookupBytesOr0() [5/5]

template<class VT , class VI >
HWY_API VI hwy::HWY_NAMESPACE::TableLookupBytesOr0 ( const VT  vt,
const VI  idx 
)

◆ TableLookupLanes() [1/14]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::TableLookupLanes ( const Vec1< T >  v,
const Indices1< T >   
)

References v.

◆ TableLookupLanes() [2/14]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::TableLookupLanes ( const Vec256< double >  v,
const Indices256< double >  idx 
)

References BitCast(), and v.

◆ TableLookupLanes() [3/14]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::TableLookupLanes ( const Vec256< float >  v,
const Indices256< float >  idx 
)

References v.

◆ TableLookupLanes() [4/14]

HWY_API Vec128<double> hwy::HWY_NAMESPACE::TableLookupLanes ( Vec128< double >  v,
Indices128< double >  idx 
)

◆ TableLookupLanes() [5/14]

template<size_t N, HWY_IF_GE64(float, N) >
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::TableLookupLanes ( Vec128< float, N v,
Indices128< float, N idx 
)

◆ TableLookupLanes() [6/14]

template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128<T> hwy::HWY_NAMESPACE::TableLookupLanes ( Vec128< T >  v,
Indices128< T >  idx 
)

◆ TableLookupLanes() [7/14]

template<typename T >
HWY_API Vec128<T, 1> hwy::HWY_NAMESPACE::TableLookupLanes ( Vec128< T, 1 >  v,
Indices128< T, 1 >   
)

References v.

◆ TableLookupLanes() [8/14]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::TableLookupLanes ( Vec128< T, N v,
Indices128< T, N idx 
)

◆ TableLookupLanes() [9/14]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::TableLookupLanes ( Vec128< T, N v,
Indices128< T, N idx 
)

◆ TableLookupLanes() [10/14]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::TableLookupLanes ( Vec256< T >  v,
Indices256< T >  idx 
)

◆ TableLookupLanes() [11/14]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::TableLookupLanes ( Vec256< T >  v,
Indices256< T >  idx 
)

References v.

◆ TableLookupLanes() [12/14]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::TableLookupLanes ( Vec512< double >  v,
Indices512< double >  idx 
)

◆ TableLookupLanes() [13/14]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::TableLookupLanes ( Vec512< float >  v,
Indices512< float >  idx 
)

◆ TableLookupLanes() [14/14]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::TableLookupLanes ( Vec512< T >  v,
Indices512< T >  idx 
)

◆ Tanh()

template<class D , class V >
HWY_INLINE V hwy::HWY_NAMESPACE::Tanh ( const D  d,
x 
)

Highway SIMD version of std::tanh(x).

Valid Lane Types: float32, float64 Max Error: ULP = 4 Valid Range: float32[-FLT_MAX, +FLT_MAX], float64[-DBL_MAX, +DBL_MAX]

Returns
hyperbolic tangent of 'x'

References Add(), And(), d, Div(), Expm1(), Gt(), IfThenElse(), Mul(), Set(), SignBit(), and Xor().

Referenced by CallTanh().

◆ TestBit() [1/8]

template<class V >
HWY_API svbool_t hwy::HWY_NAMESPACE::TestBit ( const V  a,
const V  bit 
)

References And().

◆ TestBit() [2/8]

template<class V >
HWY_API auto hwy::HWY_NAMESPACE::TestBit ( const V  a,
const V  bit 
) -> decltype(Eq(a, bit))

References And().

◆ TestBit() [3/8]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::TestBit ( const Vec1< T >  v,
const Vec1< T >  bit 
)

References v.

◆ TestBit() [4/8]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::TestBit ( const Vec512< T >  v,
const Vec512< T >  bit 
)

◆ TestBit() [5/8]

template<size_t N>
HWY_API Mask128<int64_t, N> hwy::HWY_NAMESPACE::TestBit ( Vec128< int64_t, N v,
Vec128< int64_t, N bit 
)

References v.

◆ TestBit() [6/8]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::TestBit ( Vec128< T, N v,
Vec128< T, N bit 
)

References v.

◆ TestBit() [7/8]

template<size_t N>
HWY_API Mask128<uint64_t, N> hwy::HWY_NAMESPACE::TestBit ( Vec128< uint64_t, N v,
Vec128< uint64_t, N bit 
)

References v.

Referenced by LoadMaskBits().

◆ TestBit() [8/8]

template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::TestBit ( Vec256< T >  v,
Vec256< T >  bit 
)

References v.

◆ Transform()

template<class D , class Func , typename T = TFromD<D>>
void hwy::HWY_NAMESPACE::Transform ( d,
T *HWY_RESTRICT  inout,
size_t  count,
const Func func 
)

◆ Transform1()

template<class D , class Func , typename T = TFromD<D>>
void hwy::HWY_NAMESPACE::Transform1 ( d,
T *HWY_RESTRICT  inout,
size_t  count,
const T *HWY_RESTRICT  in1,
const Func func 
)

◆ Transform2()

template<class D , class Func , typename T = TFromD<D>>
void hwy::HWY_NAMESPACE::Transform2 ( d,
T *HWY_RESTRICT  inout,
size_t  count,
const T *HWY_RESTRICT  in1,
const T *HWY_RESTRICT  in2,
const Func func 
)

◆ Trunc() [1/8]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Trunc ( const V  v)

◆ Trunc() [2/8]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Trunc ( const Vec128< float, N v)

◆ Trunc() [3/8]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Trunc ( const Vec128< T, N v)

◆ Trunc() [4/8]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Trunc ( const Vec1< T >  v)

References Abs(), CopySignToAbs(), and v.

◆ Trunc() [5/8]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Trunc ( const Vec256< double >  v)

References v.

◆ Trunc() [6/8]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Trunc ( const Vec256< float >  v)

References v.

◆ Trunc() [7/8]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Trunc ( const Vec512< double >  v)

References v.

◆ Trunc() [8/8]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Trunc ( const Vec512< float >  v)

References v.

◆ U8FromU32() [1/12]

HWY_API svuint8_t hwy::HWY_NAMESPACE::U8FromU32 ( const svuint32_t  v)

References BitCast(), and v.

◆ U8FromU32() [2/12]

HWY_API Vec32<uint8_t> hwy::HWY_NAMESPACE::U8FromU32 ( const Vec128< uint32_t >  v)

◆ U8FromU32() [3/12]

template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128<uint8_t, N> hwy::HWY_NAMESPACE::U8FromU32 ( const Vec128< uint32_t, N v)

◆ U8FromU32() [4/12]

template<size_t N>
HWY_API Vec128< uint8_t, N > hwy::HWY_NAMESPACE::U8FromU32 ( const Vec128< uint32_t, N v)

References v.

◆ U8FromU32() [5/12]

HWY_API Vec1<uint8_t> hwy::HWY_NAMESPACE::U8FromU32 ( const Vec1< uint32_t >  v)

References DemoteTo(), and v.

◆ U8FromU32() [6/12]

HWY_API Vec128< uint8_t, 8 > hwy::HWY_NAMESPACE::U8FromU32 ( const Vec256< uint32_t >  v)

References v.

◆ U8FromU32() [7/12]

HWY_API Vec128<uint8_t, 16> hwy::HWY_NAMESPACE::U8FromU32 ( const Vec512< uint32_t >  v)

◆ U8FromU32() [8/12]

HWY_API vuint8mf4_t hwy::HWY_NAMESPACE::U8FromU32 ( const vuint32m1_t  v)

References Lanes(), and v.

◆ U8FromU32() [9/12]

HWY_API vuint8mf2_t hwy::HWY_NAMESPACE::U8FromU32 ( const vuint32m2_t  v)

References Lanes(), and v.

◆ U8FromU32() [10/12]

HWY_API vuint8m1_t hwy::HWY_NAMESPACE::U8FromU32 ( const vuint32m4_t  v)

References Lanes(), and v.

◆ U8FromU32() [11/12]

HWY_API vuint8m2_t hwy::HWY_NAMESPACE::U8FromU32 ( const vuint32m8_t  v)

References Lanes(), and v.

◆ U8FromU32() [12/12]

HWY_API vuint8mf8_t hwy::HWY_NAMESPACE::U8FromU32 ( const vuint32mf2_t  v)

References Lanes(), and v.

◆ Undefined() [1/12]

template<class D >
HWY_API VFromD<D> hwy::HWY_NAMESPACE::Undefined ( d)

References d, and Zero().

◆ Undefined() [2/12]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Undefined ( Full256< double >  )

◆ Undefined() [3/12]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Undefined ( Full256< float >  )

◆ Undefined() [4/12]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Undefined ( Full256< T >  d)

References d, and Zero().

◆ Undefined() [5/12]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Undefined ( Full512< double >  )

◆ Undefined() [6/12]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Undefined ( Full512< float >  )

◆ Undefined() [7/12]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::Undefined ( Full512< T >  )

◆ Undefined() [8/12]

template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Undefined ( Simd< double, N, 0 >  )

◆ Undefined() [9/12]

template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::Undefined ( Simd< float, N, 0 >  )

◆ Undefined() [10/12]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Undefined ( Simd< T, N, 0 >  d)

References d, and Zero().

◆ Undefined() [11/12]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Undefined ( Simd< T, N, 0 >  )

◆ Undefined() [12/12]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Undefined ( Sisd< T >  d)

References d, and Zero().

◆ UpperHalf() [1/23]

template<class D2 , class V >
HWY_API V hwy::HWY_NAMESPACE::UpperHalf ( const  D2,
const V  v 
)

◆ UpperHalf() [2/23]

template<class DH >
HWY_API VFromD<DH> hwy::HWY_NAMESPACE::UpperHalf ( const DH  d2,
const VFromD< Twice< DH >>  v 
)

References Lanes(), LowerHalf(), and v.

◆ UpperHalf() [3/23]

HWY_API Vec128<double> hwy::HWY_NAMESPACE::UpperHalf ( Full128< double >  ,
Vec256< double >  v 
)

References v.

◆ UpperHalf() [4/23]

HWY_API Vec128<float, 2> hwy::HWY_NAMESPACE::UpperHalf ( Full128< float >  ,
const Vec128< float >  v 
)

References v.

◆ UpperHalf() [5/23]

HWY_API Vec128<float> hwy::HWY_NAMESPACE::UpperHalf ( Full128< float >  ,
Vec256< float >  v 
)

References v.

◆ UpperHalf() [6/23]

template<typename T >
HWY_API Vec128<T, 8 / sizeof(T)> hwy::HWY_NAMESPACE::UpperHalf ( Full128< T >  ,
const Vec256< T >  v 
)

References v.

◆ UpperHalf() [7/23]

template<typename T >
HWY_API Vec128<T> hwy::HWY_NAMESPACE::UpperHalf ( Full128< T >  ,
Vec256< T >  v 
)

References v.

◆ UpperHalf() [8/23]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::UpperHalf ( Full256< double >  ,
Vec512< double >  v 
)

References v.

◆ UpperHalf() [9/23]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::UpperHalf ( Full256< float >  ,
Vec512< float >  v 
)

References v.

◆ UpperHalf() [10/23]

template<typename T >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::UpperHalf ( Full256< T >  ,
Vec512< T >  v 
)

References v.

◆ UpperHalf() [11/23]

HWY_API Vec64<double> hwy::HWY_NAMESPACE::UpperHalf ( Full64< double >  ,
Vec128< double >  v 
)

References v.

◆ UpperHalf() [12/23]

HWY_API Vec128< float, 2 > hwy::HWY_NAMESPACE::UpperHalf ( Full64< float >  ,
const Vec128< float >  v 
)

References v.

◆ UpperHalf() [13/23]

HWY_API Vec64<int16_t> hwy::HWY_NAMESPACE::UpperHalf ( Full64< int16_t >  ,
const Vec128< int16_t >  v 
)

References v.

◆ UpperHalf() [14/23]

HWY_API Vec64<int32_t> hwy::HWY_NAMESPACE::UpperHalf ( Full64< int32_t >  ,
const Vec128< int32_t >  v 
)

References v.

◆ UpperHalf() [15/23]

HWY_API Vec64<int64_t> hwy::HWY_NAMESPACE::UpperHalf ( Full64< int64_t >  ,
const Vec128< int64_t >  v 
)

References v.

◆ UpperHalf() [16/23]

HWY_API Vec64<int8_t> hwy::HWY_NAMESPACE::UpperHalf ( Full64< int8_t >  ,
const Vec128< int8_t >  v 
)

References v.

◆ UpperHalf() [17/23]

template<typename T >
HWY_API Vec64<T> hwy::HWY_NAMESPACE::UpperHalf ( Full64< T >  ,
const Vec128< T >  v 
)

References v.

◆ UpperHalf() [18/23]

HWY_API Vec64<uint16_t> hwy::HWY_NAMESPACE::UpperHalf ( Full64< uint16_t >  ,
const Vec128< uint16_t >  v 
)

References v.

◆ UpperHalf() [19/23]

HWY_API Vec64<uint32_t> hwy::HWY_NAMESPACE::UpperHalf ( Full64< uint32_t >  ,
const Vec128< uint32_t >  v 
)

References v.

◆ UpperHalf() [20/23]

HWY_API Vec64<uint64_t> hwy::HWY_NAMESPACE::UpperHalf ( Full64< uint64_t >  ,
const Vec128< uint64_t >  v 
)

References v.

◆ UpperHalf() [21/23]

HWY_API Vec64<uint8_t> hwy::HWY_NAMESPACE::UpperHalf ( Full64< uint8_t >  ,
const Vec128< uint8_t >  v 
)

◆ UpperHalf() [22/23]

template<typename T >
HWY_API Vec64<T> hwy::HWY_NAMESPACE::UpperHalf ( Half< Full128< T >>  ,
Vec128< T >  v 
)

References v.

◆ UpperHalf() [23/23]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128< T,(N+1)/2 > hwy::HWY_NAMESPACE::UpperHalf ( Half< Simd< T, N, 0 >>  ,
Vec128< T, N v 
)

References BitCast(), d, N, ShiftRightBytes(), and v.

◆ Vec256< T IfNegativeThenElse(Vec256< T > v, Vec256< T > yes, Vec256< T > no) { HWY_ASSERT(0);}template< typename T, HWY_IF_FLOAT(T)>HWY_API Vec256< T > ZeroIfNegative(Vec256< T > v) { const Full256< T > d;const auto zero=Zero(d);return IfThenElse(Mask256< T >{(v > zero).raw}, v, zero);}template< typename T >HWY_API Mask256< T > Not(const Mask256< T > m) { return MaskFromVec(Not(VecFromMask(Full256< T >), m)));}template< typename T >HWY_API Mask256< T > And(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(And(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > AndNot(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(AndNot(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > Or(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(Or(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > Xor(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(Xor(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T, HWY_IF_LANE_SIZE(T, 2)>HWY_API Vec256< T > operator<<(Vec256< T > v, const Vec256< T > bits) { const Full256< T > d;Mask256< T > mask;auto test=BitCast(RebindToSigned< decltype(d)>), bits);test=ShiftLeft< 12 >test);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 8 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 4 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 2 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));return IfThenElse(mask, ShiftLeft< 1 >v), v);}template< typename T, HWY_IF_LANE_SIZE(T, 4)>HWY_API Vec256< T > operator<<(Vec256< T > v, const Vec256< T > bits) { const Full256< T > d;Mask256< T > mask;auto test=BitCast(RebindToSigned< decltype(d)>), bits);test=ShiftLeft< 27 >test);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 16 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 8 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 4 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 2 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));return IfThenElse(mask, ShiftLeft< 1 >v), v);}template< typename T, HWY_IF_LANE_SIZE(T, 2)>HWY_API Vec256< T > operator>()

template<typename T >
HWY_API hwy::HWY_NAMESPACE::Vec256< T IfNegativeThenElse(Vec256< T > v, Vec256< T > yes, Vec256< T > no) { HWY_ASSERT(0);}template< typename T, HWY_IF_FLOAT(T)>HWY_API Vec256< T > ZeroIfNegative(Vec256< T > v) { const Full256< T > d;const auto zero=Zero(d);return IfThenElse(Mask256< T >{(v > zero).raw}, v, zero);}template< typename T >HWY_API Mask256< T > Not(const Mask256< T > m) { return MaskFromVec(Not(VecFromMask(Full256< T >), m)));}template< typename T >HWY_API Mask256< T > And(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(And(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > AndNot(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(AndNot(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > Or(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(Or(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T >HWY_API Mask256< T > Xor(const Mask256< T > a, Mask256< T > b) { const Full256< T > d;return MaskFromVec(Xor(VecFromMask(d, a), VecFromMask(d, b)));}template< typename T, HWY_IF_LANE_SIZE(T, 2)>HWY_API Vec256< T > operator<<(Vec256< T > v, const Vec256< T > bits) { const Full256< T > d;Mask256< T > mask;auto test=BitCast(RebindToSigned< decltype(d)>), bits);test=ShiftLeft< 12 >test);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 8 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 4 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 2 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));return IfThenElse(mask, ShiftLeft< 1 >v), v);}template< typename T, HWY_IF_LANE_SIZE(T, 4)>HWY_API Vec256< T > operator<<(Vec256< T > v, const Vec256< T > bits) { const Full256< T > d;Mask256< T > mask;auto test=BitCast(RebindToSigned< decltype(d)>), bits);test=ShiftLeft< 27 >test);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 16 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 8 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 4 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));test=ShiftLeft< 1 >test);v=IfThenElse(mask, ShiftLeft< 2 >v), v);mask=RebindMask(d, MaskFromVec(BroadcastSignBit(test)));return IfThenElse(mask, ShiftLeft< 1 >v), v);}template< typename T, HWY_IF_LANE_SIZE(T, 2)>HWY_API Vec256< T > operator> ( Vec256< T >  v,
const Vec256< T >  bits 
)

References HWY_ASSERT.

◆ VecFromMask() [1/23]

template<class D , HWY_IF_NOT_FLOAT_D(D) >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::VecFromMask ( const D  d,
MFromD< D >  mask 
)

References d, and Zero().

◆ VecFromMask() [2/23]

template<class D , HWY_IF_NOT_FLOAT_D(D) >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::VecFromMask ( const D  d,
svbool_t  mask 
)

References BitCast(), d, and Zero().

◆ VecFromMask() [3/23]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::VecFromMask ( const Mask128< double, N v)

References v.

◆ VecFromMask() [4/23]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::VecFromMask ( const Mask128< float, N v)

References v.

◆ VecFromMask() [5/23]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::VecFromMask ( const Mask128< T, N v)

References v.

◆ VecFromMask() [6/23]

template<typename T >
Vec1<T> hwy::HWY_NAMESPACE::VecFromMask ( const Mask1< T >  mask)

◆ VecFromMask() [7/23]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::VecFromMask ( const Mask256< double >  v)

References v.

◆ VecFromMask() [8/23]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::VecFromMask ( const Mask256< float >  v)

References v.

◆ VecFromMask() [9/23]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::VecFromMask ( const Mask256< T >  v)

References v.

◆ VecFromMask() [10/23]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< double >  v)

References v.

◆ VecFromMask() [11/23]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< float >  v)

References v.

◆ VecFromMask() [12/23]

HWY_API Vec512<int16_t> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< int16_t >  v)

References v.

◆ VecFromMask() [13/23]

HWY_API Vec512<int32_t> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< int32_t >  v)

References v.

◆ VecFromMask() [14/23]

HWY_API Vec512<int64_t> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< int64_t >  v)

References v.

◆ VecFromMask() [15/23]

HWY_API Vec512<int8_t> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< int8_t >  v)

References v.

◆ VecFromMask() [16/23]

HWY_API Vec512<uint16_t> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< uint16_t >  v)

References v.

◆ VecFromMask() [17/23]

HWY_API Vec512<uint32_t> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< uint32_t >  v)

References v.

◆ VecFromMask() [18/23]

HWY_API Vec512<uint64_t> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< uint64_t >  v)

References v.

◆ VecFromMask() [19/23]

HWY_API Vec512<uint8_t> hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< uint8_t >  v)

References v.

◆ VecFromMask() [20/23]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::VecFromMask ( Full256< T >  ,
Mask256< T >  v 
)

References v.

◆ VecFromMask() [21/23]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::VecFromMask ( Full512< T >  ,
const Mask512< T >  v 
)

References v, and VecFromMask().

◆ VecFromMask() [22/23]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::VecFromMask ( Simd< T, N, 0 >  d,
const Mask128< T, N v 
)

◆ VecFromMask() [23/23]

template<typename T >
Vec1<T> hwy::HWY_NAMESPACE::VecFromMask ( Sisd< T >  ,
const Mask1< T >  mask 
)

◆ VerifySort()

template<class Traits , typename T >
bool hwy::HWY_NAMESPACE::VerifySort ( Traits  st,
const InputStats< T > &  input_stats,
const T *  out,
size_t  num,
const char *  caller 
)

◆ Xor() [1/17]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::Xor ( const Mask128< T, N a,
Mask128< T, N b 
)

References d, MaskFromVec(), VecFromMask(), and Xor().

◆ Xor() [2/17]

template<typename T >
HWY_API Mask1<T> hwy::HWY_NAMESPACE::Xor ( const Mask1< T >  a,
Mask1< T >  b 
)

References d, MaskFromVec(), VecFromMask(), and Xor().

◆ Xor() [3/17]

template<typename T >
HWY_API Mask256<T> hwy::HWY_NAMESPACE::Xor ( const Mask256< T >  a,
Mask256< T >  b 
)

◆ Xor() [4/17]

template<typename T >
HWY_API Mask512<T> hwy::HWY_NAMESPACE::Xor ( const Mask512< T >  a,
Mask512< T >  b 
)

◆ Xor() [5/17]

template<class V , HWY_IF_FLOAT_V(V) >
HWY_API V hwy::HWY_NAMESPACE::Xor ( const V  a,
const V  b 
)

References BitCast(), and Xor().

◆ Xor() [6/17]

template<size_t N>
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Xor ( const Vec128< double, N a,
const Vec128< double, N b 
)

◆ Xor() [7/17]

template<size_t N>
HWY_API Vec128<float, N> hwy::HWY_NAMESPACE::Xor ( const Vec128< float, N a,
const Vec128< float, N b 
)

◆ Xor() [8/17]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Xor ( const Vec128< T, N a,
const Vec128< T, N b 
)

◆ Xor() [9/17]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Xor ( const Vec1< T >  a,
const Vec1< T >  b 
)

References BitCast().

◆ Xor() [10/17]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Xor ( const Vec256< double >  a,
const Vec256< double >  b 
)

◆ Xor() [11/17]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::Xor ( const Vec256< float >  a,
const Vec256< float >  b 
)

◆ Xor() [12/17]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Xor ( const Vec512< double >  a,
const Vec512< double >  b 
)

◆ Xor() [13/17]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Xor ( const Vec512< float >  a,
const Vec512< float >  b 
)

◆ Xor() [14/17]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::Xor ( const Vec512< T >  a,
const Vec512< T >  b 
)

◆ Xor() [15/17]

HWY_API svbool_t hwy::HWY_NAMESPACE::Xor ( svbool_t  a,
svbool_t  b 
)

◆ Xor() [16/17]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Xor ( Vec128< T, N a,
Vec128< T, N b 
)

◆ Xor() [17/17]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Xor ( Vec256< T >  a,
Vec256< T >  b 
)

◆ Zero() [1/14]

template<class D >
VFromD<D> hwy::HWY_NAMESPACE::Zero ( d)

References d, and Set().

◆ Zero() [2/14]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::Zero ( Full256< double >  )

◆ Zero() [3/14]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Zero ( Full256< float >  )

◆ Zero() [4/14]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Zero ( Full256< T >  )

◆ Zero() [5/14]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::Zero ( Full512< double >  )

◆ Zero() [6/14]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::Zero ( Full512< float >  )

◆ Zero() [7/14]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::Zero ( Full512< T >  )

◆ Zero() [8/14]

template<size_t N>
HWY_API Vec128<bfloat16_t, N> hwy::HWY_NAMESPACE::Zero ( Simd< bfloat16_t, N, 0 >  )

References Zero().

◆ Zero() [9/14]

template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128<double, N> hwy::HWY_NAMESPACE::Zero ( Simd< double, N, 0 >  )

◆ Zero() [10/14]

template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Zero ( Simd< float, N, 0 >  )

◆ Zero() [11/14]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::Zero ( Simd< T, N, 0 >  d)

◆ Zero() [12/14]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Zero ( Simd< T, N, 0 >  )

◆ Zero() [13/14]

template<typename T , size_t N, int kPow2>
HWY_API VFromD<Simd<T, N, kPow2> > hwy::HWY_NAMESPACE::Zero ( Simd< T, N, kPow2 >  d)

References d, and Set().

◆ Zero() [14/14]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::Zero ( Sisd< T >  )

◆ ZeroExtendVector() [1/11]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::ZeroExtendVector ( const D  d,
const V  lo 
)

References Combine(), d, and Zero().

◆ ZeroExtendVector() [2/11]

template<class D2 , class V >
HWY_API VFromD<D2> hwy::HWY_NAMESPACE::ZeroExtendVector ( D2  d2,
const V  lo 
)

References Combine(), and Xor().

◆ ZeroExtendVector() [3/11]

template<typename T , HWY_IF_NOT_FLOAT(T) >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::ZeroExtendVector ( Full128< T >  d,
Vec64< T >  lo 
)

◆ ZeroExtendVector() [4/11]

HWY_API Vec256<double> hwy::HWY_NAMESPACE::ZeroExtendVector ( Full256< double >  ,
Vec128< double >  lo 
)

◆ ZeroExtendVector() [5/11]

HWY_API Vec256<float> hwy::HWY_NAMESPACE::ZeroExtendVector ( Full256< float >  ,
Vec128< float >  lo 
)

◆ ZeroExtendVector() [6/11]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ZeroExtendVector ( Full256< T >  d,
Vec128< T >  lo 
)

◆ ZeroExtendVector() [7/11]

HWY_API Vec512<double> hwy::HWY_NAMESPACE::ZeroExtendVector ( Full512< double >  ,
Vec256< double >  lo 
)

◆ ZeroExtendVector() [8/11]

HWY_API Vec512<float> hwy::HWY_NAMESPACE::ZeroExtendVector ( Full512< float >  ,
Vec256< float >  lo 
)

◆ ZeroExtendVector() [9/11]

template<typename T >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ZeroExtendVector ( Full512< T >  ,
Vec256< T >  lo 
)

◆ ZeroExtendVector() [10/11]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ZeroExtendVector ( Simd< T, N, 0 >  d,
Vec128< T, N/2 >  lo 
)

References Combine(), d, and Zero().

Referenced by Combine(), and TableLookupBytes().

◆ ZeroExtendVector() [11/11]

template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::ZeroExtendVector ( Simd< T, N, 0 >  d,
Vec128< T, N/2 >  lo 
)

◆ ZeroIfNegative() [1/6]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::ZeroIfNegative ( const V  v)

References IfThenZeroElse(), and v.

◆ ZeroIfNegative() [2/6]

template<typename T >
HWY_API Vec1<T> hwy::HWY_NAMESPACE::ZeroIfNegative ( const Vec1< T >  v)

References v.

◆ ZeroIfNegative() [3/6]

template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec256<T> hwy::HWY_NAMESPACE::ZeroIfNegative ( const Vec256< T >  v)

References IfThenZeroElse(), MaskFromVec(), and v.

◆ ZeroIfNegative() [4/6]

template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec512<T> hwy::HWY_NAMESPACE::ZeroIfNegative ( const Vec512< T >  v)

References IfThenZeroElse(), MaskFromVec(), and v.

◆ ZeroIfNegative() [5/6]

template<typename T , size_t N>
HWY_API Vec128<T, N> hwy::HWY_NAMESPACE::ZeroIfNegative ( Vec128< T, N v)

References Max(), v, and Zero().

◆ ZeroIfNegative() [6/6]

template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ZeroIfNegative ( Vec128< T, N v)

References d, IfThenElse(), v, and Zero().

◆ ZipLower() [1/17]

template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>>
HWY_API VFromD<DW> hwy::HWY_NAMESPACE::ZipLower ( const V  a,
const V  b 
)

◆ ZipLower() [2/17]

HWY_API Vec1<int32_t> hwy::HWY_NAMESPACE::ZipLower ( const Vec1< int16_t >  a,
const Vec1< int16_t >  b 
)

◆ ZipLower() [3/17]

HWY_API Vec1<int64_t> hwy::HWY_NAMESPACE::ZipLower ( const Vec1< int32_t >  a,
const Vec1< int32_t >  b 
)

◆ ZipLower() [4/17]

HWY_API Vec1<int16_t> hwy::HWY_NAMESPACE::ZipLower ( const Vec1< int8_t >  a,
const Vec1< int8_t >  b 
)

◆ ZipLower() [5/17]

HWY_API Vec1<uint32_t> hwy::HWY_NAMESPACE::ZipLower ( const Vec1< uint16_t >  a,
const Vec1< uint16_t >  b 
)

◆ ZipLower() [6/17]

HWY_API Vec1<uint64_t> hwy::HWY_NAMESPACE::ZipLower ( const Vec1< uint32_t >  a,
const Vec1< uint32_t >  b 
)

◆ ZipLower() [7/17]

HWY_API Vec1<uint16_t> hwy::HWY_NAMESPACE::ZipLower ( const Vec1< uint8_t >  a,
const Vec1< uint8_t >  b 
)

◆ ZipLower() [8/17]

template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > hwy::HWY_NAMESPACE::ZipLower ( DW  dw,
a,
b 
)

References BitCast(), and InterleaveLower().

◆ ZipLower() [9/17]

template<class V , class DW = RepartitionToWide<DFromV<V>>>
HWY_API VFromD< DW > hwy::HWY_NAMESPACE::ZipLower ( DW  dw,
a,
b 
)

◆ ZipLower() [10/17]

template<typename T , class D = Full256<T>, class DW = RepartitionToWide<D>>
HWY_API VFromD<DW> hwy::HWY_NAMESPACE::ZipLower ( DW  dw,
Vec256< T >  a,
Vec256< T >  b 
)

References BitCast(), and InterleaveLower().

◆ ZipLower() [11/17]

template<typename T , typename TW = MakeWide<T>>
HWY_API Vec256<TW> hwy::HWY_NAMESPACE::ZipLower ( Full256< TW >  dw,
Vec256< T >  a,
Vec256< T >  b 
)

References BitCast(), and InterleaveLower().

◆ ZipLower() [12/17]

template<typename T , typename TW = MakeWide<T>>
HWY_API Vec512<TW> hwy::HWY_NAMESPACE::ZipLower ( Full512< TW >  ,
Vec512< T >  a,
Vec512< T >  b 
)

References BitCast(), and InterleaveLower().

◆ ZipLower() [13/17]

template<typename T , typename TW = MakeWide<T>, class VW = Vec1<TW>>
HWY_API VW hwy::HWY_NAMESPACE::ZipLower ( Sisd< TW >  ,
Vec1< T >  a,
Vec1< T >  b 
)

◆ ZipLower() [14/17]

template<class V , class DW = RepartitionToWide<DFromV<V>>>
HWY_API VFromD< DW > hwy::HWY_NAMESPACE::ZipLower ( a,
b 
)

◆ ZipLower() [15/17]

template<typename T , class DW = RepartitionToWide<Full256<T>>>
HWY_API VFromD<DW> hwy::HWY_NAMESPACE::ZipLower ( Vec256< T >  a,
Vec256< T >  b 
)

References BitCast(), and InterleaveLower().

◆ ZipLower() [16/17]

template<typename T , typename TW = MakeWide<T>>
HWY_API Vec256<TW> hwy::HWY_NAMESPACE::ZipLower ( Vec256< T >  a,
Vec256< T >  b 
)

References BitCast(), and InterleaveLower().

◆ ZipLower() [17/17]

template<typename T , typename TW = MakeWide<T>>
HWY_API Vec512<TW> hwy::HWY_NAMESPACE::ZipLower ( Vec512< T >  a,
Vec512< T >  b 
)

References BitCast(), and InterleaveLower().

◆ ZipUpper() [1/5]

template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > hwy::HWY_NAMESPACE::ZipUpper ( DW  dw,
a,
b 
)

◆ ZipUpper() [2/5]

template<class V , class DW = RepartitionToWide<DFromV<V>>>
HWY_API VFromD< DW > hwy::HWY_NAMESPACE::ZipUpper ( DW  dw,
a,
b 
)

◆ ZipUpper() [3/5]

template<typename T , class D = Full256<T>, class DW = RepartitionToWide<D>>
HWY_API VFromD<DW> hwy::HWY_NAMESPACE::ZipUpper ( DW  dw,
Vec256< T >  a,
Vec256< T >  b 
)

References BitCast(), and InterleaveUpper().

◆ ZipUpper() [4/5]

template<typename T , typename TW = MakeWide<T>>
HWY_API Vec256<TW> hwy::HWY_NAMESPACE::ZipUpper ( Full256< TW >  dw,
Vec256< T >  a,
Vec256< T >  b 
)

References BitCast(), and InterleaveUpper().

◆ ZipUpper() [5/5]

template<typename T , typename TW = MakeWide<T>>
HWY_API Vec512<TW> hwy::HWY_NAMESPACE::ZipUpper ( Full512< TW >  d,
Vec512< T >  a,
Vec512< T >  b 
)

References BitCast(), d, and InterleaveUpper().

Variable Documentation

◆ _

sseg3 sseg3 sseg4 sseg4 hwy::HWY_NAMESPACE::_

◆ d

hwy::HWY_NAMESPACE::d

Referenced by Acos(), Acosh(), AESLastRound(), AESRound(), AllFalse(), AllTrue(), And(), AndNot(), Asin(), Asinh(), hwy::HWY_NAMESPACE::impl::AsinImpl< float >::AsinPoly(), AssertMaskEqual(), AssertVecEqual(), Atan(), Atanh(), hwy::HWY_NAMESPACE::impl::AtanImpl< float >::AtanPoly(), BitCast(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), BlendedStore(), Broadcast(), BroadcastSignBit(), CallAcos(), CallAcosh(), CallAsin(), CallAsinh(), CallAtan(), CallAtanh(), CallCos(), CallExp(), CallExpm1(), CallLog(), CallLog10(), CallLog1p(), CallLog2(), CallSin(), CallSinh(), CallTanh(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ClampF64ToI32Max(), CLMulLower(), CLMulUpper(), Combine(), CombineShiftRightBytes(), CombineShiftRightLanes(), hwy::HWY_NAMESPACE::detail::Compress(), Compress(), CompressBitsStore(), CompressBlendedStore(), CompressStore(), hwy::HWY_NAMESPACE::Dot::Compute(), ConcatEven(), ConcatLowerLower(), ConcatLowerUpper(), ConcatOdd(), ConcatUpperLower(), ConcatUpperUpper(), ConvertTo(), Copy(), CopyIf(), CopySign(), Cos(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosReduce(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosSignFromQuadrant(), ojph::local::decode_init_uvlc(), ojph::local::decode_noninit_uvlc(), DemoteTo(), hwy::HWY_NAMESPACE::detail::ForeachCappedR< T, kMul, kMinArg, Test >::Do(), Exp(), Expm1(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::ExpPoly(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::ExpReduce(), FindFirstTrue(), FirstN(), hwy::HWY_NAMESPACE::detail::FirstNPerBlock(), hwy::HWY_NAMESPACE::detail::OrderAscending::FirstOfLanes(), hwy::HWY_NAMESPACE::detail::OrderDescending::FirstOfLanes(), hwy::HWY_NAMESPACE::detail::OrderAscending::FirstValue(), hwy::HWY_NAMESPACE::detail::OrderDescending::FirstValue(), ojph::local::frwd_init(), GatherIndex(), GatherOffset(), GenerateInput(), hwy::HWY_NAMESPACE::detail::Idx16x8FromBits(), hwy::HWY_NAMESPACE::detail::Idx32x4FromBits(), hwy::HWY_NAMESPACE::detail::Idx64x2FromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), IfNegativeThenElse(), IfVecThenElse(), IndicesFromVec(), InterleaveLower(), InterleaveUpper(), Iota(), hwy::HWY_NAMESPACE::detail::IsSupportedLMUL(), Lanes(), hwy::HWY_NAMESPACE::detail::LanesPerBlock(), hwy::HWY_NAMESPACE::detail::OrderAscending::LastOfLanes(), hwy::HWY_NAMESPACE::detail::OrderDescending::LastOfLanes(), hwy::HWY_NAMESPACE::detail::OrderAscending::LastValue(), hwy::HWY_NAMESPACE::detail::OrderDescending::LastValue(), Load(), hwy::HWY_NAMESPACE::detail::Load8Bytes(), LoadDup128(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::LoadExpShortRange(), LoadMaskBits(), hwy::HWY_NAMESPACE::detail::LoadMaskBits(), LoadU(), hwy::HWY_NAMESPACE::impl::Log(), Log(), Log10(), Log1p(), Log2(), hwy::HWY_NAMESPACE::impl::LogImpl< float >::LogPoly(), Lt128(), hwy::HWY_NAMESPACE::detail::Lt128Vec(), hwy::HWY_NAMESPACE::detail::MakeMask(), MaskedLoad(), MaskFalse(), hwy::HWY_NAMESPACE::detail::MaskLowerHalf(), MaskTrue(), hwy::HWY_NAMESPACE::detail::MaskUpperHalf(), Max128(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxU(), ojph::local::mel_init(), hwy::HWY_NAMESPACE::detail::Merge16(), hwy::HWY_NAMESPACE::detail::Merge2(), hwy::HWY_NAMESPACE::detail::Merge4(), hwy::HWY_NAMESPACE::detail::Merge8(), Min128(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinU(), grk::mqc_encode(), skeleton::HWY_NAMESPACE::MulAddLoop(), MulEven(), MulFixedPoint15(), NaN(), grk::nextCXD(), Not(), OddEven(), hwy::HWY_NAMESPACE::detail::OddEven(), hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenPairs(), hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenQuads(), hwy::HWY_NAMESPACE::detail::OffsetsOf128BitBlocks(), hwy::HWY_NAMESPACE::detail::ShiftLeftBytesT< kBytes >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftRightBytesT< kBytes >::operator()(), operator<<(), operator>(), operator>>(), Or(), OrAnd(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::Poly(), PopulationCount(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::Pow2I(), Print(), PromoteTo(), ojph::local::rev_init(), ojph::local::rev_init_mrp(), Reverse(), Reverse2(), Reverse4(), Reverse8(), ReverseBlocks(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys16(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys2(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys4(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys8(), SafeCopyN(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), ScatterIndex(), ScatterOffset(), Set(), hwy::HWY_NAMESPACE::detail::Set64(), ojph::QuantizerOJPH::set_irrev_quant(), openhtj2k::QuantizerOpenHTJ2K::set_irrev_quant(), ojph::QuantizerOJPH::set_rev_quant(), openhtj2k::QuantizerOpenHTJ2K::set_rev_quant(), hwy::HWY_NAMESPACE::detail::KeyLane::SetKey(), SetTableIndices(), ShiftLeftBytes(), ShiftLeftLanes(), ShiftRightBytes(), ShiftRightLanes(), Shuffle01(), Shuffle0321(), Shuffle1032(), Shuffle2103(), Shuffle2301(), SignBit(), Sin(), Sinh(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinReduce(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinSignFromQuadrant(), Sort(), hwy::HWY_NAMESPACE::detail::Sort16(), hwy::HWY_NAMESPACE::detail::TraitsLane< Base >::Sort2(), hwy::HWY_NAMESPACE::detail::SortingNetwork(), hwy::HWY_NAMESPACE::detail::TraitsLane< Base >::SortPairsDistance1(), hwy::HWY_NAMESPACE::detail::SharedTraits< Base >::SortPairsDistance2(), hwy::HWY_NAMESPACE::detail::TraitsLane< Base >::SortPairsDistance4(), hwy::HWY_NAMESPACE::detail::SharedTraits< Base >::SortPairsReverse16(), hwy::HWY_NAMESPACE::detail::TraitsLane< Base >::SortPairsReverse4(), hwy::HWY_NAMESPACE::detail::SharedTraits< Base >::SortPairsReverse8(), Store(), StoreInterleaved3(), StoreInterleaved4(), StoreMaskBits(), StoreU(), Stream(), SumOfLanes(), SwapAdjacentBlocks(), hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentPairs(), hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentQuads(), t1_init_ctxno_zc(), TableLookupBytes(), TableLookupBytesOr0(), TableLookupLanes(), Tanh(), Transform(), Transform1(), Transform2(), Undefined(), UpperHalf(), VecFromMask(), Xor(), Zero(), ZeroExtendVector(), ZeroIfNegative(), and ZipUpper().

◆ m1

sseg3 hwy::HWY_NAMESPACE::m1

◆ m2

sseg3 sseg3 sseg4 sseg4 hwy::HWY_NAMESPACE::m2

◆ mf2

sseg3 sseg3 sseg4 hwy::HWY_NAMESPACE::mf2

◆ mf4

hwy::HWY_NAMESPACE::mf4

◆ mf8

sseg3 sseg3 hwy::HWY_NAMESPACE::mf8

◆ N

hwy::HWY_NAMESPACE::N

Referenced by ojph::align_ptr(), AllFalse(), AssertMaskEqual(), AssertVecEqual(), hwy::SortConstants::BaseCaseNum(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), Broadcast(), hwy::SortConstants::BufNum(), hwy::HWY_NAMESPACE::detail::BytesAbove(), ojph::calc_aligned_size(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), Combine(), CombineShiftRightBytes(), CompressBits(), CompressBitsStore(), CompressStore(), hwy::HWY_NAMESPACE::Dot::Compute(), ConcatLowerLower(), ConcatLowerUpper(), ConcatUpperUpper(), Copy(), CopyIf(), CountTrue(), FirstN(), GatherIndex(), GatherOffset(), GenerateInput(), IndicesFromVec(), Lanes(), hwy::HWY_NAMESPACE::detail::LanesPerBlock(), hwy::SortConstants::LanesPerChunk(), LoadMaskBits(), LowerHalf(), MaskFromVec(), MulEven(), hwy::HWY_NAMESPACE::Simd< Lane, N, kPow2 >::NewN(), Not(), hwy::HWY_NAMESPACE::detail::OnlyActive(), hwy::HWY_NAMESPACE::detail::ShiftRightBytesT< kBytes >::operator()(), hwy::SortConstants::PartitionBufNum(), hwy::SortConstants::PivotBufNum(), ojph::mem_fixed_allocator::post_alloc_local(), ojph::mem_fixed_allocator::pre_alloc_local(), Print(), Reverse(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), hwy::HWY_NAMESPACE::detail::ScaleByPower(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), ScatterOffset(), ShiftLeftBytes(), ShiftRightBytes(), ShiftRightLanes(), Shuffle2301(), StoreMaskBits(), Transform(), Transform1(), Transform2(), hwy::TypeName(), UpperHalf(), VecFromMask(), and ZeroExtendVector().

◆ StoreInterleaved3

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3

◆ StoreInterleaved4

HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4

◆ u

sseg3 sseg3 sseg4 sseg4 hwy::HWY_NAMESPACE::u

◆ v

const vfloat64m1_t hwy::HWY_NAMESPACE::v
Initial value:
{
return vfncvt_rtz_x_f_w_i32mf2(v, Lanes(d))
d
Definition: rvv-inl.h:1656
HWY_API size_t Lanes(Simd< bfloat16_t, N, kPow2 >)
Definition: rvv-inl.h:398
const vfloat64m1_t v
Definition: rvv-inl.h:1656

Referenced by Abs(), grk::T1::alloc(), ApproximateReciprocal(), ApproximateReciprocalSqrt(), BitCast(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToUnsigned(), BlendedStore(), Broadcast(), BroadcastSignBit(), Ceil(), Ceiling(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), Clamp(), hwy::HWY_NAMESPACE::detail::ClampF64ToI32Max(), grk::PLMarkerMgr::clearMarkers(), Compress(), hwy::HWY_NAMESPACE::detail::Compress(), CompressBits(), CompressBitsStore(), CompressBlendedStore(), CompressStore(), ConvertTo(), Copy(), CopyIf(), grk::T1::dec_clnpass_check_segsym(), grk::T1::dec_refpass_step_raw(), grk::T1::dec_sigpass_step_raw(), DemoteTo(), DupEven(), DupOdd(), grk::T1::enc_clnpass(), hwy::HWY_NAMESPACE::detail::OrderAscending::FirstOfLanes(), hwy::HWY_NAMESPACE::detail::OrderDescending::FirstOfLanes(), Floor(), GenerateInput(), GetLane(), ht_cleanup_decode(), HWY_NEON_DEF_FUNCTION_INT_8_16_32(), IfNegativeThenElse(), hwy::HWY_NAMESPACE::detail::OrderAscending::LastOfLanes(), hwy::HWY_NAMESPACE::detail::OrderDescending::LastOfLanes(), Load(), LowerHalf(), main(), MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), MaxOfLanes(), ojph::local::mel_emit_bit(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), MinOfLanes(), grk::minpf_register_object(), NearestInt(), Neg(), Not(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger128< double >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger256< T >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger256< float >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger256< double >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger512< T >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger512< float >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger512< double >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger128< T >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger128< float >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftLeftBytesT< kBytes >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftLeftBytesT< 0 >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftRightBytesT< 0 >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftRightBytesT< kBytes >::operator()(), operator<<(), operator>>(), hwy::HWY_NAMESPACE::detail::PopulationCount(), PopulationCount(), Print(), PromoteTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), Reverse(), Reverse2(), Reverse4(), Reverse8(), ReverseBlocks(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys16(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys2(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys4(), hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys8(), RotateRight(), Round(), hwy::HWY_NAMESPACE::detail::SaturateI(), hwy::HWY_NAMESPACE::detail::SaturateU(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), ScatterOffset(), ShiftLeft(), ShiftLeftBytes(), ShiftLeftLanes(), ShiftLeftSame(), ShiftRight(), ShiftRightBytes(), ShiftRightLanes(), ShiftRightSame(), hwy::HWY_NAMESPACE::detail::ShrBytes(), Shuffle01(), Shuffle0123(), Shuffle0321(), Shuffle1032(), Shuffle2103(), Shuffle2301(), hwy::HWY_NAMESPACE::detail::TraitsLane< Base >::SortPairsDistance1(), hwy::HWY_NAMESPACE::detail::SharedTraits< Base >::SortPairsDistance2(), hwy::HWY_NAMESPACE::detail::TraitsLane< Base >::SortPairsDistance4(), hwy::HWY_NAMESPACE::detail::SharedTraits< Base >::SortPairsReverse16(), hwy::HWY_NAMESPACE::detail::TraitsLane< Base >::SortPairsReverse4(), hwy::HWY_NAMESPACE::detail::SharedTraits< Base >::SortPairsReverse8(), Sqrt(), Store(), StoreU(), Stream(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), SumOfLanes(), SumsOf8(), SwapAdjacentBlocks(), hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentPairs(), hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentQuads(), t1_init_ctxno_zc(), TableLookupBytes(), TableLookupLanes(), hwy::HWY_NAMESPACE::detail::TestBit(), TestBit(), grk::HWY_NAMESPACE::DecompressRev::trans(), grk::HWY_NAMESPACE::DecompressIrrev::trans(), grk::HWY_NAMESPACE::CompressRev::trans(), grk::HWY_NAMESPACE::CompressIrrev::trans(), Transform(), Transform1(), Transform2(), Trunc(), U8FromU32(), UpperHalf(), hwy::HWY_NAMESPACE::detail::UseInt(), VecFromMask(), grk::HWY_NAMESPACE::DecompressRev::vtrans(), grk::HWY_NAMESPACE::CompressRev::vtrans(), grk::HWY_NAMESPACE::CompressIrrev::vtrans(), grk::BitIO::write(), grk::PLMarkerMgr::write(), and ZeroIfNegative().