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

Namespaces

namespace  detail
 
namespace  impl
 

Classes

struct  CompressIsPartition
 
struct  DFromV_t
 
struct  Dot
 
class  ForDemoteVectors
 
class  ForExtendableVectors
 
class  ForGEVectors
 
class  ForHalfVectors
 
class  ForPartialVectors
 
class  ForPromoteVectors
 
class  ForShrinkableVectors
 
struct  Indices1
 
struct  Indices128
 
struct  Indices256
 
struct  Indices512
 
class  Mask1
 
struct  Mask128
 
struct  Mask256
 
struct  Mask512
 
struct  Pack16
 
struct  Pack16< 1 >
 
struct  Pack16< 10 >
 
struct  Pack16< 11 >
 
struct  Pack16< 12 >
 
struct  Pack16< 13 >
 
struct  Pack16< 14 >
 
struct  Pack16< 15 >
 
struct  Pack16< 16 >
 
struct  Pack16< 2 >
 
struct  Pack16< 3 >
 
struct  Pack16< 4 >
 
struct  Pack16< 5 >
 
struct  Pack16< 6 >
 
struct  Pack16< 7 >
 
struct  Pack16< 8 >
 
struct  Pack16< 9 >
 
struct  Pack8
 
struct  Pack8< 1 >
 
struct  Pack8< 2 >
 
struct  Pack8< 3 >
 
struct  Pack8< 4 >
 
struct  Pack8< 5 >
 
struct  Pack8< 6 >
 
struct  Pack8< 7 >
 
struct  Pack8< 8 >
 
struct  Result
 
struct  SharedState
 
struct  Simd
 
struct  ThreadLocal
 
struct  Vec1
 
class  Vec128
 
class  Vec256
 
class  Vec512
 
class  Xorshift128Plus
 

Typedefs

template<typename T >
using SortTag = ScalableTag< T, -1 >
 
template<typename T >
using Vec64 = Vec128< T, 8/sizeof(T)>
 
template<typename T >
using Vec32 = Vec128< T, 4/sizeof(T)>
 
template<typename T >
using Mask64 = Mask128< T, 8/sizeof(T)>
 
template<class V >
using DFromV = Simd< typename V::PrivateT, V::kPrivateN, 0 >
 
template<class V >
using TFromV = typename V::PrivateT
 
template<class D >
using VFromD = decltype(Zero(D()))
 
template<class D >
using MFromD = decltype(FirstN(D(), 0))
 
template<typename T >
using Full128 = Simd< T, 16/sizeof(T), 0 >
 
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<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<typename T >
using Full16 = Simd< T, 2/sizeof(T), 0 >
 
template<typename T >
using Full32 = Simd< T, 4/sizeof(T), 0 >
 
template<typename T >
using Full64 = Simd< T, 8/sizeof(T), 0 >
 
template<class V >
using VecArg = V
 
template<typename T >
using Full256 = Simd< T, 32/sizeof(T), 0 >
 
template<typename T >
using Vec16 = Vec128< T, 2/sizeof(T)>
 
using GatherIndex64 = long long int
 
template<typename T >
using Full512 = Simd< T, 64/sizeof(T), 0 >
 
template<class Test >
using ForGE128Vectors = ForGEVectors< 128, Test >
 

Functions

template<class D , typename T = TFromD<D>>
void Fill (D d, T value, size_t count, T *HWY_RESTRICT to)
 
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 , typename T = TFromD<D>>
size_t Find (D d, T value, const T *HWY_RESTRICT in, size_t count)
 
template<class D , class Func , typename T = TFromD<D>>
size_t FindIf (D d, const T *HWY_RESTRICT in, size_t count, const Func &func)
 
template<class D , class Func , typename T = TFromD<D>>
void Generate (D d, T *HWY_RESTRICT out, size_t count, 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 , typename T = TFromD<D>>
void Replace (D d, T *HWY_RESTRICT inout, size_t count, T new_t, T old_t)
 
template<class D , class Func , typename T = TFromD<D>>
void ReplaceIf (D d, T *HWY_RESTRICT inout, size_t count, T new_t, const Func &func)
 
template<class D , class V >
HWY_INLINEAcos (const D d, V x)
 Highway SIMD version of std::acos(x).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
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).
 
template<class D , class V >
HWY_NOINLINECallTanh (const D d, VecArg< V > x)
 
template<class D , class VU64 , HWY_IF_NOT_FLOAT_D(D) >
Vec< D > RandomValues (D d, VU64 &s0, VU64 &s1, const VU64 mask)
 
template<class DF , class VU64 , HWY_IF_FLOAT_D(DF) >
Vec< DF > RandomValues (DF df, VU64 &s0, VU64 &s1, const VU64 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 KeyType , HWY_IF_NOT_LANE_SIZE(KeyType, 16) >
void CallHeapSort (KeyType *HWY_RESTRICT keys, const size_t num_keys)
 
template<class Order , typename KeyType >
void Run (Algo algo, KeyType *HWY_RESTRICT inout, size_t num, SharedState &shared, size_t thread)
 
template<class Traits , typename LaneType >
bool VerifySort (Traits st, const InputStats< LaneType > &input_stats, const LaneType *out, size_t num_lanes, 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)
 
template<class V >
HWY_API TFromV< V > GetLane (const V v)
 
template<typename T >
HWY_APIExtractLane (const Vec128< T, 1 > v, size_t i)
 
template<typename T >
HWY_APIExtractLane (const Vec128< T, 2 > v, size_t i)
 
template<typename T >
HWY_APIExtractLane (const Vec128< T, 4 > v, size_t i)
 
template<typename T >
HWY_APIExtractLane (const Vec128< T, 8 > v, size_t i)
 
template<typename T >
HWY_APIExtractLane (const Vec128< T, 16 > v, size_t i)
 
template<typename T >
HWY_API Vec128< T, 1 > InsertLane (const Vec128< T, 1 > v, size_t i, T t)
 
template<typename T >
HWY_API Vec128< T, 2 > InsertLane (const Vec128< T, 2 > v, size_t i, T t)
 
template<typename T >
HWY_API Vec128< T, 4 > InsertLane (const Vec128< T, 4 > v, size_t i, T t)
 
template<typename T >
HWY_API Vec128< T, 8 > InsertLane (const Vec128< T, 8 > v, size_t i, T t)
 
template<typename T >
HWY_API Vec128< T, 16 > InsertLane (const Vec128< T, 16 > v, size_t i, T t)
 
HWY_API Vec128< uint64_t > SumsOf8 (const Vec128< uint8_t > v)
 
HWY_API Vec64< uint64_t > SumsOf8 (const Vec64< uint8_t > v)
 
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, NXor3 (Vec128< T, N > x1, Vec128< T, N > x2, Vec128< T, N > x3)
 
template<typename T , size_t N>
HWY_API Vec128< T, NOr3 (Vec128< T, N > o1, Vec128< T, N > o2, Vec128< T, N > o3)
 
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)
 
template<typename T , size_t N>
HWY_API Mask128< T, NExclusiveNeither (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> (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< uint32_t > LoadU (Full32< uint32_t >, const uint32_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)
 
template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x6) >
HWY_API Vec32< T > LoadU (Full32< T > d, const 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< int16_t, 1 > LoadU (Simd< int16_t, 1, 0 >, const int16_t *HWY_RESTRICT p)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, 2 > LoadU (Simd< T, 2, 0 > d, const 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< uint32_t > v, Full32< uint32_t >, uint32_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)
 
template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x6) >
HWY_API void StoreU (const Vec32< T > v, Full32< T > d, 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< int16_t, 1 > v, Simd< int16_t, 1, 0 >, int16_t *HWY_RESTRICT p)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API void StoreU (const Vec128< T, 2 > v, Simd< T, 2, 0 > d, 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< float > ConvertTo (Full128< float >, const Vec128< uint32_t > v)
 
template<size_t N, HWY_IF_LE64(uint32_t, N) >
HWY_API Vec128< float, NConvertTo (Simd< float, N, 0 >, const Vec128< uint32_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_API Mask128< T, NIsNaN (const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Mask128< T, NIsInf (const Vec128< T, N > v)
 
template<typename T , size_t N, HWY_IF_FLOAT(T) >
HWY_API Mask128< T, NIsFinite (const Vec128< T, 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)
 
HWY_API Vec64< bfloat16_tLowerHalf (const Vec128< bfloat16_t > 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)
 
HWY_API Vec64< bfloat16_tUpperHalf (Full64< bfloat16_t > dbh, const Vec128< bfloat16_t > 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< int32_t > ReorderWidenMulAccumulate (Full128< int32_t >, Vec128< int16_t > a, Vec128< int16_t > b, const Vec128< int32_t > sum0, Vec128< int32_t > &sum1)
 
HWY_API Vec64< int32_t > ReorderWidenMulAccumulate (Full64< int32_t > d32, Vec64< int16_t > a, Vec64< int16_t > b, const Vec64< int32_t > sum0, Vec64< int32_t > &sum1)
 
HWY_API Vec32< int32_t > ReorderWidenMulAccumulate (Full32< int32_t > d32, Vec32< int16_t > a, Vec32< int16_t > b, const Vec32< int32_t > sum0, Vec32< int32_t > &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<size_t N>
HWY_API Vec128< float, NRearrangeToOddPlusEven (const Vec128< float, N > sum0, const Vec128< float, N > sum1)
 
HWY_API Vec128< int32_t > RearrangeToOddPlusEven (const Vec128< int32_t > sum0, const Vec128< int32_t > sum1)
 
HWY_API Vec64< int32_t > RearrangeToOddPlusEven (const Vec64< int32_t > sum0, const Vec64< int32_t > sum1)
 
HWY_API Vec32< int32_t > RearrangeToOddPlusEven (const Vec32< int32_t > sum0, const Vec32< int32_t > sum1)
 
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)
 
template<typename T , size_t N, hwy::EnableIf< N !=2 &&sizeof(T) *N > = 8>
N ConcatOdd (Simd< T, N, 0 >, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, 4 > ConcatOdd (Simd< T, 4, 0 > d, Vec128< T, 4 > hi, Vec128< T, 4 > lo)
 
template<typename T >
HWY_API Vec128< T, 2 > ConcatOdd (Simd< T, 2, 0 > d, Vec128< T, 2 > hi, Vec128< T, 2 > lo)
 
template<typename T , size_t N, hwy::EnableIf< N !=2 &&sizeof(T) *N > = 8>
N ConcatEven (Simd< T, N, 0 >, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, 4 > ConcatEven (Simd< T, 4, 0 > d, Vec128< T, 4 > hi, Vec128< T, 4 > lo)
 
template<typename T >
HWY_API Vec128< T, 2 > ConcatEven (Simd< T, 2, 0 > d, Vec128< T, 2 > hi, Vec128< T, 2 > 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)
 
HWY_API Vec128< int16_t > ReorderDemote2To (Full128< int16_t > d16, Vec128< int32_t > a, Vec128< int32_t > b)
 
HWY_API Vec64< int16_t > ReorderDemote2To (Full64< int16_t >, Vec64< int32_t > a, Vec64< int32_t > b)
 
HWY_API Vec32< int16_t > ReorderDemote2To (Full32< int16_t >, Vec32< int32_t > a, Vec32< int32_t > b)
 
template<size_t N>
HWY_API Vec128< float, NPromoteTo (Simd< float, N, 0 > df32, const Vec128< bfloat16_t, N > v)
 
template<typename From , typename To , HWY_IF_UNSIGNED(From) , HWY_IF_UNSIGNED(To) , hwy::EnableIf<(sizeof(To)< sizeof(From))> * = nullptr>
HWY_API Vec128< To, 1 > TruncateTo (Simd< To, 1, 0 >, const Vec128< From, 1 > v)
 
HWY_API Vec128< uint8_t, 2 > TruncateTo (Simd< uint8_t, 2, 0 >, const Vec128< uint64_t, 2 > v)
 
HWY_API Vec32< uint16_t > TruncateTo (Simd< uint16_t, 2, 0 >, const Vec128< uint64_t, 2 > v)
 
HWY_API Vec64< uint32_t > TruncateTo (Simd< uint32_t, 2, 0 >, const Vec128< uint64_t, 2 > v)
 
template<size_t N, hwy::EnableIf< N > = 2>
N TruncateTo (Simd< uint8_t, N, 0 >, const Vec128< uint32_t, N > v)
 
template<size_t N, hwy::EnableIf< N > = 2>
N TruncateTo (Simd< uint16_t, N, 0 >, const Vec128< uint32_t, N > v)
 
template<size_t N, hwy::EnableIf< N > = 2>
N TruncateTo (Simd< uint8_t, N, 0 >, const Vec128< uint16_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 > d, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_API size_t FindKnownFirstTrue (const Simd< T, N, 0 > d, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_API intptr_t FindFirstTrue (const Simd< T, N, 0 > d, 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 , size_t N>
HWY_API bool AllFalse (const Simd< T, N, 0 > d, const Mask128< T, N > m)
 
template<typename T >
HWY_API bool AllTrue (const Full128< T > d, const Mask128< T > m)
 
template<typename T , size_t N, HWY_IF_LE64(T, N) >
HWY_API bool AllTrue (const Simd< T, N, 0 > d, const Mask128< T, N > m)
 
template<typename T >
HWY_API Vec128< T, 1 > Compress (Vec128< T, 1 > v, Mask128< T, 1 >)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T, NCompress (Vec128< T, N > v, const Mask128< T, N > mask)
 
template<typename T >
HWY_API Vec128< T, 1 > CompressNot (Vec128< T, 1 > v, Mask128< T, 1 >)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > CompressNot (Vec128< T > v, Mask128< T > mask)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE_ONE_OF(T, 0x14) >
HWY_API Vec128< T, NCompressNot (Vec128< T, N > v, Mask128< T, N > mask)
 
HWY_API Vec128< uint64_t > CompressBlocksNot (Vec128< uint64_t > v, Mask128< uint64_t >)
 
template<typename T , size_t N, HWY_IF_NOT_LANE_SIZE(T, 1) >
HWY_INLINE Vec128< T, NCompressBits (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits)
 
template<typename T , size_t N, HWY_IF_NOT_LANE_SIZE(T, 1) >
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_IF_NOT_LANE_SIZE(T, 1) >
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_IF_NOT_LANE_SIZE(T, 1) >
HWY_API size_t CompressBitsStore (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N, HWY_IF_LOAD_INT(T, N) >
HWY_API void LoadInterleaved2 (Simd< T, N, 0 >, const T *HWY_RESTRICT unaligned, Vec128< T, N > &v0, Vec128< T, N > &v1)
 
template<typename T , size_t N, HWY_IF_LOAD_INT(T, N) >
HWY_API void LoadInterleaved3 (Simd< T, N, 0 >, const T *HWY_RESTRICT unaligned, Vec128< T, N > &v0, Vec128< T, N > &v1, Vec128< T, N > &v2)
 
template<typename T , size_t N, HWY_IF_LOAD_INT(T, N) >
HWY_API void LoadInterleaved4 (Simd< T, N, 0 >, const T *HWY_RESTRICT unaligned, Vec128< T, N > &v0, Vec128< T, N > &v1, Vec128< T, N > &v2, Vec128< T, N > &v3)
 
template<typename T , size_t N, HWY_IF_STORE_INT(T, N) >
HWY_API void StoreInterleaved2 (const Vec128< T, N > v0, const Vec128< T, N > v1, Simd< T, N, 0 >, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N, HWY_IF_STORE_INT(T, N) >
HWY_API void StoreInterleaved3 (const Vec128< T, N > v0, const Vec128< T, N > v1, const Vec128< T, N > v2, Simd< T, N, 0 >, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N, HWY_IF_STORE_INT(T, N) >
HWY_API void StoreInterleaved4 (const Vec128< T, N > v0, const Vec128< T, N > v1, const Vec128< T, N > v2, const Vec128< T, N > v3, Simd< T, N, 0 >, 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<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, NLt128Upper (Simd< T, N, 0 > d, Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, NEq128 (Simd< T, N, 0 > d, Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, NEq128Upper (Simd< T, N, 0 > d, Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, NNe128 (Simd< T, N, 0 > d, Vec128< T, N > a, Vec128< T, N > b)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, NNe128Upper (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 D >
HWY_INLINE VFromD< D > Min128Upper (D d, const VFromD< D > a, const VFromD< D > b)
 
template<class D >
HWY_INLINE VFromD< D > Max128Upper (D d, const VFromD< D > a, const VFromD< D > b)
 
template<typename T , size_t N, int kPow2>
HWY_API constexpr size_t Lanes (Simd< T, N, kPow2 >)
 
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_IF_FLOAT_V(V) >
HWY_APIXor3 (const V x1, const V x2, const V x3)
 
template<class V >
HWY_APIOr3 (V o1, V o2, V o3)
 
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)
 
HWY_API svbool_t ExclusiveNeither (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 D >
HWY_API size_t FindKnownFirstTrue (D d, svbool_t m)
 
template<class V >
HWY_APIIfThenElseZero (const svbool_t mask, const V yes)
 
template<class V >
HWY_APIIfThenZeroElse (const svbool_t 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_API VFromD< D > VecFromMask (const D d, svbool_t mask)
 
template<class V , HWY_IF_FLOAT_V(V) >
HWY_APIIfVecThenElse (const V mask, const V yes, const V no)
 
template<class V >
HWY_API svbool_t IsNaN (const V v)
 
template<class V >
HWY_API svbool_t IsInf (const V v)
 
template<class V >
HWY_API svbool_t IsFinite (const V v)
 
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 svuint8_t TruncateTo (Simd< uint8_t, N, kPow2 >, const svuint64_t v)
 
template<size_t N, int kPow2>
HWY_API svuint16_t TruncateTo (Simd< uint16_t, N, kPow2 >, const svuint64_t v)
 
template<size_t N, int kPow2>
HWY_API svuint32_t TruncateTo (Simd< uint32_t, N, kPow2 >, const svuint64_t v)
 
template<size_t N, int kPow2>
HWY_API svuint8_t TruncateTo (Simd< uint8_t, N, kPow2 >, const svuint32_t v)
 
template<size_t N, int kPow2>
HWY_API svuint16_t TruncateTo (Simd< uint16_t, N, kPow2 >, const svuint32_t v)
 
template<size_t N, int kPow2>
HWY_API svuint8_t TruncateTo (Simd< uint8_t, N, kPow2 >, const svuint16_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_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 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 DH , class V >
HWY_APIUpperHalf (const DH dh, const V v)
 
template<class D , class V >
SumOfLanes (D d, V v)
 
template<class D , class V >
MinOfLanes (D d, V v)
 
template<class D , class V >
MaxOfLanes (D d, V v)
 
template<class V >
HWY_API TFromV< V > ExtractLane (V v, size_t i)
 
template<class V >
HWY_APIInsertLane (const V v, size_t i, TFromV< V > t)
 
template<class V >
HWY_APIDupEven (const V v)
 
template<class V >
HWY_APIDupOdd (const V v)
 
template<class V , HWY_IF_FLOAT_V(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 , class V >
HWY_APIReverse (D d, 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, 8) >
HWY_APICompress (V v, svbool_t mask)
 
HWY_API svfloat16_t Compress (svfloat16_t v, svbool_t mask16)
 
template<class V , typename T = TFromV<V>, HWY_IF_LANE_SIZE_ONE_OF(T, 0x14) >
HWY_APICompressNot (V v, const svbool_t mask)
 
template<class V , HWY_IF_LANE_SIZE_V(V, 8) >
HWY_APICompressNot (V v, svbool_t mask)
 
HWY_API svuint64_t CompressBlocksNot (svuint64_t v, svbool_t mask)
 
template<class V , class D , HWY_IF_NOT_LANE_SIZE_D(D, 1) >
HWY_API size_t CompressStore (const V v, const svbool_t mask, const D d, TFromD< D > *HWY_RESTRICT unaligned)
 
template<class V , class D , HWY_IF_NOT_LANE_SIZE_D(D, 1) >
HWY_API size_t CompressBlendedStore (const V v, const svbool_t 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 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<size_t N, int kPow2>
HWY_API svint16_t ReorderDemote2To (Simd< int16_t, N, kPow2 > d16, svint32_t a, svint32_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 , class D = DFromV<V>, HWY_IF_NOT_LANE_SIZE_D(D, 1) >
HWY_INLINECompressBits (V v, const uint8_t *HWY_RESTRICT bits)
 
template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 1) >
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<size_t N, int kPow2>
HWY_API svint32_t ReorderWidenMulAccumulate (Simd< int32_t, N, kPow2 > d32, svint16_t a, svint16_t b, const svint32_t sum0, svint32_t &sum1)
 
template<class VW >
HWY_API VW RearrangeToOddPlusEven (const VW sum0, const VW sum1)
 
template<class D >
HWY_INLINE svbool_t Lt128 (D d, const svuint64_t a, const svuint64_t b)
 
template<class D >
HWY_INLINE svbool_t Lt128Upper (D d, svuint64_t a, svuint64_t b)
 
template<class D >
HWY_INLINE svbool_t Eq128 (D d, const svuint64_t a, const svuint64_t b)
 
template<class D >
HWY_INLINE svbool_t Ne128 (D d, const svuint64_t a, const svuint64_t b)
 
template<class D >
HWY_INLINE svbool_t Eq128Upper (D d, svuint64_t a, svuint64_t b)
 
template<class D >
HWY_INLINE svbool_t Ne128Upper (D d, svuint64_t a, 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 D >
HWY_INLINE svuint64_t Min128Upper (D d, const svuint64_t a, const svuint64_t b)
 
template<class D >
HWY_INLINE svuint64_t Max128Upper (D d, const svuint64_t a, const svuint64_t b)
 
template<typename T , size_t N, typename FromT , size_t FromN>
HWY_API Vec128< T, NBitCast (Simd< T, N, 0 >, Vec128< FromT, FromN > v)
 
template<typename T , size_t N, typename T2 >
HWY_API Vec128< T, NSet (Simd< T, N, 0 >, const T2 t)
 
template<typename T , size_t N, typename T2 >
HWY_API Vec128< T, NIota (const Simd< T, N, 0 >, T2 first)
 
template<typename T , size_t N>
HWY_API Vec128< T, NNot (const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NAnd (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NAndNot (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NOr (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
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, NBroadcastSignBit (Vec128< T, N > v)
 
template<typename T , size_t N>
Vec128< T, NVecFromMask (const Mask128< T, N > mask)
 
template<typename T , size_t N>
Vec128< T, NVecFromMask (Simd< T, N, 0 >, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_API Vec128< T, NIfThenElse (const Mask128< T, N > mask, const Vec128< T, N > yes, const Vec128< T, N > no)
 
template<int kBits, typename T , size_t N>
HWY_API Vec128< T, NShiftLeft (Vec128< T, N > v)
 
template<int kBits, typename T , size_t N>
HWY_API Vec128< T, NShiftRight (Vec128< T, N > v)
 
template<int kBits, typename T , size_t N>
HWY_API Vec128< T, NRotateRight (const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator<< (Vec128< T, N > v, const Vec128< T, N > bits)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator>> (Vec128< T, N > v, const Vec128< T, N > bits)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator- (Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator+ (Vec128< T, N > a, const Vec128< T, N > b)
 
template<size_t N>
HWY_API Vec128< uint64_t,(N+7)/8 > SumsOf8 (const Vec128< uint8_t, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NSaturatedAdd (Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NSaturatedSub (Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NAverageRound (Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NAbs (Vec128< T, N > a)
 
template<typename T , size_t N>
HWY_API Vec128< T, NMin (Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NMax (Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NNeg (Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator* (Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, Noperator/ (Vec128< T, N > a, const Vec128< T, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NMulHigh (Vec128< int16_t, N > a, const Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint16_t, NMulHigh (Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int16_t, NMulFixedPoint15 (Vec128< int16_t, N > a, Vec128< int16_t, N > b)
 
template<size_t N>
HWY_API Vec128< int64_t,(N+1)/2 > MulOdd (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b)
 
template<size_t N>
HWY_API Vec128< uint64_t,(N+1)/2 > MulOdd (Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b)
 
template<size_t N>
HWY_API Vec128< float, NAbsDiff (Vec128< float, N > a, const Vec128< float, N > b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NMulAdd (Vec128< T, N > mul, const Vec128< T, N > x, const Vec128< T, N > add)
 
template<typename T , size_t N>
HWY_API Vec128< T, NNegMulAdd (Vec128< T, N > mul, const Vec128< T, N > x, const Vec128< T, N > add)
 
template<typename T , size_t N>
HWY_API Vec128< T, NMulSub (Vec128< T, N > mul, const Vec128< T, N > x, const Vec128< T, N > sub)
 
template<typename T , size_t N>
HWY_API Vec128< T, NNegMulSub (Vec128< T, N > mul, const Vec128< T, N > x, const Vec128< T, N > sub)
 
template<typename T , size_t N>
HWY_API Vec128< T, NSqrt (Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NRound (Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NTrunc (Vec128< T, N > v)
 
template<typename Float , size_t N>
Vec128< Float, NCeil (Vec128< Float, N > v)
 
template<typename Float , size_t N>
Vec128< Float, NFloor (Vec128< Float, N > v)
 
template<typename T , size_t N>
HWY_API Mask128< T, NIsInf (const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Mask128< T, NIsFinite (const Vec128< T, N > 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!= (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API Mask128< T, NTestBit (const Vec128< T, N > v, const Vec128< T, N > bit)
 
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<= (const Vec128< T, N > a, const Vec128< T, N > b)
 
HWY_API Mask128< uint64_t > Lt128 (Simd< uint64_t, 2, 0 >, Vec128< uint64_t > a, const Vec128< uint64_t > b)
 
HWY_API Mask128< uint64_t > Lt128Upper (Simd< uint64_t, 2, 0 >, Vec128< uint64_t > a, const Vec128< uint64_t > b)
 
HWY_API Mask128< uint64_t > Eq128 (Simd< uint64_t, 2, 0 >, Vec128< uint64_t > a, const Vec128< uint64_t > b)
 
HWY_API Mask128< uint64_t > Ne128 (Simd< uint64_t, 2, 0 >, Vec128< uint64_t > a, const Vec128< uint64_t > b)
 
HWY_API Mask128< uint64_t > Eq128Upper (Simd< uint64_t, 2, 0 >, Vec128< uint64_t > a, const Vec128< uint64_t > b)
 
HWY_API Mask128< uint64_t > Ne128Upper (Simd< uint64_t, 2, 0 >, Vec128< uint64_t > a, const Vec128< uint64_t > 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)
 
template<class D , class V = VFromD<D>>
HWY_APIMin128Upper (D d, const V a, const V b)
 
template<class D , class V = VFromD<D>>
HWY_APIMax128Upper (D d, const V a, const V b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NLoadU (Simd< T, N, 0 > d, const T *HWY_RESTRICT p)
 
template<typename T , size_t N>
HWY_API Vec128< T, NLoadDup128 (Simd< T, N, 0 > d, const T *HWY_RESTRICT aligned)
 
template<typename T , size_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_API void LoadInterleaved2 (Simd< T, N, 0 > d, const T *HWY_RESTRICT unaligned, Vec128< T, N > &v0, Vec128< T, N > &v1)
 
template<typename T , size_t N>
HWY_API void LoadInterleaved3 (Simd< T, N, 0 > d, const T *HWY_RESTRICT unaligned, Vec128< T, N > &v0, Vec128< T, N > &v1, Vec128< T, N > &v2)
 
template<typename T , size_t N>
HWY_API void LoadInterleaved4 (Simd< T, N, 0 > d, const T *HWY_RESTRICT unaligned, Vec128< T, N > &v0, Vec128< T, N > &v1, Vec128< T, N > &v2, Vec128< T, N > &v3)
 
template<typename T , size_t N>
HWY_API void StoreInterleaved2 (const Vec128< T, N > v0, const Vec128< T, N > v1, Simd< T, N, 0 >, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N>
HWY_API void StoreInterleaved3 (const Vec128< T, N > v0, const Vec128< T, N > v1, const Vec128< T, N > v2, Simd< T, N, 0 >, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N>
HWY_API void StoreInterleaved4 (const Vec128< T, N > v0, const Vec128< T, N > v1, const Vec128< T, N > v2, const Vec128< T, N > v3, Simd< T, N, 0 >, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N, typename Offset >
HWY_API void ScatterOffset (Vec128< T, N > v, Simd< T, N, 0 >, T *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 >, T *HWY_RESTRICT base, const Vec128< Index, N > index)
 
template<typename T , size_t N, typename Offset >
HWY_API Vec128< T, NGatherOffset (Simd< T, N, 0 >, const T *base, const Vec128< Offset, N > offset)
 
template<typename FromT , typename ToT , size_t N>
HWY_API Vec128< ToT, NPromoteTo (Simd< ToT, N, 0 >, Vec128< FromT, N > from)
 
template<size_t N>
HWY_API Vec128< float, NDemoteTo (Simd< float, N, 0 >, Vec128< double, N > from)
 
template<size_t N>
HWY_API Vec128< int32_t, NDemoteTo (Simd< int32_t, N, 0 >, Vec128< double, N > from)
 
template<typename FromT , typename ToT , size_t N>
HWY_API Vec128< ToT, NDemoteTo (Simd< ToT, N, 0 >, Vec128< FromT, N > from)
 
template<size_t N>
HWY_API Vec128< int16_t, 2 *NReorderDemote2To (Simd< int16_t, 2 *N, 0 >, Vec128< int32_t, N > a, Vec128< int32_t, N > b)
 
template<typename FromT , typename ToT , size_t N>
HWY_API Vec128< ToT, NConvertTo (Simd< ToT, N, 0 > d, Vec128< FromT, N > from)
 
template<size_t N>
HWY_API Vec128< uint8_t, NU8FromU32 (const Vec128< uint32_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint8_t, NTruncateTo (Simd< uint8_t, N, 0 >, const Vec128< uint64_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint16_t, NTruncateTo (Simd< uint16_t, N, 0 >, const Vec128< uint64_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint32_t, NTruncateTo (Simd< uint32_t, N, 0 >, const Vec128< uint64_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint8_t, NTruncateTo (Simd< uint8_t, N, 0 >, const Vec128< uint32_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint16_t, NTruncateTo (Simd< uint16_t, N, 0 >, const Vec128< uint32_t, N > v)
 
template<size_t N>
HWY_API Vec128< uint8_t, NTruncateTo (Simd< uint8_t, N, 0 >, const Vec128< uint16_t, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, N/2 > LowerHalf (Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, N/2 > UpperHalf (Simd< T, N/2, 0 >, Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NCombine (Simd< T, N, 0 >, Vec128< T, N/2 > hi_half, Vec128< T, N/2 > lo_half)
 
template<typename T , size_t N>
HWY_API Vec128< T, NConcatLowerLower (Simd< T, N, 0 >, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , size_t N>
HWY_API Vec128< T, NConcatUpperUpper (Simd< T, N, 0 >, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , size_t N>
HWY_API Vec128< T, NConcatLowerUpper (Simd< T, N, 0 >, const Vec128< T, N > hi, const Vec128< T, N > lo)
 
template<typename T , size_t N>
HWY_API Vec128< T, NConcatEven (Simd< T, N, 0 >, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<typename T , size_t N>
HWY_API Vec128< T, NConcatOdd (Simd< T, N, 0 >, Vec128< T, N > hi, Vec128< T, N > lo)
 
template<int kBytes, typename T , size_t N, class V = Vec128<T, N>>
HWY_APICombineShiftRightBytes (Simd< T, N, 0 >, V hi, V lo)
 
template<typename T , size_t N>
HWY_APIGetLane (const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NInsertLane (Vec128< T, N > v, size_t i, T t)
 
template<typename T , size_t N>
HWY_APIExtractLane (const Vec128< T, N > v, size_t i)
 
template<typename T , size_t N>
HWY_API Vec128< T, NDupEven (Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NDupOdd (Vec128< T, N > v)
 
template<typename T , size_t N, typename TI >
HWY_API Indices128< T, NIndicesFromVec (Simd< T, N, 0 >, Vec128< TI, N > vec)
 
template<typename T , size_t N, typename TI >
HWY_API Indices128< T, NSetTableIndices (Simd< T, N, 0 > d, const TI *idx)
 
template<typename T , size_t N>
HWY_API Vec128< T, NReverseBlocks (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NReverse (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NReverse2 (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NReverse4 (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NReverse8 (Simd< T, N, 0 >, const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NShuffle2301 (const Vec128< T, N > v)
 
template<int kLane, typename T , size_t N>
HWY_API Vec128< T, NBroadcast (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 > v, const Vec128< TI, NI > indices)
 
template<typename T , size_t N, typename TI , size_t NI>
HWY_API Vec128< TI, NI > TableLookupBytesOr0 (const Vec128< T, N > v, const Vec128< TI, NI > indices)
 
template<typename T , size_t N>
HWY_API Vec128< T, NInterleaveLower (const Vec128< T, N > a, const Vec128< T, N > b)
 
template<class V >
HWY_APIInterleaveLower (DFromV< V >, V a, V b)
 
template<typename T , size_t N>
HWY_API Vec128< T, NInterleaveUpper (Simd< T, N, 0 >, const Vec128< T, N > a, const Vec128< T, N > b)
 
template<typename T , size_t N>
HWY_API bool AllTrue (Simd< T, N, 0 >, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_API Mask128< T, NLoadMaskBits (Simd< T, N, 0 >, const uint8_t *HWY_RESTRICT bits)
 
template<typename T , size_t N>
HWY_API size_t CountTrue (Simd< T, N, 0 >, const Mask128< T, N > mask)
 
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_API Vec128< T, NCompressNot (Vec128< T, N > v, const Mask128< T, N > mask)
 
template<typename T , size_t N>
HWY_API 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 >, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N>
HWY_API size_t CompressBlendedStore (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 CompressBitsStore (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
template<size_t N>
HWY_API Vec128< int32_t, NReorderWidenMulAccumulate (Simd< int32_t, N, 0 > d32, Vec128< int16_t, 2 *N > a, Vec128< int16_t, 2 *N > b, const Vec128< int32_t, N > sum0, Vec128< int32_t, N > &sum1)
 
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 >
HWY_API Vec< D > Inf (D d)
 
template<class D , typename T = TFromD<D>>
HWY_API void SafeFillN (const size_t num, const T value, D d, T *HWY_RESTRICT to)
 
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 T , size_t N, class V >
HWY_API void LoadInterleaved2 (Simd< T, N, 0 > d, const T *HWY_RESTRICT unaligned, V &v0, V &v1)
 
template<typename T , class V >
HWY_API void LoadInterleaved2 (Simd< T, 1, 0 > d, const T *HWY_RESTRICT unaligned, V &v0, V &v1)
 
template<typename T , size_t N, class V , HWY_IF_LANES_PER_BLOCK(T, N, 16) >
HWY_API void LoadInterleaved3 (Simd< T, N, 0 > d, const T *HWY_RESTRICT unaligned, V &v0, V &v1, V &v2)
 
template<typename T , size_t N, class V , HWY_IF_LANE_SIZE(T, 1) , HWY_IF_LANES_PER_BLOCK(T, N, 8) >
HWY_API void LoadInterleaved3 (Simd< T, N, 0 > d, const T *HWY_RESTRICT unaligned, V &v0, V &v1, V &v2)
 
template<typename T , class V >
HWY_API void LoadInterleaved3 (Simd< T, 1, 0 > d, const T *HWY_RESTRICT unaligned, V &v0, V &v1, V &v2)
 
template<typename T , size_t N, class V , HWY_IF_LANES_PER_BLOCK(T, N, 16) >
HWY_API void LoadInterleaved4 (Simd< T, N, 0 > d, const T *HWY_RESTRICT unaligned, V &v0, V &v1, V &v2, V &v3)
 
template<typename T , class V >
HWY_API void LoadInterleaved4 (Simd< T, 1, 0 > d, const T *HWY_RESTRICT unaligned, V &v0, V &v1, V &v2, V &v3)
 
template<typename T , size_t N, class V , HWY_IF_GE128(T, N) >
HWY_API void StoreInterleaved2 (const V v0, const V v1, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N, class V , HWY_IF_LANE_SIZE(T, 1) , HWY_IF_GE128(T, N) >
HWY_API void StoreInterleaved3 (const V v0, const V v1, const V v2, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
template<class V , typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API void StoreInterleaved3 (const V part0, const V part1, const V part2, Full64< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API void StoreInterleaved3 (const Vec64< T > part0, const Vec64< T > part1, const Vec64< T > part2, Full64< T > dh, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) , HWY_IF_LE32(T, N) >
HWY_API void StoreInterleaved3 (const Vec128< T, N > part0, const Vec128< T, N > part1, const Vec128< T, N > part2, Simd< T, N, 0 >, T *HWY_RESTRICT unaligned)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API void StoreInterleaved3 (const Vec128< T, 2 > part0, const Vec128< T, 2 > part1, const Vec128< T, 2 > part2, Simd< T, 2, 0 >, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API void StoreInterleaved3 (const Vec128< T, 1 > v0, const Vec128< T, 1 > v1, const Vec128< T, 1 > v2, Simd< T, 1, 0 > d, T *HWY_RESTRICT unaligned)
 
template<typename T , size_t N, class V , HWY_IF_NOT_LANE_SIZE(T, 8) , HWY_IF_GE128(T, N) >
HWY_API void StoreInterleaved4 (const V v0, const V v1, const V v2, const V v3, Simd< T, N, 0 > d, T *HWY_RESTRICT unaligned)
 
template<typename T , HWY_IF_NOT_LANE_SIZE(T, 8) >
HWY_API void StoreInterleaved4 (const Vec64< T > part0, const Vec64< T > part1, const Vec64< T > part2, const Vec64< T > part3, Full64< T >, T *HWY_RESTRICT unaligned)
 
template<typename V , class D = DFromV<V>, HWY_IF_LANE_SIZE_D(D, 1) , HWY_IF_GE128_D(D) , HWY_IF_POW2_GE(D, HWY_MIN_POW2_FOR_128) >
HWY_APIPopulationCount (V v)
 
template<typename V , class D = DFromV<V>, HWY_IF_LANE_SIZE_D(D, 2) >
HWY_APIPopulationCount (V v)
 
template<class V , class D = DFromV<V>, HWY_IF_LANE_SIZE_D(D, 8) , HWY_IF_LT128_D(D) , HWY_IF_FLOAT_D(D) >
HWY_APIoperator* (V x, V y)
 
template<class V , class D64 = DFromV<V>, typename T = LaneType<V>, HWY_IF_LANE_SIZE(T, 8) , HWY_IF_UNSIGNED(T) , HWY_IF_GE128_D(D64) >
HWY_APIoperator* (V x, V y)
 
template<class V , class D , typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API size_t CompressBitsStore (V v, const uint8_t *HWY_RESTRICT bits, D d, T *unaligned)
 
template<class V , class M , class D , typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API size_t CompressStore (V v, M mask, D d, T *HWY_RESTRICT unaligned)
 
template<class V , class M , class D , typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API size_t CompressBlendedStore (V v, M mask, D d, T *HWY_RESTRICT unaligned)
 
template<class V , class M , typename T = TFromV<V>, HWY_IF_LANE_SIZE(T, 1) >
HWY_APICompress (V v, const M mask)
 
template<class V , typename T = TFromV<V>, HWY_IF_LANE_SIZE(T, 1) >
HWY_APICompressBits (V v, const uint8_t *HWY_RESTRICT bits)
 
template<class V , class M , typename T = TFromV<V>, HWY_IF_LANE_SIZE(T, 1) >
HWY_APICompressNot (V v, M mask)
 
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<class D >
HWY_API VFromD< D > Zero (D 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 V >
HWY_APIXor3 (V x1, V x2, V x3)
 
template<class VU8 >
HWY_API VFromD< Repartition< uint64_t, DFromV< VU8 > > > SumsOf8 (const VU8 v)
 
template<class V >
HWY_API auto Ge (const V a, const V b) -> decltype(Le(a, b))
 
template<class V >
HWY_API auto Gt (const V a, const V b) -> decltype(Lt(a, b))
 
template<class V >
HWY_API auto TestBit (const V a, const V bit) -> decltype(Eq(a, bit))
 
template<class M , class V >
HWY_APIIfThenElseZero (const M mask, const V yes)
 
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 V >
HWY_APIIfVecThenElse (const V mask, const V yes, const V no)
 
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)
 
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 vuint8mf8_t TruncateTo (Simd< uint8_t, N, -3 > d, const VFromD< Simd< uint64_t, N, 0 > > v)
 
template<size_t N>
HWY_API vuint8mf4_t TruncateTo (Simd< uint8_t, N, -2 > d, const VFromD< Simd< uint64_t, N, 1 > > v)
 
template<size_t N>
HWY_API vuint8mf2_t TruncateTo (Simd< uint8_t, N, -1 > d, const VFromD< Simd< uint64_t, N, 2 > > v)
 
template<size_t N>
HWY_API vuint8m1_t TruncateTo (Simd< uint8_t, N, 0 > d, const VFromD< Simd< uint64_t, N, 3 > > v)
 
template<size_t N>
HWY_API vuint16mf4_t TruncateTo (Simd< uint16_t, N, -2 > d, const VFromD< Simd< uint64_t, N, 0 > > v)
 
template<size_t N>
HWY_API vuint16mf2_t TruncateTo (Simd< uint16_t, N, -1 > d, const VFromD< Simd< uint64_t, N, 1 > > v)
 
template<size_t N>
HWY_API vuint16m1_t TruncateTo (Simd< uint16_t, N, 0 > d, const VFromD< Simd< uint64_t, N, 2 > > v)
 
template<size_t N>
HWY_API vuint16m2_t TruncateTo (Simd< uint16_t, N, 1 > d, const VFromD< Simd< uint64_t, N, 3 > > v)
 
template<size_t N>
HWY_API vuint32mf2_t TruncateTo (Simd< uint32_t, N, -1 > d, const VFromD< Simd< uint64_t, N, 0 > > v)
 
template<size_t N>
HWY_API vuint32m1_t TruncateTo (Simd< uint32_t, N, 0 > d, const VFromD< Simd< uint64_t, N, 1 > > v)
 
template<size_t N>
HWY_API vuint32m2_t TruncateTo (Simd< uint32_t, N, 1 > d, const VFromD< Simd< uint64_t, N, 2 > > v)
 
template<size_t N>
HWY_API vuint32m4_t TruncateTo (Simd< uint32_t, N, 2 > d, const VFromD< Simd< uint64_t, N, 3 > > v)
 
template<size_t N>
HWY_API vuint8mf8_t TruncateTo (Simd< uint8_t, N, -3 > d, const VFromD< Simd< uint32_t, N, -1 > > v)
 
template<size_t N>
HWY_API vuint8mf4_t TruncateTo (Simd< uint8_t, N, -2 > d, const VFromD< Simd< uint32_t, N, 0 > > v)
 
template<size_t N>
HWY_API vuint8mf2_t TruncateTo (Simd< uint8_t, N, -1 > d, const VFromD< Simd< uint32_t, N, 1 > > v)
 
template<size_t N>
HWY_API vuint8m1_t TruncateTo (Simd< uint8_t, N, 0 > d, const VFromD< Simd< uint32_t, N, 2 > > v)
 
template<size_t N>
HWY_API vuint8m2_t TruncateTo (Simd< uint8_t, N, 1 > d, const VFromD< Simd< uint32_t, N, 3 > > v)
 
template<size_t N>
HWY_API vuint16mf4_t TruncateTo (Simd< uint16_t, N, -2 > d, const VFromD< Simd< uint32_t, N, -1 > > v)
 
template<size_t N>
HWY_API vuint16mf2_t TruncateTo (Simd< uint16_t, N, -1 > d, const VFromD< Simd< uint32_t, N, 0 > > v)
 
template<size_t N>
HWY_API vuint16m1_t TruncateTo (Simd< uint16_t, N, 0 > d, const VFromD< Simd< uint32_t, N, 1 > > v)
 
template<size_t N>
HWY_API vuint16m2_t TruncateTo (Simd< uint16_t, N, 1 > d, const VFromD< Simd< uint32_t, N, 2 > > v)
 
template<size_t N>
HWY_API vuint16m4_t TruncateTo (Simd< uint16_t, N, 2 > d, const VFromD< Simd< uint32_t, N, 3 > > v)
 
template<size_t N>
HWY_API vuint8mf8_t TruncateTo (Simd< uint8_t, N, -3 > d, const VFromD< Simd< uint16_t, N, -2 > > v)
 
template<size_t N>
HWY_API vuint8mf4_t TruncateTo (Simd< uint8_t, N, -2 > d, const VFromD< Simd< uint16_t, N, -1 > > v)
 
template<size_t N>
HWY_API vuint8mf2_t TruncateTo (Simd< uint8_t, N, -1 > d, const VFromD< Simd< uint16_t, N, 0 > > v)
 
template<size_t N>
HWY_API vuint8m1_t TruncateTo (Simd< uint8_t, N, 0 > d, const VFromD< Simd< uint16_t, N, 1 > > v)
 
template<size_t N>
HWY_API vuint8m2_t TruncateTo (Simd< uint8_t, N, 1 > d, const VFromD< Simd< uint16_t, N, 2 > > v)
 
template<size_t N>
HWY_API vuint8m4_t TruncateTo (Simd< uint8_t, N, 2 > d, const VFromD< Simd< uint16_t, N, 3 > > 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 V , HWY_IF_NOT_LANE_SIZE_V(V, 1) >
HWY_APIInsertLane (const V v, size_t i, TFromV< V > t)
 
template<class V >
HWY_APIOddEven (const V a, const V b)
 
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<class V , class M >
HWY_APICompressNot (V v, const M mask)
 
template<class V , class M >
HWY_APICompressBlocksNot (V v, const M mask)
 
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 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_API MFromD< DFromV< V > > IsNaN (const V v)
 
template<class V , class D = DFromV<V>>
HWY_API MFromD< D > IsInf (const V v)
 
template<class V , class D = DFromV<V>>
HWY_API MFromD< D > IsFinite (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::EnableIf<(kPow2< 3)> * = nullptr, class D32 = RepartitionToWide<Simd<int16_t, N, kPow2>>>
HWY_API VFromD< Simd< int16_t, N, kPow2 > > ReorderDemote2To (Simd< int16_t, N, kPow2 > d16, VFromD< D32 > a, VFromD< D32 > b)
 
template<size_t N, class V32 = VFromD<RepartitionToWide<Simd<int16_t, N, 3>>>>
HWY_API VFromD< Simd< int16_t, N, 3 > > ReorderDemote2To (Simd< int16_t, N, 3 > d16, V32 a, V32 b)
 
template<size_t N, int kPow2, class VN , class VW >
HWY_API VW ReorderWidenMulAccumulate (Simd< float, N, kPow2 > d32, VN a, VN b, const VW sum0, VW &sum1)
 
template<size_t N, int kPow2, class VN , class VW >
HWY_API VW ReorderWidenMulAccumulate (Simd< int32_t, N, kPow2 > d32, VN a, VN b, const VW sum0, VW &sum1)
 
template<class VW , HWY_IF_SIGNED_V(VW) >
HWY_API VW RearrangeToOddPlusEven (const VW sum0, const VW sum1)
 
HWY_API vint32m8_t RearrangeToOddPlusEven (vint32m8_t sum0, vint32m8_t sum1)
 
template<class D >
HWY_INLINE MFromD< D > Lt128 (D d, const VFromD< D > a, const VFromD< D > b)
 
template<class D >
HWY_INLINE MFromD< D > Lt128Upper (D d, const VFromD< D > a, const VFromD< D > b)
 
template<class D >
HWY_INLINE MFromD< D > Eq128 (D d, const VFromD< D > a, const VFromD< D > b)
 
template<class D >
HWY_INLINE MFromD< D > Eq128Upper (D d, const VFromD< D > a, const VFromD< D > b)
 
template<class D >
HWY_INLINE MFromD< D > Ne128 (D d, const VFromD< D > a, const VFromD< D > b)
 
template<class D >
HWY_INLINE MFromD< D > Ne128Upper (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 > Xor3 (Vec1< T > x1, Vec1< T > x2, Vec1< T > x3)
 
template<typename T >
HWY_API Vec1< T > Or3 (Vec1< T > o1, Vec1< T > o2, Vec1< T > o3)
 
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<typename T >
HWY_API Mask1< T > ExclusiveNeither (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 (Vec1< float > a)
 
HWY_API Vec1< double > Abs (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 Mask1< T > IsNaN (const Vec1< T > v)
 
HWY_API Mask1< float > IsInf (const Vec1< float > v)
 
HWY_API Mask1< double > IsInf (const Vec1< double > v)
 
HWY_API Mask1< float > IsFinite (const Vec1< float > v)
 
HWY_API Mask1< double > IsFinite (const Vec1< double > v)
 
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)
 
template<typename T >
HWY_API void LoadInterleaved2 (Sisd< T > d, const T *HWY_RESTRICT unaligned, Vec1< T > &v0, Vec1< T > &v1)
 
template<typename T >
HWY_API void LoadInterleaved3 (Sisd< T > d, const T *HWY_RESTRICT unaligned, Vec1< T > &v0, Vec1< T > &v1, Vec1< T > &v2)
 
template<typename T >
HWY_API void LoadInterleaved4 (Sisd< T > d, const T *HWY_RESTRICT unaligned, Vec1< T > &v0, Vec1< T > &v1, Vec1< T > &v2, Vec1< T > &v3)
 
template<typename T >
HWY_API void StoreInterleaved2 (const Vec1< T > v0, const Vec1< T > v1, Sisd< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API void StoreInterleaved3 (const Vec1< T > v0, const Vec1< T > v1, const Vec1< T > v2, Sisd< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API void StoreInterleaved4 (const Vec1< T > v0, const Vec1< T > v1, const Vec1< T > v2, const Vec1< T > v3, Sisd< T > d, 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)
 
HWY_API Vec1< uint8_t > TruncateTo (Sisd< uint8_t >, const Vec1< uint64_t > v)
 
HWY_API Vec1< uint16_t > TruncateTo (Sisd< uint16_t >, const Vec1< uint64_t > v)
 
HWY_API Vec1< uint32_t > TruncateTo (Sisd< uint32_t >, const Vec1< uint64_t > v)
 
HWY_API Vec1< uint8_t > TruncateTo (Sisd< uint8_t >, const Vec1< uint32_t > v)
 
HWY_API Vec1< uint16_t > TruncateTo (Sisd< uint16_t >, const Vec1< uint32_t > v)
 
HWY_API Vec1< uint8_t > TruncateTo (Sisd< uint8_t >, const Vec1< uint16_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_APIExtractLane (const Vec1< T > v, size_t i)
 
template<typename T >
HWY_API Vec1< T > InsertLane (Vec1< T > v, size_t i, T t)
 
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 size_t FindKnownFirstTrue (Sisd< T >, const Mask1< T >)
 
template<typename T >
HWY_API Vec1< T > Compress (Vec1< T > v, const Mask1< T >)
 
template<typename T >
HWY_API Vec1< T > CompressNot (Vec1< T > v, const Mask1< T >)
 
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 Vec1< T > CompressBits (Vec1< T > v, const uint8_t *HWY_RESTRICT)
 
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 > &)
 
HWY_API Vec1< int32_t > ReorderWidenMulAccumulate (Sisd< int32_t >, Vec1< int16_t > a, Vec1< int16_t > b, const Vec1< int32_t > sum0, Vec1< int32_t > &)
 
template<typename TW >
HWY_API Vec1< TW > RearrangeToOddPlusEven (const Vec1< TW > sum0, Vec1< TW >)
 
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 HWY_MAYBE_UNUSED constexpr int Pow2 (D)
 
template<class D >
HWY_INLINE HWY_MAYBE_UNUSED constexpr 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<typename T , size_t N, typename T2 , HWY_IF_LE128(T, N) >
Vec128< T, NIota (const Simd< T, N, 0 > d, const T2 first)
 
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<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<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 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<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_IF_LE128(T, N) >
HWY_API Mask128< T, NFirstN (const Simd< T, N, 0 > d, size_t num)
 
template<size_t N>
HWY_API Vec128< int8_t, NBroadcastSignBit (const Vec128< int8_t, N > v)
 
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_IF_LE128(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 >
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<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<size_t N>
HWY_API Vec128< double, NInterleaveLower (Vec128< double, N > a, Vec128< double, N > b)
 
template<typename T , class V = Vec128<T>>
HWY_APIInterleaveUpper (Full128< T >, V a, V b)
 
template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_API Vec128< T, NZeroExtendVector (Simd< T, N, 0 > d, Vec128< T, N/2 > lo)
 
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, 1) >
HWY_API Vec128< T > ConcatOdd (Full128< T >, Vec128< T > hi, Vec128< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, 8 > ConcatOdd (Simd< T, 8, 0 >, Vec128< T, 8 > hi, Vec128< T, 8 > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T > ConcatEven (Full128< T >, Vec128< T > hi, Vec128< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, 8 > ConcatEven (Simd< T, 8, 0 >, Vec128< T, 8 > hi, Vec128< T, 8 > 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_IF_LE128(uint32_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_LE128(int16_t, N) >
HWY_API Vec128< int16_t, NPromoteTo (Simd< int16_t, N, 0 >, const Vec128< int8_t, N > v)
 
template<size_t N, HWY_IF_LE128(int32_t, N) >
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 >, const Vec128< int8_t, N > v)
 
template<size_t N, HWY_IF_LE128(int32_t, N) >
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 >, const Vec128< int16_t, N > v)
 
template<size_t N, HWY_IF_LE128(int64_t, N) >
HWY_API Vec128< int64_t, NPromoteTo (Simd< int64_t, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128< double, NPromoteTo (Simd< double, N, 0 >, const Vec128< int32_t, N > v)
 
template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, NPromoteTo (Simd< float, N, 0 > df32, const Vec128< float16_t, N > v)
 
template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, NPromoteTo (Simd< float, N, 0 > df32, const Vec128< bfloat16_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)
 
HWY_API Vec128< int16_t, 2 > ReorderDemote2To (Simd< int16_t, 2, 0 > dn, Vec128< int32_t, 1 > a, Vec128< int32_t, 1 > b)
 
HWY_API Vec128< int16_t, 4 > ReorderDemote2To (Simd< int16_t, 4, 0 > dn, Vec128< int32_t, 2 > a, Vec128< int32_t, 2 > b)
 
HWY_API Vec16< uint8_t > TruncateTo (Full16< uint8_t >, const Vec128< uint64_t > v)
 
HWY_API Vec32< uint16_t > TruncateTo (Full32< uint16_t >, const Vec128< uint64_t > v)
 
HWY_API Vec64< uint32_t > TruncateTo (Full64< uint32_t >, const Vec128< uint64_t > 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< float, NConvertTo (Simd< float, N, 0 >, const Vec128< uint32_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 >
HWY_API bool AllFalse (const Full128< T > d, 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 AllFalse (Simd< T, N, 0 >, const Mask128< T, N > m)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > Compress (Vec128< T > v, Mask128< T > mask)
 
template<typename T , size_t N, HWY_IF_NOT_LANE_SIZE(T, 1) >
HWY_API Vec128< T, NCompressBits (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits)
 
template<size_t N>
HWY_API Vec128< int32_t, NRearrangeToOddPlusEven (const Vec128< int32_t, N > sum0, const Vec128< int32_t, N >)
 
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 > d)
 
template<typename T , typename T2 >
HWY_API Vec256< T > Set (Full256< T > d, const T2 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)
 
template<typename T >
HWY_API Vec256< T > operator+ (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > operator- (Vec256< T > a, const Vec256< T > b)
 
HWY_API Vec256< uint64_t > SumsOf8 (const Vec256< uint8_t > v)
 
template<typename T >
HWY_API Vec256< T > SaturatedAdd (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > SaturatedSub (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > AverageRound (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > Abs (Vec256< T > v)
 
template<int kBits, typename T >
HWY_API Vec256< T > ShiftLeft (Vec256< T > v)
 
template<int kBits, typename T >
HWY_API Vec256< T > ShiftRight (Vec256< T > v)
 
template<int kBits, typename T >
HWY_API Vec256< T > RotateRight (const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > ShiftLeftSame (Vec256< T > v, const int bits)
 
template<typename T >
HWY_API Vec256< T > ShiftRightSame (Vec256< T > v, const int bits)
 
template<typename T >
HWY_API Vec256< T > Min (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > Max (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > operator* (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > MulHigh (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > MulFixedPoint15 (Vec256< T > a, const Vec256< T > b)
 
HWY_API Vec256< uint64_t > MulEven (Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Vec256< int64_t > MulEven (Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< uint64_t > MulEven (Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Vec256< uint64_t > MulOdd (Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
template<typename T >
HWY_API Vec256< T > Neg (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > operator/ (Vec256< T > a, const Vec256< T > 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)
 
template<typename T >
HWY_API Vec256< T > Sqrt (Vec256< T > v)
 
HWY_API Vec256< float > ApproximateReciprocalSqrt (const Vec256< float > v)
 
HWY_API Vec256< float > Round (Vec256< float > v)
 
HWY_API Vec256< float > Trunc (Vec256< float > v)
 
HWY_API Vec256< float > Ceil (Vec256< float > v)
 
HWY_API Vec256< float > Floor (Vec256< float > v)
 
template<typename T >
HWY_API Mask256< T > IsNaN (const Vec256< T > v)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Mask256< T > IsInf (const Vec256< T > v)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Mask256< T > IsFinite (const Vec256< T > 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)
 
template<typename T >
HWY_API Mask256< T > operator== (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > operator!= (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > operator< (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > operator> (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > operator<= (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > operator>= (Vec256< T > a, const Vec256< T > 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 > Xor3 (Vec256< T > x1, Vec256< T > x2, Vec256< T > x3)
 
template<typename T >
HWY_API Vec256< T > Or3 (Vec256< T > o1, Vec256< T > o2, Vec256< T > o3)
 
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_API Mask256< T > MaskFromVec (const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > VecFromMask (Full256< T > d, Mask256< T > m)
 
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)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec256< T > ZeroIfNegative (Vec256< T > v)
 
template<typename T >
HWY_API Mask256< T > Not (const Mask256< T > m)
 
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 > ExclusiveNeither (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Vec256< T > operator<< (Vec256< T > v, const Vec256< T > bits)
 
template<typename T >
HWY_API Vec256< T > operator>> (Vec256< T > v, const Vec256< T > bits)
 
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 Vec256< T > Load (Full256< T > d, 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 > d, 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 > d, 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)
 
template<typename T >
HWY_APIExtractLane (const Vec256< T > v, size_t i)
 
template<typename T >
HWY_API Vec256< T > InsertLane (const Vec256< T > v, size_t i, T t)
 
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<typename T >
HWY_APIGetLane (const Vec256< T > v)
 
template<int kBytes, typename T >
HWY_API Vec256< T > ShiftLeftBytes (Full256< T > d, 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 > d, 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 > UpperHalf (Full128< T >, const Vec256< T > v)
 
template<int kBytes, typename T , class V = Vec256<T>>
HWY_APICombineShiftRightBytes (Full256< T > d, V hi, V lo)
 
template<int kLane, typename T >
HWY_API Vec256< T > Broadcast (const Vec256< T > v)
 
template<typename T , typename TI >
HWY_API Vec256< TI > TableLookupBytes (const Vec256< T > bytes, Vec256< TI > from)
 
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)
 
template<typename T >
HWY_API Vec256< T > Shuffle01 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Shuffle2301 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Shuffle1032 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Shuffle0321 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Shuffle2103 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Shuffle0123 (Vec256< T > v)
 
template<typename T , typename TI >
HWY_API Indices256< T > IndicesFromVec (Full256< T >, 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 (const Vec256< T > v, Indices256< T > idx)
 
template<typename T >
HWY_API Vec256< T > TableLookupLanesOr0 (Vec256< T > v, Indices256< T > idx)
 
template<typename T >
HWY_API Vec256< T > Reverse (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > Reverse2 (Full256< T > d, Vec256< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec256< T > Reverse4 (Full256< T > d, const Vec256< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec256< T > Reverse8 (Full256< T >, Vec256< T >)
 
template<typename T >
HWY_API Vec256< T > InterleaveLower (Vec256< T > a, Vec256< T > b)
 
template<typename T , class V = Vec256<T>>
HWY_APIInterleaveUpper (Full256< T > d, 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 >, Vec128< T > hi, Vec128< T > lo)
 
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 >, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > ConcatUpperLower (Full256< T >, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > ConcatOdd (Full256< T > d, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > ConcatEven (Full256< T > d, const Vec256< T > hi, const 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 (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > OddEvenBlocks (Vec256< T > odd, 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)
 
template<typename T , typename TN >
HWY_API Vec256< T > PromoteTo (Full256< T > d, const Vec128< TN > v)
 
template<typename TW , typename TN >
HWY_API Vec256< TW > PromoteTo (Full256< TW > d, const Vec64< TN > 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 Vec64< uint8_t > DemoteTo (Full64< uint8_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< uint8_t > DemoteTo (Full128< uint8_t >, const Vec256< int16_t > v)
 
HWY_API Vec64< int8_t > DemoteTo (Full64< 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 > di, const Vec256< double > v)
 
HWY_API Vec128< float16_tDemoteTo (Full128< float16_t > d16, const Vec256< float > v)
 
HWY_API Vec128< bfloat16_tDemoteTo (Full128< bfloat16_t > dbf16, const Vec256< float > v)
 
HWY_API Vec64< uint8_t > U8FromU32 (const Vec256< uint32_t > v)
 
HWY_API Vec32< uint8_t > TruncateTo (Full32< uint8_t >, const Vec256< uint64_t > v)
 
HWY_API Vec64< uint16_t > TruncateTo (Full64< uint16_t >, const Vec256< uint64_t > v)
 
HWY_API Vec128< uint32_t > TruncateTo (Full128< uint32_t >, const Vec256< uint64_t > v)
 
HWY_API Vec64< uint8_t > TruncateTo (Full64< uint8_t >, const Vec256< uint32_t > v)
 
HWY_API Vec128< uint16_t > TruncateTo (Full128< uint16_t >, const Vec256< uint32_t > v)
 
HWY_API Vec128< uint8_t > TruncateTo (Full128< uint8_t >, const Vec256< uint16_t > v)
 
HWY_API Vec256< bfloat16_tReorderDemote2To (Full256< bfloat16_t > dbf16, Vec256< float > a, Vec256< float > b)
 
HWY_API Vec256< int16_t > ReorderDemote2To (Full256< int16_t > d16, Vec256< int32_t > a, Vec256< int32_t > b)
 
template<typename TTo , typename TFrom >
HWY_API Vec256< TTo > ConvertTo (Full256< TTo > d, const Vec256< TFrom > v)
 
HWY_API Vec256< int32_t > NearestInt (const Vec256< float > v)
 
template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x110) >
HWY_API Mask256< T > LoadMaskBits (Full256< T > d, const uint8_t *HWY_RESTRICT bits)
 
template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x110) >
HWY_API size_t StoreMaskBits (const Full256< T > d, const Mask256< T > mask, uint8_t *bits)
 
template<typename T >
HWY_API size_t CountTrue (const Full256< T > d, const Mask256< T > m)
 
template<typename T >
HWY_API bool AllFalse (const Full256< T > d, const Mask256< T > m)
 
template<typename T >
HWY_API bool AllTrue (const Full256< T > d, const Mask256< T > m)
 
template<typename T >
HWY_API size_t FindKnownFirstTrue (const Full256< T > d, const Mask256< T > mask)
 
template<typename T >
HWY_API intptr_t FindFirstTrue (const Full256< T > d, const Mask256< T > mask)
 
template<typename T >
HWY_API size_t CompressStore (const Vec256< T > v, const Mask256< T > mask, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t CompressBlendedStore (const Vec256< T > v, const Mask256< T > m, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t CompressBitsStore (const Vec256< T > v, const uint8_t *HWY_RESTRICT bits, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API Vec256< T > Compress (const Vec256< T > v, const Mask256< T > mask)
 
template<typename T >
HWY_API Vec256< T > CompressNot (Vec256< T > v, const Mask256< T > mask)
 
HWY_API Vec256< uint64_t > CompressBlocksNot (Vec256< uint64_t > v, Mask256< uint64_t > mask)
 
template<typename T >
HWY_API Vec256< T > CompressBits (Vec256< T > v, const uint8_t *HWY_RESTRICT bits)
 
template<typename TN , typename TW >
HWY_API Vec256< TW > ReorderWidenMulAccumulate (Full256< TW > d, Vec256< TN > a, Vec256< TN > b, Vec256< TW > sum0, Vec256< TW > &sum1)
 
template<typename TW >
HWY_API Vec256< TW > RearrangeToOddPlusEven (Vec256< TW > sum0, Vec256< TW > sum1)
 
template<typename T >
HWY_API Vec256< T > SumOfLanes (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > MinOfLanes (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > MaxOfLanes (Full256< T > d, 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 Mask256< T > Lt128Upper (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > Eq128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > Eq128Upper (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > Ne128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > Ne128Upper (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<typename T >
HWY_INLINE Vec256< T > Min128Upper (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Vec256< T > Max128Upper (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<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_APIGetLane (const Vec128< T, N > v)
 
template<size_t N>
HWY_API float GetLane (const Vec128< float, N > v)
 
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 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<typename T , size_t N>
HWY_INLINE Vec128< T, NNeg (const 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< float, NShuffle2301 (const Vec128< float, N > v)
 
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< 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)
 
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 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)
 
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, 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<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<typename T >
HWY_API Vec128< T, 1 > Reverse2 (Simd< T, 1, 0 >, const Vec128< T, 1 > 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_API Vec128< T > ZeroExtendVector (Full128< T > d, Vec64< T > 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 > d, Vec128< float > hi, Vec128< float > lo)
 
HWY_API Vec128< double > ConcatUpperLower (Full128< double >, Vec128< double > hi, 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, 1) >
HWY_API Vec64< T > ConcatOdd (Simd< T, 8, 0 > d, Vec64< T > hi, Vec64< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec32< T > ConcatOdd (Simd< T, 4, 0 > d, Vec32< T > hi, Vec32< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec64< T > ConcatOdd (Simd< T, 4, 0 > d, Vec64< T > hi, Vec64< T > lo)
 
template<size_t N>
HWY_API Vec128< float > ConcatOdd (Full128< float >, Vec128< float > hi, Vec128< float > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec64< T > ConcatEven (Simd< T, 8, 0 > d, Vec64< T > hi, Vec64< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec32< T > ConcatEven (Simd< T, 4, 0 > d, Vec32< T > hi, Vec32< T > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec64< T > ConcatEven (Simd< T, 4, 0 > d, Vec64< T > hi, Vec64< T > lo)
 
HWY_API Vec128< float > ConcatEven (Full128< float >, Vec128< float > hi, Vec128< float > 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<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_INLINE Vec128< T, NOddEven (const Vec128< T, N > a, const Vec128< T, N > b)
 
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<class V , size_t N, class D16 = Simd<bfloat16_t, 2 * N, 0>>
HWY_APIReorderWidenMulAccumulate (Simd< float, N, 0 > df32, VFromD< D16 > a, VFromD< D16 > b, const V sum0, V &sum1)
 
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< uint64_t, NPromoteTo (Simd< uint64_t, N, 0 >, const Vec128< uint32_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 > di, const Vec128< uint8_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 > di, const Vec128< uint16_t, N > v)
 
template<size_t N>
HWY_API Vec128< int32_t, NPromoteTo (Simd< int32_t, N, 0 > di, const Vec128< uint8_t, N > v)
 
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< double, NPromoteTo (Simd< double, N, 0 >, const Vec128< int32_t, N > v)
 
template<typename From , typename To , hwy::EnableIf<(sizeof(To)< sizeof(From))> * = nullptr>
HWY_API Vec128< To, 1 > TruncateTo (Simd< To, 1, 0 >, const Vec128< From, 1 > v)
 
template<size_t N>
HWY_API Vec128< float, NConvertTo (HWY_MAYBE_UNUSED Simd< float, N, 0 > df, const Vec128< uint32_t, N > v)
 
template<size_t N>
HWY_API Vec128< double, NConvertTo (Simd< double, N, 0 > dd, const Vec128< int64_t, N > v)
 
template<size_t N>
HWY_API Vec128< double, NConvertTo (HWY_MAYBE_UNUSED Simd< double, N, 0 > dd, const Vec128< uint64_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_API Vec128< T, NCeil (const Vec128< T, N > v)
 
template<typename T , size_t N>
HWY_API Vec128< T, NFloor (const Vec128< T, N > v)
 
template<size_t N>
HWY_API Mask128< float, NIsNaN (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Mask128< double, NIsNaN (const Vec128< double, N > v)
 
template<size_t N>
HWY_API Mask128< float, NIsInf (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Mask128< double, NIsInf (const Vec128< double, N > v)
 
template<size_t N>
HWY_API Mask128< float, NIsFinite (const Vec128< float, N > v)
 
template<size_t N>
HWY_API Mask128< double, NIsFinite (const Vec128< double, N > v)
 
template<size_t N, HWY_IF_GE64(float, N) >
HWY_API Vec128< float, NCompress (Vec128< float, N > v, Mask128< float, N > mask)
 
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_API MFromD< D > Eq128 (D d, const V a, const V b)
 
template<class D , class V = VFromD<D>>
HWY_API MFromD< D > Ne128 (D d, const V a, const V b)
 
template<class D , class V = VFromD<D>>
HWY_API MFromD< D > Lt128Upper (D d, const V a, const V b)
 
template<class D , class V = VFromD<D>>
HWY_API MFromD< D > Eq128Upper (D d, const V a, const V b)
 
template<class D , class V = VFromD<D>>
HWY_API MFromD< D > Ne128Upper (D d, const V a, const V b)
 
HWY_API Vec256< float > Zero (Full256< float >)
 
HWY_API Vec256< double > Zero (Full256< double >)
 
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)
 
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_API Vec256< T > ZeroIfNegative (const Vec256< T > v)
 
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< float > operator== (Vec256< float > a, Vec256< float > 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< float > operator!= (Vec256< float > a, Vec256< float > b)
 
HWY_API Mask256< double > operator!= (Vec256< double > a, Vec256< double > b)
 
HWY_API Mask256< int8_t > operator> (Vec256< int8_t > a, Vec256< int8_t > b)
 
HWY_API Mask256< int16_t > operator> (Vec256< int16_t > a, Vec256< int16_t > b)
 
HWY_API Mask256< int32_t > operator> (Vec256< int32_t > a, Vec256< int32_t > b)
 
HWY_API Mask256< int64_t > operator> (Vec256< int64_t > a, Vec256< int64_t > 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< float > operator> (Vec256< float > a, Vec256< float > b)
 
HWY_API Mask256< double > operator> (Vec256< double > a, Vec256< double > b)
 
HWY_API Mask256< float > operator>= (Vec256< float > a, Vec256< float > 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)
 
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< double > Min (const Vec256< double > a, const Vec256< double > 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< double > Max (const Vec256< double > a, const Vec256< double > b)
 
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< uint64_t > operator+ (const Vec256< uint64_t > a, const Vec256< uint64_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< int64_t > operator+ (const Vec256< int64_t > a, const Vec256< int64_t > b)
 
HWY_API Vec256< float > operator+ (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< double > operator+ (const Vec256< double > a, const Vec256< double > b)
 
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< uint64_t > operator- (const Vec256< uint64_t > a, const Vec256< uint64_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< int64_t > operator- (const Vec256< int64_t > a, const Vec256< int64_t > b)
 
HWY_API Vec256< float > operator- (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< double > operator- (const Vec256< double > a, const Vec256< double > b)
 
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< float > Abs (const Vec256< float > v)
 
HWY_API Vec256< double > Abs (const Vec256< double > v)
 
HWY_API Vec256< uint16_t > operator* (Vec256< uint16_t > a, Vec256< uint16_t > b)
 
HWY_API Vec256< uint32_t > operator* (Vec256< uint32_t > a, Vec256< uint32_t > b)
 
HWY_API Vec256< int16_t > operator* (Vec256< int16_t > a, Vec256< int16_t > b)
 
HWY_API Vec256< int32_t > operator* (Vec256< int32_t > a, Vec256< int32_t > b)
 
HWY_API Vec256< uint16_t > MulHigh (Vec256< uint16_t > a, Vec256< uint16_t > b)
 
HWY_API Vec256< int16_t > MulHigh (Vec256< int16_t > a, Vec256< int16_t > b)
 
HWY_API Vec256< int16_t > MulFixedPoint15 (Vec256< int16_t > a, Vec256< int16_t > b)
 
template<int kBits>
HWY_API Vec256< uint16_t > ShiftLeft (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< uint64_t > ShiftLeft (const Vec256< uint64_t > v)
 
template<int kBits>
HWY_API Vec256< int16_t > ShiftLeft (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< int64_t > ShiftLeft (const Vec256< int64_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< uint16_t > ShiftRight (const Vec256< uint16_t > v)
 
template<int kBits>
HWY_API Vec256< uint32_t > ShiftRight (const Vec256< uint32_t > v)
 
template<int kBits>
HWY_API Vec256< uint64_t > ShiftRight (const Vec256< uint64_t > v)
 
template<int kBits>
HWY_API Vec256< uint8_t > ShiftRight (const Vec256< uint8_t > v)
 
template<int kBits>
HWY_API Vec256< int16_t > ShiftRight (const Vec256< int16_t > v)
 
template<int kBits>
HWY_API Vec256< int32_t > ShiftRight (const Vec256< int32_t > v)
 
template<int kBits>
HWY_API Vec256< int8_t > ShiftRight (const Vec256< int8_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< int64_t > Abs (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< uint16_t > ShiftLeftSame (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< uint64_t > ShiftLeftSame (const Vec256< uint64_t > v, const int bits)
 
HWY_API Vec256< int16_t > ShiftLeftSame (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< int64_t > ShiftLeftSame (const Vec256< int64_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< uint16_t > ShiftRightSame (const Vec256< uint16_t > v, const int bits)
 
HWY_API Vec256< uint32_t > ShiftRightSame (const Vec256< uint32_t > v, const int bits)
 
HWY_API Vec256< uint64_t > ShiftRightSame (const Vec256< uint64_t > v, const int bits)
 
HWY_API Vec256< uint8_t > ShiftRightSame (Vec256< uint8_t > v, const int bits)
 
HWY_API Vec256< int16_t > ShiftRightSame (const Vec256< int16_t > v, const int bits)
 
HWY_API Vec256< int32_t > ShiftRightSame (const Vec256< int32_t > v, const int bits)
 
HWY_API Vec256< int64_t > ShiftRightSame (const Vec256< int64_t > v, const int bits)
 
HWY_API Vec256< int8_t > ShiftRightSame (Vec256< int8_t > v, const int bits)
 
HWY_API Vec256< float > operator* (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< double > operator* (const Vec256< double > a, const Vec256< double > b)
 
HWY_API Vec256< float > operator/ (const Vec256< float > a, const Vec256< float > 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< float > Sqrt (const Vec256< float > v)
 
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 Mask256< float > IsNaN (const Vec256< float > v)
 
HWY_API Mask256< double > IsNaN (const Vec256< double > v)
 
HWY_API Mask256< float > IsInf (const Vec256< float > v)
 
HWY_API Mask256< double > IsInf (const Vec256< double > v)
 
HWY_API Mask256< float > IsFinite (const Vec256< float > v)
 
HWY_API Mask256< double > IsFinite (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)
 
HWY_API Vec128< float > UpperHalf (Full128< float >, Vec256< float > v)
 
HWY_API Vec128< double > UpperHalf (Full128< double >, Vec256< double > 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< 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< uint64_t > Broadcast (const Vec256< uint64_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< int64_t > Broadcast (const Vec256< int64_t > v)
 
template<int kLane>
HWY_API Vec256< float > Broadcast (Vec256< float > v)
 
template<int kLane>
HWY_API Vec256< double > Broadcast (const Vec256< double > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > Shuffle2301 (const Vec256< 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)
 
HWY_API Vec256< float > SwapAdjacentBlocks (Vec256< float > v)
 
HWY_API Vec256< double > SwapAdjacentBlocks (Vec256< double > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > Reverse (Full256< T > d, const Vec256< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API Vec256< T > Reverse2 (Full256< T > d, const Vec256< T > v)
 
HWY_API Vec256< uint8_t > InterleaveLower (const Vec256< uint8_t > a, const Vec256< uint8_t > b)
 
HWY_API Vec256< uint16_t > InterleaveLower (const Vec256< uint16_t > a, const Vec256< uint16_t > b)
 
HWY_API Vec256< uint32_t > InterleaveLower (const Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Vec256< uint64_t > InterleaveLower (const Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Vec256< int8_t > InterleaveLower (const Vec256< int8_t > a, const Vec256< int8_t > b)
 
HWY_API Vec256< int16_t > InterleaveLower (const Vec256< int16_t > a, const Vec256< int16_t > b)
 
HWY_API Vec256< int32_t > InterleaveLower (const Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< int64_t > InterleaveLower (const Vec256< int64_t > a, const Vec256< int64_t > b)
 
HWY_API Vec256< float > InterleaveLower (const Vec256< float > a, const Vec256< float > b)
 
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 > ConcatUpperUpper (Full256< float >, const Vec256< float > hi, const Vec256< float > lo)
 
HWY_API Vec256< double > ConcatUpperUpper (Full256< double >, const Vec256< double > hi, const Vec256< double > lo)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > ConcatOdd (Full256< T > d, Vec256< T > hi, Vec256< T > 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)
 
template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > ConcatEven (Full256< T > d, Vec256< T > hi, Vec256< T > 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< float > OddEven (const Vec256< float > a, const Vec256< float > b)
 
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< uint16_t > operator>> (Vec256< uint16_t > v, Vec256< uint16_t > bits)
 
HWY_API Vec256< uint32_t > operator>> (Vec256< uint32_t > v, Vec256< uint32_t > bits)
 
HWY_API Vec256< uint64_t > operator>> (Vec256< uint64_t > v, Vec256< uint64_t > bits)
 
HWY_API Vec256< int16_t > operator>> (Vec256< int16_t > v, Vec256< int16_t > bits)
 
HWY_API Vec256< int32_t > operator>> (Vec256< int32_t > v, Vec256< int32_t > bits)
 
HWY_API Vec256< int64_t > operator>> (Vec256< int64_t > v, Vec256< int64_t > bits)
 
HWY_API Vec256< int32_t > ReorderWidenMulAccumulate (Full256< int32_t >, Vec256< int16_t > a, Vec256< int16_t > b, const Vec256< int32_t > sum0, Vec256< int32_t > &)
 
HWY_API Vec256< int32_t > RearrangeToOddPlusEven (const Vec256< int32_t > sum0, Vec256< int32_t >)
 
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< uint16_t > PromoteTo (Full256< uint16_t >, Vec128< uint8_t > v)
 
HWY_API Vec256< uint32_t > PromoteTo (Full256< uint32_t >, Vec128< uint8_t, 8 > v)
 
HWY_API Vec256< int16_t > PromoteTo (Full256< int16_t >, Vec128< uint8_t > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, Vec128< uint8_t, 8 > v)
 
HWY_API Vec256< uint32_t > PromoteTo (Full256< uint32_t >, Vec128< uint16_t > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, Vec128< uint16_t > v)
 
HWY_API Vec256< uint64_t > PromoteTo (Full256< uint64_t >, Vec128< uint32_t > v)
 
HWY_API Vec256< int16_t > PromoteTo (Full256< int16_t >, Vec128< int8_t > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, Vec128< int8_t, 8 > v)
 
HWY_API Vec256< int32_t > PromoteTo (Full256< int32_t >, Vec128< int16_t > v)
 
HWY_API Vec256< int64_t > PromoteTo (Full256< int64_t >, Vec128< int32_t > v)
 
HWY_API Vec128< float > DemoteTo (Full128< float >, const Vec256< double > v)
 
HWY_API Vec128< uint8_t, 4 > TruncateTo (Simd< uint8_t, 4, 0 >, const Vec256< uint64_t > v)
 
HWY_API Vec128< uint16_t, 4 > TruncateTo (Simd< uint16_t, 4, 0 >, const Vec256< uint64_t > v)
 
HWY_API Vec128< uint32_t > TruncateTo (Simd< uint32_t, 4, 0 >, const Vec256< uint64_t > v)
 
HWY_API Vec128< uint8_t, 8 > TruncateTo (Simd< uint8_t, 8, 0 >, const Vec256< uint32_t > v)
 
HWY_API Vec128< uint16_t > TruncateTo (Simd< uint16_t, 8, 0 >, const Vec256< uint32_t > v)
 
HWY_API Vec128< uint8_t > TruncateTo (Simd< uint8_t, 16, 0 >, const Vec256< uint16_t > v)
 
HWY_API Vec256< float > ConvertTo (Full256< float >, const Vec256< int32_t > v)
 
HWY_API Vec256< double > ConvertTo (Full256< double > dd, const Vec256< int64_t > v)
 
HWY_API Vec256< float > ConvertTo (HWY_MAYBE_UNUSED Full256< float > df, const Vec256< uint32_t > v)
 
HWY_API Vec256< double > ConvertTo (HWY_MAYBE_UNUSED Full256< double > dd, const Vec256< uint64_t > v)
 
HWY_API Vec256< int32_t > ConvertTo (Full256< int32_t > d, const Vec256< float > v)
 
HWY_API Vec256< int64_t > ConvertTo (Full256< int64_t > di, const Vec256< double > v)
 
HWY_API Vec256< float > PromoteTo (Full256< float > df32, const Vec128< float16_t > v)
 
HWY_API Vec256< float > PromoteTo (Full256< float > df32, const Vec128< bfloat16_t > 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 Mask256< T > LoadMaskBits (const Full256< T >, 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_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, 8) >
HWY_API Vec256< T > CompressNot (Vec256< T > v, Mask256< T > mask)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API size_t CompressStore (Vec256< T > v, Mask256< T > mask, Full256< T >, 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, 1) >
HWY_API size_t CompressBitsStore (Vec256< T > v, const uint8_t *HWY_RESTRICT bits, 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 > Xor3 (Vec512< T > x1, Vec512< T > x2, Vec512< T > x3)
 
template<typename T >
HWY_API Vec512< T > Or3 (Vec512< T > o1, Vec512< T > o2, Vec512< T > o3)
 
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< uint64_t > operator* (Vec512< uint64_t > a, Vec512< uint64_t > b)
 
HWY_API Vec256< uint64_t > operator* (Vec256< uint64_t > a, Vec256< uint64_t > b)
 
HWY_API Vec128< uint64_t > operator* (Vec128< uint64_t > a, Vec128< uint64_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< int64_t > operator* (Vec512< int64_t > a, Vec512< int64_t > b)
 
HWY_API Vec256< int64_t > operator* (Vec256< int64_t > a, Vec256< int64_t > b)
 
HWY_API Vec128< int64_t > operator* (Vec128< int64_t > a, Vec128< int64_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)
 
template<typename T >
HWY_API Mask512< T > ExclusiveNeither (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)
 
HWY_API Mask512< float > IsNaN (const Vec512< float > v)
 
HWY_API Mask512< double > IsNaN (const Vec512< double > v)
 
HWY_API Mask512< float > IsInf (const Vec512< float > v)
 
HWY_API Mask512< double > IsInf (const Vec512< double > v)
 
HWY_API Mask512< float > IsFinite (const Vec512< float > v)
 
HWY_API Mask512< double > IsFinite (const Vec512< double > 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_APIExtractLane (const Vec512< T > v, size_t i)
 
template<typename T >
HWY_API Vec512< T > InsertLane (const Vec512< T > v, size_t i, T t)
 
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)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec512< T > Shuffle2301 (const Vec512< 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, 1) >
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, 1) >
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 Vec512< int16_t > ReorderDemote2To (Full512< int16_t >, Vec512< int32_t > a, Vec512< int32_t > 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 Vec128< uint8_t, 8 > TruncateTo (Simd< uint8_t, 8, 0 > d, const Vec512< uint64_t > v)
 
HWY_API Vec128< uint16_t, 8 > TruncateTo (Simd< uint16_t, 8, 0 >, const Vec512< uint64_t > v)
 
HWY_API Vec256< uint32_t > TruncateTo (Simd< uint32_t, 8, 0 >, const Vec512< uint64_t > v)
 
HWY_API Vec128< uint8_t, 16 > TruncateTo (Simd< uint8_t, 16, 0 >, const Vec512< uint32_t > v)
 
HWY_API Vec256< uint16_t > TruncateTo (Simd< uint16_t, 16, 0 >, const Vec512< uint32_t > v)
 
HWY_API Vec256< uint8_t > TruncateTo (Simd< uint8_t, 32, 0 >, const Vec512< uint16_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< float > ConvertTo (Full512< float >, const Vec512< uint32_t > v)
 
HWY_API Vec512< double > ConvertTo (Full512< double >, const Vec512< uint64_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 size_t FindKnownFirstTrue (const Full512< T >, const Mask512< T > mask)
 
template<typename T >
HWY_API intptr_t FindFirstTrue (const Full512< T > d, const Mask512< T > mask)
 
template<class V , class M , HWY_IF_LANE_SIZE_ONE_OF_V(V, 0x6) >
HWY_APICompress (V v, const M mask)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec512< T > Compress (Vec512< T > v, Mask512< T > mask)
 
template<class V , class M , HWY_IF_NOT_LANE_SIZE_V(V, 8) >
HWY_APICompressNot (V v, const M mask)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec512< T > CompressNot (Vec512< T > v, Mask512< T > mask)
 
template<class V , class M , hwy::EnableIf<(sizeof(V) > 16)> * = nullptr>
HWY_APICompressBlocksNot (V v, M mask)
 
template<class V >
HWY_APICompressBits (V v, const uint8_t *HWY_RESTRICT bits)
 
template<class V , class D , HWY_IF_LANE_SIZE_ONE_OF_V(V, 0x6) >
HWY_API size_t CompressStore (V v, MFromD< D > mask, D d, TFromD< D > *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<class D , typename T = TFromD<D>>
HWY_API size_t CompressBlendedStore (VFromD< D > v, MFromD< D > m, D d, T *HWY_RESTRICT unaligned)
 
template<class D >
HWY_API size_t CompressBitsStore (VFromD< D > v, const uint8_t *HWY_RESTRICT bits, D d, TFromD< D > *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< int32_t > ReorderWidenMulAccumulate (Full512< int32_t >, Vec512< int16_t > a, Vec512< int16_t > b, const Vec512< int32_t > sum0, Vec512< int32_t > &)
 
HWY_API Vec512< int32_t > RearrangeToOddPlusEven (const Vec512< int32_t > sum0, Vec512< int32_t >)
 
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< uint16_t > SumOfLanes (Full512< uint16_t > d, Vec512< uint16_t > v)
 
HWY_API Vec512< int16_t > SumOfLanes (Full512< int16_t > d, Vec512< int16_t > 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)
 
HWY_API Vec512< uint16_t > MinOfLanes (Full512< uint16_t > d, Vec512< uint16_t > v)
 
HWY_API Vec512< int16_t > MinOfLanes (Full512< int16_t > d, Vec512< int16_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)
 
HWY_API Vec512< uint16_t > MaxOfLanes (Full512< uint16_t > d, Vec512< uint16_t > v)
 
HWY_API Vec512< int16_t > MaxOfLanes (Full512< int16_t > d, Vec512< int16_t > v)
 
template<class D , class V = VFromD<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

 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 Simd<typename V::PrivateT, V::kPrivateN, 0>

◆ 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>

◆ Full16

template<typename T >
using hwy::HWY_NAMESPACE::Full16 = typedef Simd<T, 2 / 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())))

◆ Mask64

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

◆ 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 typename V::PrivateT

◆ 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()))

◆ Vec16

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

◆ 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/33]

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

References BitCast(), and v.

◆ Abs() [2/33]

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

References Abs(), and v.

◆ Abs() [3/33]

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

References Abs(), and v.

◆ Abs() [4/33]

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

References v.

◆ Abs() [5/33]

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

References Abs(), and v.

◆ Abs() [6/33]

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 Abs(), and v.

◆ Abs() [7/33]

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

References v.

◆ Abs() [8/33]

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

References Abs(), and v.

◆ Abs() [9/33]

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 Abs(), and v.

◆ Abs() [10/33]

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

References v.

◆ Abs() [11/33]

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

◆ Abs() [12/33]

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

References v.

◆ Abs() [13/33]

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

◆ Abs() [14/33]

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 Abs(), and v.

◆ Abs() [15/33]

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

References v.

◆ Abs() [16/33]

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

◆ Abs() [17/33]

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

References BitCast(), and v.

◆ Abs() [18/33]

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

References BitCast(), and v.

◆ Abs() [19/33]

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

References v.

◆ Abs() [20/33]

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

References v.

◆ Abs() [21/33]

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

◆ Abs() [22/33]

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

References v, and Zero().

◆ Abs() [23/33]

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

References v.

◆ Abs() [24/33]

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

References v.

◆ Abs() [25/33]

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

References v.

◆ Abs() [26/33]

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

References v.

◆ Abs() [27/33]

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

References v.

◆ Abs() [28/33]

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

References v, and Zero().

◆ Abs() [29/33]

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

◆ Abs() [30/33]

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

◆ Abs() [31/33]

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

◆ Abs() [32/33]

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

◆ Abs() [33/33]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Abs ( Vec256< 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]

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

References Abs().

◆ AbsDiff() [4/6]

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

References Abs().

◆ AbsDiff() [5/6]

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

References Abs().

◆ AbsDiff() [6/6]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::AbsDiff ( Vec128< float, N a,
const Vec128< float, N 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 And(), d, Ge(), IfThenElse(), NegMulAdd(), Or(), Set(), SignBit(), Sqrt(), 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 d, Gt(), IfThenElse(), IfThenElseZero(), IfThenZeroElse(), hwy::HWY_NAMESPACE::impl::Log(), MulAdd(), MulSub(), Set(), and Sqrt().

Referenced by CallAcosh().

◆ 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/8]

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

◆ AllFalse() [2/8]

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

◆ AllFalse() [3/8]

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

References AllFalse().

◆ AllFalse() [4/8]

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

◆ AllFalse() [5/8]

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

References d, and FindFirstTrue().

◆ AllFalse() [6/8]

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

◆ AllFalse() [7/8]

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

◆ AllFalse() [8/8]

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 Full128< T >  d,
const Mask128< T >  m 
)

◆ AllTrue() [2/8]

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

◆ AllTrue() [3/8]

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

References AllTrue().

◆ AllTrue() [4/8]

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

References AllTrue(), d, and N.

◆ 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<class D >
HWY_API bool hwy::HWY_NAMESPACE::AllTrue ( d,
svbool_t  m 
)

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

◆ AllTrue() [7/8]

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

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

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

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

References BitCast(), and d.

Referenced by Acos(), And(), And(), And(), And(), And(), AndNot(), AndNot(), Asin(), Asinh(), Atan(), Atanh(), ConcatEven(), ConcatEven(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), CopyIf(), CopySign(), CopySign(), CopySign(), CopySign(), CopySignToAbs(), CopySignToAbs(), CopySignToAbs(), CopySignToAbs(), Eq128(), Eq128(), Eq128(), Exp(), Expm1(), Find(), FindIf(), hwy::HWY_NAMESPACE::impl::Log(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), operator&(), operator&(), operator&(), operator&(), operator>(), OrAnd(), OrAnd(), OrAnd(), OrAnd(), hwy::HWY_NAMESPACE::Pack16< 9 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Pack(), PopulationCount(), RandomValues(), RandomValues(), ReorderWidenMulAccumulate(), ReorderWidenMulAccumulate(), ReorderWidenMulAccumulate(), Sinh(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinSignFromQuadrant(), SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), SumsOf8(), Tanh(), TestBit(), TestBit(), hwy::HWY_NAMESPACE::Pack16< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Unpack(), and hwy::HWY_NAMESPACE::Pack8< 7 >::Unpack().

◆ And() [9/17]

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

References BitCast(), d, and N.

◆ And() [10/17]

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

References BitCast().

◆ And() [11/17]

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

◆ And() [12/17]

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

◆ And() [13/17]

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

◆ And() [14/17]

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

◆ And() [15/17]

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

◆ And() [16/17]

HWY_API svbool_t hwy::HWY_NAMESPACE::And ( svbool_t  a,
svbool_t  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 
)

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

◆ 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_API Vec128< T, N > hwy::HWY_NAMESPACE::AndNot ( const Vec128< T, N a,
const Vec128< T, N b 
)

References And(), and Not().

◆ AndNot() [10/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() [11/18]

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

References BitCast().

◆ AndNot() [12/18]

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

◆ AndNot() [13/18]

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

◆ AndNot() [14/18]

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

◆ AndNot() [15/18]

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

◆ AndNot() [16/18]

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

◆ AndNot() [17/18]

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

◆ 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 ApproximateReciprocal(), and 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 ApproximateReciprocal(), and 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 Set(), and 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)

◆ 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 ApproximateReciprocalSqrt(), and v.

◆ ApproximateReciprocalSqrt() [4/6]

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

◆ ApproximateReciprocalSqrt() [5/6]

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

References Set(), 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(), 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 And(), d, Gt(), IfThenElse(), IfThenElseZero(), IfThenZeroElse(), hwy::HWY_NAMESPACE::impl::Log(), MulAdd(), Or(), Set(), SignBit(), Sqrt(), 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, Gt(), IfThenElse(), Or(), Set(), SignBit(), 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 And(), d, Log1p(), Set(), SignBit(), and Xor().

Referenced by CallAtanh().

◆ AverageRound() [1/10]

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/10]

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/10]

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

◆ AverageRound() [4/10]

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

◆ AverageRound() [5/10]

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

◆ AverageRound() [6/10]

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

◆ AverageRound() [7/10]

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

◆ AverageRound() [8/10]

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

◆ AverageRound() [9/10]

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

References N, and hwy::HWY_NAMESPACE::Vec128< T, N >::raw.

Referenced by AverageRound().

◆ AverageRound() [10/10]

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

◆ BitCast() [1/6]

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

◆ BitCast() [2/6]

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

◆ BitCast() [3/6]

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

◆ BitCast() [4/6]

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 BitCast(), d, and v.

Referenced by Abs(), Abs(), Abs(), AllFalse(), And(), And(), And(), AndNot(), AndNot(), BitCast(), BitCast(), hwy::HWY_NAMESPACE::detail::BitCastToUnsigned(), hwy::HWY_NAMESPACE::detail::BitsFromBool(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), BlendedStore(), BroadcastSignBit(), Combine(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), Compress(), Compress(), hwy::HWY_NAMESPACE::detail::Compress(), CompressBlendedStore(), hwy::HWY_NAMESPACE::detail::CompressNot(), CompressStore(), hwy::HWY_NAMESPACE::Dot::Compute(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatLowerLower(), ConcatLowerLower(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatUpperLower(), ConcatUpperLower(), ConcatUpperUpper(), ConcatUpperUpper(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), CopySign(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosSignFromQuadrant(), hwy::HWY_NAMESPACE::detail::CountTrue(), hwy::HWY_NAMESPACE::detail::CountTrue(), hwy::HWY_NAMESPACE::detail::CountTrue(), hwy::HWY_NAMESPACE::detail::CountTrue(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::FirstNPerBlock(), hwy::HWY_NAMESPACE::detail::FixConversionOverflow(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), IfNegativeThenElse(), IfNegativeThenElse(), IfNegativeThenElse(), IfVecThenElse(), IfVecThenElse(), IndicesFromVec(), IndicesFromVec(), Inf(), InterleaveLower(), InterleaveUpper(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), LoadInterleaved3(), LoadInterleaved4(), LoadMaskBits(), LoadU(), LoadU(), hwy::HWY_NAMESPACE::impl::Log(), hwy::HWY_NAMESPACE::impl::LogImpl< float >::Log2p1NoSubnormal(), LowerHalf(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), Max(), Max(), MaxOfLanes(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxU(), Min(), Min(), MinOfLanes(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinU(), MulEven(), MulEven(), MulFixedPoint15(), MulOdd(), NaN(), hwy::HWY_NAMESPACE::detail::NibblesFromMask(), Not(), Not(), Not(), Not(), Not(), OddEven(), OddEven(), hwy::HWY_NAMESPACE::detail::OddEven(), hwy::HWY_NAMESPACE::detail::OddEven(), operator*(), operator<<(), operator<<(), operator>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), Or(), Or(), Or(), Or3(), OrAnd(), hwy::HWY_NAMESPACE::Pack8< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Pack(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), PopulationCount(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::Pow2I(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), RandomValues(), RandomValues(), RearrangeToOddPlusEven(), RebindMask(), ReorderDemote2To(), ReorderDemote2To(), ReorderDemote2To(), ReorderDemote2To(), ReorderDemote2To(), ReorderDemote2To(), ReorderWidenMulAccumulate(), ReorderWidenMulAccumulate(), ReorderWidenMulAccumulate(), ReorderWidenMulAccumulate(), ReorderWidenMulAccumulate(), hwy::HWY_NAMESPACE::detail::ReorderWidenMulAccumulateBF16(), Reverse(), Reverse(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse4(), Reverse4(), Reverse4(), Reverse8(), ReverseBlocks(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), hwy::HWY_NAMESPACE::detail::Set64(), hwy::HWY_NAMESPACE::detail::Set64(), ShiftLeft(), ShiftLeft(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftSame(), ShiftLeftSame(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRightBytes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), Shuffle01(), Shuffle0321(), Shuffle1032(), hwy::HWY_NAMESPACE::detail::Shuffle1230(), Shuffle2103(), hwy::HWY_NAMESPACE::detail::Shuffle2301(), hwy::HWY_NAMESPACE::detail::Shuffle3012(), SignBit(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinSignFromQuadrant(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved4(), StoreInterleaved4(), StoreU(), StoreU(), SumOfLanes(), SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), SumsOf8(), SumsOf8(), SumsOf8(), TableLookupBytes(), TableLookupBytes(), TableLookupBytes(), TableLookupBytes(), TableLookupBytesOr0(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), U8FromU32(), U8FromU32(), hwy::HWY_NAMESPACE::Pack16< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Unpack(), UpperHalf(), UpperHalf(), UpperHalf(), VecFromMask(), VecFromMask(), Xor(), Xor(), Xor(), Xor3(), Xor3(), Zero(), hwy::HWY_NAMESPACE::detail::ZeroExtendVector(), ZipLower(), ZipLower(), ZipLower(), ZipLower(), ZipLower(), ZipLower(), ZipLower(), ZipLower(), ZipUpper(), ZipUpper(), ZipUpper(), and ZipUpper().

◆ BitCast() [5/6]

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

References hwy::CopySameSize(), and v.

◆ BitCast() [6/6]

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/43]

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

◆ Broadcast() [2/43]

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/43]

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

References Broadcast(), and v.

◆ Broadcast() [4/43]

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 Broadcast(), N, and v.

◆ Broadcast() [5/43]

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/43]

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

References Broadcast(), and v.

◆ Broadcast() [7/43]

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 Broadcast(), N, and v.

◆ Broadcast() [8/43]

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/43]

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

References Broadcast(), and v.

◆ Broadcast() [10/43]

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 Broadcast(), N, and v.

◆ Broadcast() [11/43]

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/43]

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

References Broadcast(), and v.

◆ Broadcast() [13/43]

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/43]

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/43]

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

◆ Broadcast() [16/43]

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 Broadcast(), N, and v.

◆ Broadcast() [17/43]

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/43]

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

References Broadcast(), and v.

◆ Broadcast() [19/43]

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 Broadcast(), N, and v.

◆ Broadcast() [20/43]

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/43]

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

References Broadcast(), and v.

◆ Broadcast() [22/43]

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/43]

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

References v.

◆ Broadcast() [24/43]

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

References Broadcast(), and v.

◆ Broadcast() [25/43]

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

References Broadcast(), and v.

◆ Broadcast() [26/43]

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

References Broadcast(), and v.

◆ Broadcast() [27/43]

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

References Broadcast(), and v.

◆ Broadcast() [28/43]

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

◆ Broadcast() [29/43]

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

References Broadcast(), and v.

◆ Broadcast() [30/43]

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

References Broadcast(), and v.

◆ Broadcast() [31/43]

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

References Broadcast(), and v.

◆ Broadcast() [32/43]

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

References Broadcast(), and v.

◆ Broadcast() [33/43]

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

References Broadcast(), and v.

◆ Broadcast() [34/43]

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

References Broadcast(), and v.

◆ Broadcast() [35/43]

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

References Broadcast(), and v.

◆ Broadcast() [36/43]

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

References Broadcast(), and v.

◆ Broadcast() [37/43]

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

References Broadcast(), and v.

◆ Broadcast() [38/43]

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

References Broadcast(), and v.

◆ Broadcast() [39/43]

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

References Broadcast(), and v.

◆ Broadcast() [40/43]

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

References Broadcast(), and v.

◆ Broadcast() [41/43]

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

References Broadcast(), and v.

◆ Broadcast() [42/43]

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

◆ Broadcast() [43/43]

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

References Broadcast(), and v.

◆ BroadcastSignBit() [1/17]

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

References ShiftRight(), and v.

◆ BroadcastSignBit() [2/17]

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

References v.

◆ BroadcastSignBit() [3/17]

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

References v.

◆ BroadcastSignBit() [4/17]

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/17]

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/17]

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/17]

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

◆ BroadcastSignBit() [8/17]

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

References v.

◆ BroadcastSignBit() [9/17]

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

References v.

◆ BroadcastSignBit() [10/17]

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

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

◆ BroadcastSignBit() [11/17]

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

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

◆ BroadcastSignBit() [12/17]

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/17]

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

References v.

◆ BroadcastSignBit() [14/17]

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

References v.

◆ BroadcastSignBit() [15/17]

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

References v.

◆ BroadcastSignBit() [16/17]

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

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

◆ BroadcastSignBit() [17/17]

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

◆ 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().

◆ CallHeapSort()

template<class Order , typename KeyType , HWY_IF_NOT_LANE_SIZE(KeyType, 16) >
void hwy::HWY_NAMESPACE::CallHeapSort ( KeyType *HWY_RESTRICT  keys,
const size_t  num_keys 
)

◆ 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/10]

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

References Round(), and v.

◆ Ceil() [2/10]

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

References Ceil(), ConvertTo(), IfThenElse(), RebindMask(), v, and VecFromMask().

Referenced by Ceil(), and Ceil().

◆ Ceil() [3/10]

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

◆ Ceil() [4/10]

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

References v.

◆ Ceil() [5/10]

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

References v.

◆ Ceil() [6/10]

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

References v.

◆ Ceil() [7/10]

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

References v.

◆ Ceil() [8/10]

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

References v.

◆ Ceil() [9/10]

template<typename Float , size_t N>
Vec128< Float, N > hwy::HWY_NAMESPACE::Ceil ( Vec128< Float, N v)

References hwy::CopySameSize(), N, and v.

◆ Ceil() [10/10]

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

◆ Ceiling()

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

References hwy::CopySameSize(), and 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,
Vec128< T >  lo 
)

◆ 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 >  ,
Vec128< T, N/2 >  hi_half,
Vec128< T, N/2 >  lo_half 
)

◆ CombineShiftRightBytes() [1/9]

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/9]

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/9]

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

◆ CombineShiftRightBytes() [4/9]

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

References d.

◆ CombineShiftRightBytes() [5/9]

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

◆ CombineShiftRightBytes() [6/9]

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

◆ CombineShiftRightBytes() [7/9]

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/9]

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 
)

◆ CombineShiftRightBytes() [9/9]

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

References hwy::CopyBytes(), HWY_RESTRICT, and N.

◆ 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/14]

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

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

◆ Compress() [2/14]

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

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

◆ Compress() [3/14]

template<class V , class M , typename T = TFromV<V>, HWY_IF_LANE_SIZE(T, 1) >
HWY_API V hwy::HWY_NAMESPACE::Compress ( v,
const M  mask 
)

References CompressStore(), d, HWY_ALIGN, Load(), MaxLanes(), and v.

◆ Compress() [4/14]

template<class V , class M , HWY_IF_LANE_SIZE_ONE_OF_V(V, 0x6) >
HWY_API V hwy::HWY_NAMESPACE::Compress ( v,
const M  mask 
)

References BitCast(), d, RebindMask(), and v.

◆ Compress() [5/14]

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

◆ Compress() [6/14]

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

◆ Compress() [7/14]

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

◆ Compress() [8/14]

template<typename T >
HWY_API Vec128< T, 1 > hwy::HWY_NAMESPACE::Compress ( Vec128< T, 1 >  v,
Mask128< T, 1 >   
)

◆ Compress() [9/14]

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

◆ Compress() [10/14]

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() [11/14]

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

References v.

◆ Compress() [12/14]

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

◆ Compress() [13/14]

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

◆ Compress() [14/14]

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

◆ CompressBits() [1/8]

template<class V , class D = DFromV<V>, HWY_IF_NOT_LANE_SIZE_D(D, 1) >
HWY_INLINE V hwy::HWY_NAMESPACE::CompressBits ( v,
const uint8_t *HWY_RESTRICT  bits 
)

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

◆ CompressBits() [2/8]

template<class V , typename T = TFromV<V>, HWY_IF_LANE_SIZE(T, 1) >
HWY_API V hwy::HWY_NAMESPACE::CompressBits ( v,
const uint8_t *HWY_RESTRICT  bits 
)

◆ CompressBits() [3/8]

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

References CompressBits(), and v.

◆ CompressBits() [4/8]

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

References CompressBits(), N, and v.

Referenced by CompressBits(), and CompressBits().

◆ CompressBits() [5/8]

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 
)

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

◆ CompressBits() [6/8]

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

◆ CompressBits() [7/8]

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

References v.

◆ CompressBits() [8/8]

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

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

◆ CompressBitsStore() [1/8]

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

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

◆ CompressBitsStore() [2/8]

template<class V , class D , typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBitsStore ( v,
const uint8_t *HWY_RESTRICT  bits,
d,
T *  unaligned 
)

◆ CompressBitsStore() [3/8]

template<typename T , size_t N, HWY_IF_NOT_LANE_SIZE(T, 1) >
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() [4/8]

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() [5/8]

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() [6/8]

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

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

◆ CompressBitsStore() [7/8]

template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 1) >
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.

◆ CompressBitsStore() [8/8]

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 CompressBitsStore(), CompressStore(), d, and v.

◆ CompressBlendedStore() [1/8]

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 
)

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

◆ CompressBlendedStore() [2/8]

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

◆ CompressBlendedStore() [3/8]

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

◆ CompressBlendedStore() [4/8]

template<class V , class M , class D , typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore ( v,
mask,
d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressBlendedStore() [5/8]

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

References CompressStore(), d, and v.

◆ CompressBlendedStore() [6/8]

template<typename T , size_t N, HWY_IF_NOT_LANE_SIZE(T, 1) >
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() [7/8]

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() [8/8]

template<class D , typename T = TFromD<D>>
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore ( VFromD< D >  v,
MFromD< D >  m,
d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressBlocksNot() [1/5]

HWY_API svuint64_t hwy::HWY_NAMESPACE::CompressBlocksNot ( svuint64_t  v,
svbool_t  mask 
)

◆ CompressBlocksNot() [2/5]

template<class V , class M >
HWY_API V hwy::HWY_NAMESPACE::CompressBlocksNot ( v,
const M  mask 
)

References CompressNot(), and v.

◆ CompressBlocksNot() [3/5]

template<class V , class M , hwy::EnableIf<(sizeof(V) > 16)> * = nullptr>
HWY_API V hwy::HWY_NAMESPACE::CompressBlocksNot ( v,
mask 
)

References CompressBlocksNot(), and v.

◆ CompressBlocksNot() [4/5]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::CompressBlocksNot ( Vec128< uint64_t >  v,
Mask128< uint64_t >   
)

References CompressBlocksNot(), and v.

Referenced by CompressBlocksNot(), and CompressBlocksNot().

◆ CompressBlocksNot() [5/5]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::CompressBlocksNot ( Vec256< uint64_t >  v,
Mask256< uint64_t >  mask 
)

◆ CompressNot() [1/13]

template<class V , class M >
HWY_API V hwy::HWY_NAMESPACE::CompressNot ( v,
const M  mask 
)

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

◆ CompressNot() [2/13]

template<class V , class M , HWY_IF_NOT_LANE_SIZE_V(V, 8) >
HWY_API V hwy::HWY_NAMESPACE::CompressNot ( v,
const M  mask 
)

References Not(), and v.

◆ CompressNot() [3/13]

template<class V , typename T = TFromV<V>, HWY_IF_LANE_SIZE_ONE_OF(T, 0x14) >
HWY_API V hwy::HWY_NAMESPACE::CompressNot ( v,
const svbool_t  mask 
)

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

◆ CompressNot() [4/13]

template<class V , class M , typename T = TFromV<V>, HWY_IF_LANE_SIZE(T, 1) >
HWY_API V hwy::HWY_NAMESPACE::CompressNot ( v,
mask 
)

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

◆ CompressNot() [5/13]

template<class V , HWY_IF_LANE_SIZE_V(V, 8) >
HWY_API V hwy::HWY_NAMESPACE::CompressNot ( v,
svbool_t  mask 
)

◆ CompressNot() [6/13]

template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::CompressNot ( Vec128< T >  v,
Mask128< T >  mask 
)

◆ CompressNot() [7/13]

template<typename T >
HWY_API Vec128< T, 1 > hwy::HWY_NAMESPACE::CompressNot ( Vec128< T, 1 >  v,
Mask128< T, 1 >   
)

References v.

Referenced by CompressBlocksNot(), and CompressBlocksNot().

◆ CompressNot() [8/13]

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

◆ CompressNot() [9/13]

template<typename T , size_t N, HWY_IF_LANE_SIZE_ONE_OF(T, 0x14) >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::CompressNot ( Vec128< T, N v,
Mask128< T, N mask 
)

References N, Not(), and v.

◆ CompressNot() [10/13]

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

References v.

◆ CompressNot() [11/13]

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

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

◆ CompressNot() [12/13]

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

◆ CompressNot() [13/13]

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

◆ CompressStore() [1/15]

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/15]

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

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

◆ CompressStore() [3/15]

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

◆ CompressStore() [4/15]

template<class V , class M , class D , typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( v,
mask,
d,
T *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [5/15]

template<class V , class D , HWY_IF_LANE_SIZE_ONE_OF_V(V, 0x6) >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore ( v,
MFromD< D >  mask,
d,
TFromD< D > *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [6/15]

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() [7/15]

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() [8/15]

template<typename T , size_t N, HWY_IF_NOT_LANE_SIZE(T, 1) >
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() [9/15]

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 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ CompressStore() [10/15]

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() [11/15]

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

◆ CompressStore() [12/15]

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

◆ CompressStore() [13/15]

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

◆ CompressStore() [14/15]

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

◆ CompressStore() [15/15]

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

◆ ConcatEven() [1/19]

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

◆ ConcatEven() [2/19]

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

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

◆ ConcatEven() [3/19]

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

◆ ConcatEven() [4/19]

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

◆ ConcatEven() [5/19]

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

◆ ConcatEven() [6/19]

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

◆ ConcatEven() [7/19]

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

◆ ConcatEven() [8/19]

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

◆ ConcatEven() [9/19]

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

◆ ConcatEven() [10/19]

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

◆ ConcatEven() [11/19]

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

◆ ConcatEven() [12/19]

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

References ConcatEven(), d, and InterleaveLower().

◆ ConcatEven() [13/19]

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

◆ ConcatEven() [14/19]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec32< T > hwy::HWY_NAMESPACE::ConcatEven ( Simd< T, 4, 0 >  d,
Vec32< T >  hi,
Vec32< T >  lo 
)

◆ ConcatEven() [15/19]

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

◆ ConcatEven() [16/19]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec64< T > hwy::HWY_NAMESPACE::ConcatEven ( Simd< T, 8, 0 >  d,
Vec64< T >  hi,
Vec64< T >  lo 
)

◆ ConcatEven() [17/19]

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

◆ ConcatEven() [18/19]

template<typename T , size_t N, hwy::EnableIf< N !=2 &&sizeof(T) *N > = 8>
N hwy::HWY_NAMESPACE::ConcatEven ( Simd< T, N, 0 >  ,
Vec128< T, N hi,
Vec128< T, N lo 
)

◆ ConcatEven() [19/19]

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

◆ ConcatLowerLower() [1/10]

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

◆ ConcatLowerLower() [2/10]

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 
)

◆ ConcatLowerLower() [3/10]

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

◆ ConcatLowerLower() [4/10]

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

◆ ConcatLowerLower() [5/10]

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

◆ ConcatLowerLower() [6/10]

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

◆ ConcatLowerLower() [7/10]

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

◆ ConcatLowerLower() [8/10]

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

◆ ConcatLowerLower() [9/10]

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

◆ ConcatLowerLower() [10/10]

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

◆ ConcatLowerUpper() [1/10]

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

◆ ConcatLowerUpper() [2/10]

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/10]

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/10]

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

◆ ConcatLowerUpper() [5/10]

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

◆ ConcatLowerUpper() [6/10]

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

◆ ConcatLowerUpper() [7/10]

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

◆ ConcatLowerUpper() [8/10]

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

◆ ConcatLowerUpper() [9/10]

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

◆ ConcatLowerUpper() [10/10]

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

◆ ConcatOdd() [1/19]

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

◆ ConcatOdd() [2/19]

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

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

◆ ConcatOdd() [3/19]

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

◆ ConcatOdd() [4/19]

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

◆ ConcatOdd() [5/19]

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

◆ ConcatOdd() [6/19]

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

◆ ConcatOdd() [7/19]

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

◆ ConcatOdd() [8/19]

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

◆ ConcatOdd() [9/19]

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

◆ ConcatOdd() [10/19]

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

◆ ConcatOdd() [11/19]

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

◆ ConcatOdd() [12/19]

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

References ConcatOdd(), and d.

◆ ConcatOdd() [13/19]

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

◆ ConcatOdd() [14/19]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec32< T > hwy::HWY_NAMESPACE::ConcatOdd ( Simd< T, 4, 0 >  d,
Vec32< T >  hi,
Vec32< T >  lo 
)

◆ ConcatOdd() [15/19]

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

◆ ConcatOdd() [16/19]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec64< T > hwy::HWY_NAMESPACE::ConcatOdd ( Simd< T, 8, 0 >  d,
Vec64< T >  hi,
Vec64< T >  lo 
)

◆ ConcatOdd() [17/19]

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

◆ ConcatOdd() [18/19]

template<typename T , size_t N, hwy::EnableIf< N !=2 &&sizeof(T) *N > = 8>
N hwy::HWY_NAMESPACE::ConcatOdd ( Simd< T, N, 0 >  ,
Vec128< T, N hi,
Vec128< T, N lo 
)

◆ ConcatOdd() [19/19]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ConcatOdd ( Simd< T, N, 0 >  ,
Vec128< T, N hi,
Vec128< 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 >  ,
Vec128< double >  hi,
Vec128< double >  lo 
)

◆ ConcatUpperLower() [3/12]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::ConcatUpperLower ( Full128< float >  d,
Vec128< float >  hi,
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 
)

References BitCast(), and d.

◆ 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 >  ,
const Vec256< T >  hi,
const Vec256< T >  lo 
)

◆ 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/10]

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

◆ ConcatUpperUpper() [2/10]

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 
)

◆ ConcatUpperUpper() [3/10]

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

◆ ConcatUpperUpper() [4/10]

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

◆ ConcatUpperUpper() [5/10]

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

◆ ConcatUpperUpper() [6/10]

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

◆ ConcatUpperUpper() [7/10]

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

◆ ConcatUpperUpper() [8/10]

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

◆ ConcatUpperUpper() [9/10]

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

◆ ConcatUpperUpper() [10/10]

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

◆ ConvertTo() [1/29]

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

◆ ConvertTo() [2/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [3/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [4/29]

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

◆ ConvertTo() [5/29]

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

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

◆ ConvertTo() [6/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [7/29]

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

References ConvertTo(), d, and v.

◆ ConvertTo() [8/29]

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

◆ ConvertTo() [9/29]

template<typename TTo , typename TFrom >
HWY_API Vec256< TTo > hwy::HWY_NAMESPACE::ConvertTo ( Full256< TTo >  d,
const Vec256< TFrom >  v 
)

◆ ConvertTo() [10/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [11/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [12/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [13/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [14/29]

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

References ConvertTo(), d, and v.

◆ ConvertTo() [15/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [16/29]

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

◆ ConvertTo() [17/29]

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

◆ ConvertTo() [18/29]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::ConvertTo ( HWY_MAYBE_UNUSED Full256< float >  df,
const Vec256< uint32_t >  v 
)

References And(), BitCast(), ConvertTo(), MulAdd(), Set(), and v.

◆ ConvertTo() [19/29]

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

◆ ConvertTo() [20/29]

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

References And(), BitCast(), ConvertTo(), MulAdd(), Set(), and v.

◆ ConvertTo() [21/29]

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() [22/29]

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 ConvertTo(), and v.

◆ ConvertTo() [23/29]

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() [24/29]

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

References ConvertTo(), and v.

◆ ConvertTo() [25/29]

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

References v.

◆ ConvertTo() [26/29]

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 ConvertTo(), and v.

◆ ConvertTo() [27/29]

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() [28/29]

template<typename FromT , typename ToT , size_t N>
HWY_API Vec128< ToT, N > hwy::HWY_NAMESPACE::ConvertTo ( Simd< ToT, N, 0 >  d,
Vec128< FromT, N from 
)

◆ ConvertTo() [29/29]

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(), CopySign(), Or(), and SignBit().

Referenced by CopySign(), 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(), CopySignToAbs(), Or(), and SignBit().

Referenced by CopySignToAbs(), Round(), 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(), d, Set(), Xor(), and Zero().

Referenced by CallCos().

◆ CountTrue() [1/7]

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

◆ CountTrue() [2/7]

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

◆ CountTrue() [3/7]

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

◆ CountTrue() [4/7]

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

◆ CountTrue() [5/7]

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 
)

References d, and hwy::PopCount().

◆ CountTrue() [6/7]

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

◆ CountTrue() [7/7]

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

◆ DemoteTo() [1/75]

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

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

◆ DemoteTo() [2/75]

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

References DemoteTo(), and v.

◆ DemoteTo() [3/75]

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

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

◆ DemoteTo() [4/75]

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

References v.

◆ DemoteTo() [5/75]

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

References Combine(), and v.

◆ DemoteTo() [6/75]

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

References v.

◆ DemoteTo() [7/75]

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

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

◆ DemoteTo() [8/75]

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

References v.

◆ DemoteTo() [9/75]

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

References v.

◆ DemoteTo() [10/75]

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

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

◆ DemoteTo() [11/75]

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

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

◆ DemoteTo() [12/75]

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

References DemoteTo(), and v.

◆ DemoteTo() [13/75]

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

◆ DemoteTo() [14/75]

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

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

◆ DemoteTo() [15/75]

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

References DemoteTo(), and v.

◆ DemoteTo() [16/75]

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

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

◆ DemoteTo() [17/75]

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

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

◆ DemoteTo() [18/75]

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

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

◆ DemoteTo() [19/75]

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

References DemoteTo(), and v.

◆ DemoteTo() [20/75]

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

References DemoteTo(), and v.

◆ DemoteTo() [21/75]

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

References DemoteTo(), and v.

◆ DemoteTo() [22/75]

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

References DemoteTo(), and v.

◆ DemoteTo() [23/75]

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

References v.

◆ DemoteTo() [24/75]

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

◆ DemoteTo() [25/75]

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

References DemoteTo(), and v.

◆ DemoteTo() [26/75]

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

References v.

◆ DemoteTo() [27/75]

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() [28/75]

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() [29/75]

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

References BitCast(), and v.

◆ DemoteTo() [30/75]

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

◆ DemoteTo() [31/75]

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() [32/75]

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 d, and v.

◆ DemoteTo() [33/75]

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 d, and v.

◆ DemoteTo() [34/75]

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 DemoteTo(), and v.

◆ DemoteTo() [35/75]

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() [36/75]

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() [37/75]

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() [38/75]

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() [39/75]

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

◆ DemoteTo() [40/75]

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() [41/75]

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() [42/75]

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 d, and v.

◆ DemoteTo() [43/75]

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() [44/75]

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() [45/75]

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() [46/75]

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() [47/75]

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 DemoteTo(), and v.

◆ DemoteTo() [48/75]

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() [49/75]

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() [50/75]

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 DemoteTo(), and v.

◆ DemoteTo() [51/75]

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() [52/75]

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() [53/75]

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() [54/75]

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() [55/75]

template<typename FromT , typename ToT , size_t N>
HWY_API Vec128< ToT, N > hwy::HWY_NAMESPACE::DemoteTo ( Simd< ToT, N, 0 >  ,
Vec128< FromT, N from 
)

◆ DemoteTo() [56/75]

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 DemoteTo(), and v.

◆ DemoteTo() [57/75]

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() [58/75]

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() [59/75]

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() [60/75]

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() [61/75]

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() [62/75]

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() [63/75]

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 DemoteTo(), and v.

◆ DemoteTo() [64/75]

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() [65/75]

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() [66/75]

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 DemoteTo(), and v.

◆ DemoteTo() [67/75]

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() [68/75]

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() [69/75]

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() [70/75]

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() [71/75]

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() [72/75]

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

◆ DemoteTo() [73/75]

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

◆ DemoteTo() [74/75]

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

◆ DemoteTo() [75/75]

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

◆ DupEven() [1/10]

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

References v.

◆ DupEven() [2/10]

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

References v.

◆ DupEven() [3/10]

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)

◆ DupEven() [4/10]

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

◆ DupEven() [5/10]

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

References v.

◆ DupEven() [6/10]

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

References DupEven(), and v.

◆ DupEven() [7/10]

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

◆ DupEven() [8/10]

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

References DupEven(), and v.

◆ DupEven() [9/10]

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

References DupEven(), and v.

◆ DupEven() [10/10]

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

References DupEven(), and v.

◆ DupOdd() [1/9]

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

References v.

◆ DupOdd() [2/9]

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

References v.

◆ DupOdd() [3/9]

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/9]

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

◆ DupOdd() [5/9]

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

References DupOdd(), and v.

◆ DupOdd() [6/9]

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

◆ DupOdd() [7/9]

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

References DupOdd(), and v.

◆ DupOdd() [8/9]

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

References DupOdd(), and v.

◆ DupOdd() [9/9]

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

References DupOdd(), and v.

◆ Eq128() [1/6]

template<class D >
HWY_INLINE svbool_t hwy::HWY_NAMESPACE::Eq128 ( d,
const svuint64_t  a,
const svuint64_t  b 
)

◆ Eq128() [2/6]

template<class D , class V = VFromD<D>>
HWY_API MFromD< D > hwy::HWY_NAMESPACE::Eq128 ( d,
const V  a,
const V  b 
)

◆ Eq128() [3/6]

template<class D >
HWY_INLINE MFromD< D > hwy::HWY_NAMESPACE::Eq128 ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

◆ Eq128() [4/6]

template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Eq128 ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Eq128() [5/6]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, N > hwy::HWY_NAMESPACE::Eq128 ( Simd< T, N, 0 >  d,
Vec128< T, N a,
Vec128< T, N b 
)

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

Referenced by Eq128(), and Eq128().

◆ Eq128() [6/6]

HWY_API Mask128< uint64_t > hwy::HWY_NAMESPACE::Eq128 ( Simd< uint64_t, 2, 0 >  ,
Vec128< uint64_t >  a,
const Vec128< uint64_t >  b 
)

◆ Eq128Upper() [1/6]

template<class D , class V = VFromD<D>>
HWY_API MFromD< D > hwy::HWY_NAMESPACE::Eq128Upper ( d,
const V  a,
const V  b 
)

◆ Eq128Upper() [2/6]

template<class D >
HWY_INLINE MFromD< D > hwy::HWY_NAMESPACE::Eq128Upper ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

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

◆ Eq128Upper() [3/6]

template<class D >
HWY_INLINE svbool_t hwy::HWY_NAMESPACE::Eq128Upper ( d,
svuint64_t  a,
svuint64_t  b 
)

References d.

◆ Eq128Upper() [4/6]

template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Eq128Upper ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Eq128Upper() [5/6]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, N > hwy::HWY_NAMESPACE::Eq128Upper ( Simd< T, N, 0 >  d,
Vec128< T, N a,
Vec128< T, N b 
)

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

Referenced by Eq128Upper(), and Eq128Upper().

◆ Eq128Upper() [6/6]

HWY_API Mask128< uint64_t > hwy::HWY_NAMESPACE::Eq128Upper ( Simd< uint64_t, 2, 0 >  ,
Vec128< uint64_t >  a,
const Vec128< uint64_t >  b 
)

◆ ExclusiveNeither() [1/5]

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

◆ ExclusiveNeither() [2/5]

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

◆ ExclusiveNeither() [3/5]

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

◆ ExclusiveNeither() [4/5]

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

◆ ExclusiveNeither() [5/5]

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

References HWY_SVE_PTRUE.

◆ 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 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(), And(), d, IfThenElse(), MulAdd(), Or(), and Set().

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

◆ ExtractLane() [1/10]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::ExtractLane ( const Vec128< T, 1 >  v,
size_t  i 
)

◆ ExtractLane() [2/10]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::ExtractLane ( const Vec128< T, 16 >  v,
size_t  i 
)

References ExtractLane(), Store(), and v.

◆ ExtractLane() [3/10]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::ExtractLane ( const Vec128< T, 2 >  v,
size_t  i 
)

References ExtractLane(), Store(), and v.

◆ ExtractLane() [4/10]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::ExtractLane ( const Vec128< T, 4 >  v,
size_t  i 
)

References ExtractLane(), Store(), and v.

◆ ExtractLane() [5/10]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::ExtractLane ( const Vec128< T, 8 >  v,
size_t  i 
)

References ExtractLane(), Store(), and v.

◆ ExtractLane() [6/10]

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

References v.

◆ ExtractLane() [7/10]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::ExtractLane ( const Vec1< T >  v,
size_t  i 
)

References HWY_DASSERT, and v.

◆ ExtractLane() [8/10]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::ExtractLane ( const Vec256< T >  v,
size_t  i 
)

References Store(), and v.

◆ ExtractLane() [9/10]

template<typename T >
HWY_API T hwy::HWY_NAMESPACE::ExtractLane ( const Vec512< T >  v,
size_t  i 
)

References d, ExtractLane(), HWY_DASSERT, Lanes(), Store(), and v.

◆ ExtractLane() [10/10]

template<class V >
HWY_API TFromV< V > hwy::HWY_NAMESPACE::ExtractLane ( v,
size_t  i 
)

References FirstN(), and v.

◆ Fill()

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

◆ Find()

template<class D , typename T = TFromD<D>>
size_t hwy::HWY_NAMESPACE::Find ( d,
value,
const T *HWY_RESTRICT  in,
size_t  count 
)

◆ FindFirstTrue() [1/5]

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

◆ FindFirstTrue() [2/5]

template<typename T >
HWY_API intptr_t hwy::HWY_NAMESPACE::FindFirstTrue ( const Full512< T >  d,
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 >  d,
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 
)

◆ FindIf()

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

◆ FindKnownFirstTrue() [1/5]

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

◆ FindKnownFirstTrue() [2/5]

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

◆ FindKnownFirstTrue() [3/5]

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

◆ FindKnownFirstTrue() [4/5]

template<class D >
HWY_API size_t hwy::HWY_NAMESPACE::FindKnownFirstTrue ( d,
svbool_t  m 
)

◆ FindKnownFirstTrue() [5/5]

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

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

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

◆ FirstN() [5/5]

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

◆ Floor() [1/11]

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

References Round(), and v.

◆ Floor() [2/11]

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

References hwy::CopySameSize(), and v.

◆ Floor() [3/11]

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

References ConvertTo(), Floor(), IfThenElse(), RebindMask(), v, and VecFromMask().

Referenced by Floor(), and Floor().

◆ Floor() [4/11]

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

◆ Floor() [5/11]

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

References v.

◆ Floor() [6/11]

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

References v.

◆ Floor() [7/11]

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

References v.

◆ Floor() [8/11]

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

References v.

◆ Floor() [9/11]

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

References v.

◆ Floor() [10/11]

template<typename Float , size_t N>
Vec128< Float, N > hwy::HWY_NAMESPACE::Floor ( Vec128< Float, N v)

References hwy::CopySameSize(), N, and v.

◆ Floor() [11/11]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Floor ( Vec256< float >  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 
)

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

References d, and GatherIndex().

◆ 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/9]

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/9]

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 
)

◆ GatherOffset() [3/9]

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

◆ GatherOffset() [4/9]

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

◆ GatherOffset() [5/9]

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

◆ GatherOffset() [6/9]

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

◆ GatherOffset() [7/9]

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 
)

References d, and GatherOffset().

◆ GatherOffset() [8/9]

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

◆ GatherOffset() [9/9]

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 
)

Referenced by Acos(), and Exp().

◆ Ge() [2/2]

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

◆ Generate()

template<class D , class Func , typename T = TFromD<D>>
void hwy::HWY_NAMESPACE::Generate ( d,
T *HWY_RESTRICT  out,
size_t  count,
const Func func 
)

◆ GenerateInput()

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

◆ GetLane() [1/10]

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

◆ GetLane() [2/10]

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

References v.

◆ GetLane() [3/10]

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

References v.

◆ GetLane() [4/10]

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

References Store(), and v.

◆ GetLane() [5/10]

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

References v.

◆ GetLane() [6/10]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_API T hwy::HWY_NAMESPACE::GetLane ( const Vec128< T, N v)

References v.

◆ GetLane() [7/10]

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

References Store(), and v.

◆ GetLane() [8/10]

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

◆ GetLane() [9/10]

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

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

◆ GetLane() [10/10]

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

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

◆ Gt() [1/2]

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

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

◆ Gt() [2/2]

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

◆ HWY_RVV_FOREACH_F64()

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

◆ IfNegativeThenElse() [1/9]

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/9]

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

◆ IfNegativeThenElse() [3/9]

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/9]

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/9]

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

◆ IfNegativeThenElse() [6/9]

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/9]

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

◆ IfNegativeThenElse() [8/9]

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() [9/9]

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 , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::IfThenElse ( const Mask128< T, N mask,
const Vec128< T, N yes,
const Vec128< T, N no 
)

◆ IfThenElse() [2/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() [3/10]

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

◆ IfThenElse() [4/10]

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

◆ IfThenElse() [5/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() [6/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() [7/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() [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/12]

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

References IfThenElse(), and Zero().

◆ IfThenElseZero() [2/12]

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/12]

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

◆ IfThenElseZero() [4/12]

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

◆ IfThenElseZero() [5/12]

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

◆ IfThenElseZero() [6/12]

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

◆ IfThenElseZero() [7/12]

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

References IfThenElse(), and Zero().

◆ IfThenElseZero() [8/12]

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

◆ IfThenElseZero() [9/12]

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

◆ IfThenElseZero() [10/12]

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

◆ IfThenElseZero() [11/12]

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

◆ IfThenElseZero() [12/12]

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

References VecFromMask().

◆ IfThenZeroElse() [1/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() [2/11]

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

◆ IfThenZeroElse() [3/11]

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

◆ IfThenZeroElse() [4/11]

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

◆ IfThenZeroElse() [5/11]

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

◆ IfThenZeroElse() [6/11]

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

References IfThenElse(), and Zero().

◆ 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/6]

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

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

◆ IfVecThenElse() [2/6]

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

References IfThenElse(), and MaskFromVec().

◆ IfVecThenElse() [3/6]

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() [4/6]

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() [5/6]

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() [6/6]

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/8]

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/8]

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

◆ IndicesFromVec() [3/8]

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/8]

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

◆ IndicesFromVec() [5/8]

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/8]

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/8]

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

◆ IndicesFromVec() [8/8]

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

◆ Inf()

template<class D >
HWY_API Vec< D > hwy::HWY_NAMESPACE::Inf ( d)

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

◆ InsertLane() [1/11]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::InsertLane ( const V  v,
size_t  i,
TFromV< V >  t 
)

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

◆ InsertLane() [2/11]

template<class V , HWY_IF_NOT_LANE_SIZE_V(V, 1) >
HWY_API V hwy::HWY_NAMESPACE::InsertLane ( const V  v,
size_t  i,
TFromV< V >  t 
)

◆ InsertLane() [3/11]

template<typename T >
HWY_API Vec128< T, 1 > hwy::HWY_NAMESPACE::InsertLane ( const Vec128< T, 1 >  v,
size_t  i,
t 
)

◆ InsertLane() [4/11]

template<typename T >
HWY_API Vec128< T, 16 > hwy::HWY_NAMESPACE::InsertLane ( const Vec128< T, 16 >  v,
size_t  i,
t 
)

References d, InsertLane(), Load(), Store(), and v.

◆ InsertLane() [5/11]

template<typename T >
HWY_API Vec128< T, 2 > hwy::HWY_NAMESPACE::InsertLane ( const Vec128< T, 2 >  v,
size_t  i,
t 
)

References d, InsertLane(), Load(), Store(), and v.

◆ InsertLane() [6/11]

template<typename T >
HWY_API Vec128< T, 4 > hwy::HWY_NAMESPACE::InsertLane ( const Vec128< T, 4 >  v,
size_t  i,
t 
)

References d, InsertLane(), Load(), Store(), and v.

◆ InsertLane() [7/11]

template<typename T >
HWY_API Vec128< T, 8 > hwy::HWY_NAMESPACE::InsertLane ( const Vec128< T, 8 >  v,
size_t  i,
t 
)

References d, InsertLane(), Load(), Store(), and v.

◆ InsertLane() [8/11]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::InsertLane ( const Vec256< T >  v,
size_t  i,
t 
)

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

◆ InsertLane() [9/11]

template<typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::InsertLane ( const Vec512< T >  v,
size_t  i,
t 
)

References d, HWY_DASSERT, InsertLane(), Lanes(), Load(), Store(), and v.

◆ InsertLane() [10/11]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::InsertLane ( Vec128< T, N v,
size_t  i,
t 
)

◆ InsertLane() [11/11]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::InsertLane ( Vec1< T >  v,
size_t  i,
t 
)

References HWY_DASSERT, and v.

◆ InterleaveLower() [1/50]

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

References InterleaveLower().

◆ InterleaveLower() [2/50]

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/50]

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

◆ InterleaveLower() [4/50]

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/50]

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/50]

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/50]

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

References InterleaveLower(), and Shuffle01().

◆ InterleaveLower() [8/50]

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/50]

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/50]

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

◆ InterleaveLower() [11/50]

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() [12/50]

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() [13/50]

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

◆ InterleaveLower() [14/50]

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() [15/50]

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() [16/50]

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

◆ InterleaveLower() [17/50]

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

◆ InterleaveLower() [18/50]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ InterleaveLower() [19/50]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ InterleaveLower() [20/50]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

◆ InterleaveLower() [21/50]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ InterleaveLower() [22/50]

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

◆ InterleaveLower() [23/50]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ InterleaveLower() [24/50]

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

◆ InterleaveLower() [25/50]

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

◆ InterleaveLower() [26/50]

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

◆ InterleaveLower() [27/50]

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

◆ InterleaveLower() [28/50]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ InterleaveLower() [29/50]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ InterleaveLower() [30/50]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ InterleaveLower() [31/50]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ InterleaveLower() [32/50]

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

◆ InterleaveLower() [33/50]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ InterleaveLower() [34/50]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::InterleaveLower ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ InterleaveLower() [35/50]

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

◆ InterleaveLower() [36/50]

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

References BitCast(), and d.

◆ InterleaveLower() [37/50]

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

References InterleaveLower().

◆ InterleaveLower() [38/50]

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() [39/50]

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

◆ InterleaveLower() [40/50]

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

◆ InterleaveLower() [41/50]

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() [42/50]

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() [43/50]

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() [44/50]

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() [45/50]

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() [46/50]

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() [47/50]

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() [48/50]

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() [49/50]

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() [50/50]

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

◆ InterleaveUpper() [1/7]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( const D  d,
const V  a,
const V  b 
)

◆ InterleaveUpper() [2/7]

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(), and d.

◆ InterleaveUpper() [3/7]

template<typename T , class V = Vec128<T>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( Full128< T >  ,
a,
b 
)

◆ InterleaveUpper() [4/7]

template<typename T , class V = Vec256<T>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( Full256< T >  d,
a,
b 
)

◆ InterleaveUpper() [5/7]

template<typename T , class V = Vec512<T>>
HWY_API V hwy::HWY_NAMESPACE::InterleaveUpper ( Full512< T >  ,
a,
b 
)

◆ InterleaveUpper() [6/7]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::InterleaveUpper ( Simd< T, N, 0 >  ,
const Vec128< T, N a,
const Vec128< T, N b 
)

◆ InterleaveUpper() [7/7]

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/9]

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/9]

template<typename T , typename T2 >
Vec256< T > hwy::HWY_NAMESPACE::Iota ( const Full256< T >  d,
const T2  first 
)

◆ Iota() [3/9]

template<typename T , typename T2 >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Iota ( const Full256< T >  d,
const T2  first 
)

◆ Iota() [4/9]

template<typename T , typename T2 >
Vec512< T > hwy::HWY_NAMESPACE::Iota ( const Full512< T >  d,
const T2  first 
)

◆ Iota() [5/9]

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/9]

template<typename T , size_t N, typename T2 , HWY_IF_LE128(T, N) >
Vec128< T, N > hwy::HWY_NAMESPACE::Iota ( const Simd< T, N, 0 >  d,
const T2  first 
)

◆ Iota() [7/9]

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 
)

◆ Iota() [8/9]

template<typename T , size_t N, typename T2 >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Iota ( const Simd< T, N, 0 >  ,
T2  first 
)

◆ Iota() [9/9]

template<typename T , typename T2 >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Iota ( const Sisd< T >  ,
const T2  first 
)

◆ IsFinite() [1/13]

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

References BitCast(), d, RebindMask(), ShiftRight(), and v.

◆ IsFinite() [2/13]

template<class V , class D = DFromV<V>>
HWY_API MFromD< D > hwy::HWY_NAMESPACE::IsFinite ( const V  v)

References BitCast(), d, RebindMask(), ShiftRight(), and v.

◆ IsFinite() [3/13]

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

References Not(), and v.

◆ IsFinite() [4/13]

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

References Not(), and v.

◆ IsFinite() [5/13]

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

References BitCast(), d, IsFinite(), RebindMask(), Set(), ShiftRight(), and v.

Referenced by IsFinite().

◆ IsFinite() [6/13]

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

References BitCast(), d, RebindMask(), Set(), ShiftRight(), and v.

◆ IsFinite() [7/13]

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

◆ IsFinite() [8/13]

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

◆ IsFinite() [9/13]

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

References Not(), and v.

◆ IsFinite() [10/13]

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

References Not(), and v.

◆ IsFinite() [11/13]

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

References BitCast(), d, RebindMask(), Set(), ShiftRight(), and v.

◆ IsFinite() [12/13]

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

References Not(), and v.

◆ IsFinite() [13/13]

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

References Not(), and v.

◆ IsInf() [1/13]

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

References BitCast(), d, RebindMask(), and v.

◆ IsInf() [2/13]

template<class V , class D = DFromV<V>>
HWY_API MFromD< D > hwy::HWY_NAMESPACE::IsInf ( const V  v)

References BitCast(), d, RebindMask(), and v.

◆ IsInf() [3/13]

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

References v.

◆ IsInf() [4/13]

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

References v.

◆ IsInf() [5/13]

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

References BitCast(), d, IsInf(), RebindMask(), Set(), and v.

Referenced by ConvertTo(), DemoteTo(), DemoteTo(), and IsInf().

◆ IsInf() [6/13]

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

References BitCast(), d, RebindMask(), Set(), and v.

◆ IsInf() [7/13]

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

References BitCast(), d, RebindMask(), Set(), and v.

◆ IsInf() [8/13]

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

References BitCast(), d, RebindMask(), Set(), and v.

◆ IsInf() [9/13]

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

References v.

◆ IsInf() [10/13]

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

References v.

◆ IsInf() [11/13]

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

References BitCast(), d, RebindMask(), Set(), and v.

◆ IsInf() [12/13]

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

References v.

◆ IsInf() [13/13]

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

References v.

◆ IsNaN() [1/11]

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

References v.

◆ IsNaN() [2/11]

template<class V >
HWY_API MFromD< DFromV< V > > hwy::HWY_NAMESPACE::IsNaN ( const V  v)

References v.

◆ IsNaN() [3/11]

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

References v.

◆ IsNaN() [4/11]

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

References v.

◆ IsNaN() [5/11]

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

References IsNaN(), and v.

Referenced by IsNaN().

◆ IsNaN() [6/11]

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

◆ IsNaN() [7/11]

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

References v.

◆ IsNaN() [8/11]

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

References v.

◆ IsNaN() [9/11]

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

References v.

◆ IsNaN() [10/11]

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

References v.

◆ IsNaN() [11/11]

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

References v.

◆ 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 constexpr size_t hwy::HWY_NAMESPACE::Lanes ( Simd< T, N, kPow2 >  )
constexpr

References HWY_MIN, N, and hwy::HWY_NAMESPACE::detail::ScaleByPower().

Referenced by AllTrue(), AssertMaskEqual(), AssertVecEqual(), AssertVecEqual(), Combine(), CompressBitsStore(), hwy::HWY_NAMESPACE::Dot::Compute(), hwy::HWY_NAMESPACE::Dot::Compute(), ConcatEven(), ConcatEven(), ConcatLowerUpper(), ConcatOdd(), ConcatOdd(), ConcatUpperLower(), Copy(), CopyIf(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), hwy::HWY_NAMESPACE::detail::ForeachCappedR< T, kMul, kMinArg, Test >::Do(), ExtractLane(), Fill(), Find(), FindIf(), Generate(), GenerateInput(), hwy::HWY_NAMESPACE::Xorshift128Plus::GenerateSeeds(), grk::HWY_NAMESPACE::hwy_decompress_v_final_memcpy_53(), grk::HWY_NAMESPACE::hwy_decompress_v_parity_even_mcols_53(), grk::HWY_NAMESPACE::hwy_decompress_v_parity_odd_mcols_53(), grk::HWY_NAMESPACE::hwy_num_lanes(), IndicesFromVec(), InsertLane(), Iota(), Lanes(), hwy::HWY_NAMESPACE::detail::LanesPerBlock(), Load(), hwy::HWY_NAMESPACE::detail::MakeMask(), hwy::HWY_NAMESPACE::detail::MaskLowerHalf(), MaskTrue(), skeleton::HWY_NAMESPACE::MulAddLoop(), hwy::HWY_NAMESPACE::ForExtendableVectors< Test, kPow2 >::operator()(), hwy::HWY_NAMESPACE::ForPromoteVectors< Test, kPow2 >::operator()(), hwy::HWY_NAMESPACE::Pack16< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 8 >::Pack(), Print(), Replace(), ReplaceIf(), Reverse(), Reverse(), Sort(), Store(), StoreMaskBits(), TableLookupBytes(), Transform(), grk::HWY_NAMESPACE::DecompressDcShiftIrrev::transform(), grk::HWY_NAMESPACE::DecompressDcShiftRev::transform(), grk::HWY_NAMESPACE::DecompressRev::transform(), grk::HWY_NAMESPACE::DecompressIrrev::transform(), grk::HWY_NAMESPACE::CompressRev::transform(), grk::HWY_NAMESPACE::CompressIrrev::transform(), Transform1(), Transform2(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), hwy::HWY_NAMESPACE::Pack16< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 8 >::Unpack(), UpperHalf(), and UpperHalf().

◆ 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.

◆ 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 >  d,
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 
)

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

Referenced by AssertMaskEqual(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), CLMulLower(), CLMulUpper(), Compress(), Compress(), Compress(), CompressBits(), CompressBitsStore(), CompressBlendedStore(), CompressNot(), CompressNot(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), GatherIndex(), GatherIndex(), GatherIndex(), GatherOffset(), GatherOffset(), GatherOffset(), GenerateInput(), grk::HWY_NAMESPACE::hwy_decompress_v_final_memcpy_53(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), IndicesFromVec(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), Iota(), Iota(), Iota(), Load(), Load(), Load(), hwy::HWY_NAMESPACE::detail::Load8Bytes(), LoadDup128(), LoadDup128(), LoadDup128(), LoadInterleaved2(), LoadInterleaved3(), LoadInterleaved4(), hwy::HWY_NAMESPACE::detail::LoadMaskBits(), LoadU(), LoadU(), LoadU(), LoadU(), hwy::HWY_NAMESPACE::detail::LookupAndConcatHalves(), hwy::HWY_NAMESPACE::detail::LookupAndConcatQuarters(), MaskedLoad(), MaskedLoad(), MaskedLoad(), skeleton::HWY_NAMESPACE::MulAddLoop(), OddEven(), hwy::HWY_NAMESPACE::detail::OddEven(), Reverse(), Reverse4(), Reverse8(), hwy::HWY_NAMESPACE::detail::Shuffle1230(), hwy::HWY_NAMESPACE::detail::Shuffle2301(), hwy::HWY_NAMESPACE::detail::Shuffle3012(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), grk::HWY_NAMESPACE::DecompressDcShiftIrrev::transform(), grk::HWY_NAMESPACE::DecompressDcShiftRev::transform(), grk::HWY_NAMESPACE::DecompressRev::transform(), grk::HWY_NAMESPACE::DecompressIrrev::transform(), grk::HWY_NAMESPACE::CompressRev::transform(), grk::HWY_NAMESPACE::CompressIrrev::transform(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), and TruncateTo().

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

References hwy::CopySameSize().

◆ LoadDup128() [1/9]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::LoadDup128 ( Full256< double >  ,
const double *const HWY_RESTRICT  p 
)

◆ LoadDup128() [2/9]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::LoadDup128 ( Full256< float >  ,
const float *const HWY_RESTRICT  p 
)

◆ LoadDup128() [3/9]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::LoadDup128 ( Full256< T >  d,
const T *HWY_RESTRICT  p 
)

◆ LoadDup128() [4/9]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::LoadDup128 ( Full512< double >  ,
const double *const HWY_RESTRICT  p 
)

◆ LoadDup128() [5/9]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::LoadDup128 ( Full512< float >  ,
const float *const HWY_RESTRICT  p 
)

◆ LoadDup128() [6/9]

template<typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::LoadDup128 ( Full512< T >  ,
const T *const HWY_RESTRICT  p 
)

References LoadU().

◆ LoadDup128() [7/9]

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/9]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::LoadDup128 ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  aligned 
)

References d, and Load().

◆ LoadDup128() [9/9]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::LoadDup128 ( Sisd< T >  d,
const T *HWY_RESTRICT  aligned 
)

References d, and Load().

◆ LoadInterleaved2() [1/5]

template<typename T , class V >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved2 ( Simd< T, 1, 0 >  d,
const T *HWY_RESTRICT  unaligned,
V &  v0,
V &  v1 
)

References d, and LoadU().

◆ LoadInterleaved2() [2/5]

template<typename T , size_t N, class V >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved2 ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  unaligned,
V &  v0,
V &  v1 
)

References ConcatEven(), ConcatOdd(), d, LoadU(), and N.

◆ LoadInterleaved2() [3/5]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved2 ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  unaligned,
Vec128< T, N > &  v0,
Vec128< T, N > &  v1 
)

References d, Load(), and N.

◆ LoadInterleaved2() [4/5]

template<typename T , size_t N, HWY_IF_LOAD_INT(T, N) >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved2 ( Simd< T, N, 0 >  ,
const T *HWY_RESTRICT  unaligned,
Vec128< T, N > &  v0,
Vec128< T, N > &  v1 
)

References LoadInterleaved2().

Referenced by LoadInterleaved2().

◆ LoadInterleaved2() [5/5]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved2 ( Sisd< T >  d,
const T *HWY_RESTRICT  unaligned,
Vec1< T > &  v0,
Vec1< T > &  v1 
)

References d, and LoadU().

◆ LoadInterleaved3() [1/6]

template<typename T , class V >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved3 ( Simd< T, 1, 0 >  d,
const T *HWY_RESTRICT  unaligned,
V &  v0,
V &  v1,
V &  v2 
)

References d, and LoadU().

◆ LoadInterleaved3() [2/6]

template<typename T , size_t N, class V , HWY_IF_LANES_PER_BLOCK(T, N, 16) >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved3 ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  unaligned,
V &  v0,
V &  v1,
V &  v2 
)

◆ LoadInterleaved3() [3/6]

template<typename T , size_t N, class V , HWY_IF_LANE_SIZE(T, 1) , HWY_IF_LANES_PER_BLOCK(T, N, 8) >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved3 ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  unaligned,
V &  v0,
V &  v1,
V &  v2 
)

◆ LoadInterleaved3() [4/6]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved3 ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  unaligned,
Vec128< T, N > &  v0,
Vec128< T, N > &  v1,
Vec128< T, N > &  v2 
)

References d, Load(), and N.

◆ LoadInterleaved3() [5/6]

template<typename T , size_t N, HWY_IF_LOAD_INT(T, N) >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved3 ( Simd< T, N, 0 >  ,
const T *HWY_RESTRICT  unaligned,
Vec128< T, N > &  v0,
Vec128< T, N > &  v1,
Vec128< T, N > &  v2 
)

References LoadInterleaved3().

Referenced by LoadInterleaved3().

◆ LoadInterleaved3() [6/6]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved3 ( Sisd< T >  d,
const T *HWY_RESTRICT  unaligned,
Vec1< T > &  v0,
Vec1< T > &  v1,
Vec1< T > &  v2 
)

References d, and LoadU().

◆ LoadInterleaved4() [1/5]

template<typename T , class V >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved4 ( Simd< T, 1, 0 >  d,
const T *HWY_RESTRICT  unaligned,
V &  v0,
V &  v1,
V &  v2,
V &  v3 
)

References d, and LoadU().

◆ LoadInterleaved4() [2/5]

template<typename T , size_t N, class V , HWY_IF_LANES_PER_BLOCK(T, N, 16) >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved4 ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  unaligned,
V &  v0,
V &  v1,
V &  v2,
V &  v3 
)

◆ LoadInterleaved4() [3/5]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved4 ( Simd< T, N, 0 >  d,
const T *HWY_RESTRICT  unaligned,
Vec128< T, N > &  v0,
Vec128< T, N > &  v1,
Vec128< T, N > &  v2,
Vec128< T, N > &  v3 
)

References d, Load(), and N.

◆ LoadInterleaved4() [4/5]

template<typename T , size_t N, HWY_IF_LOAD_INT(T, N) >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved4 ( Simd< T, N, 0 >  ,
const T *HWY_RESTRICT  unaligned,
Vec128< T, N > &  v0,
Vec128< T, N > &  v1,
Vec128< T, N > &  v2,
Vec128< T, N > &  v3 
)

References LoadInterleaved4().

Referenced by LoadInterleaved4().

◆ LoadInterleaved4() [5/5]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::LoadInterleaved4 ( Sisd< T >  d,
const T *HWY_RESTRICT  unaligned,
Vec1< T > &  v0,
Vec1< T > &  v1,
Vec1< T > &  v2,
Vec1< T > &  v3 
)

References d, and LoadU().

◆ LoadMaskBits() [1/7]

template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::LoadMaskBits ( const Full256< T >  ,
const uint8_t *HWY_RESTRICT  bits 
)

References N.

◆ LoadMaskBits() [2/7]

template<typename T >
HWY_API Mask512< T > hwy::HWY_NAMESPACE::LoadMaskBits ( const Full512< T >  ,
const uint8_t *HWY_RESTRICT  bits 
)

◆ LoadMaskBits() [3/7]

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(), and TestBit().

◆ LoadMaskBits() [4/7]

template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x110) >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::LoadMaskBits ( Full256< T >  d,
const uint8_t *HWY_RESTRICT  bits 
)

◆ LoadMaskBits() [5/7]

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() [6/7]

template<typename T , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::LoadMaskBits ( Simd< T, N, 0 >  ,
const uint8_t *HWY_RESTRICT  bits 
)

◆ LoadMaskBits() [7/7]

template<typename T >
HWY_API Mask1< T > hwy::HWY_NAMESPACE::LoadMaskBits ( Sisd< T >  ,
const uint8_t *HWY_RESTRICT  bits 
)

◆ LoadU() [1/41]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::LoadU ( d,
const TFromD< D > *HWY_RESTRICT  p 
)

References d, and Load().

◆ LoadU() [2/41]

HWY_API Vec128< double > hwy::HWY_NAMESPACE::LoadU ( Full128< double >  ,
const double *HWY_RESTRICT  p 
)

◆ LoadU() [3/41]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::LoadU ( Full128< float >  ,
const float *HWY_RESTRICT  unaligned 
)

References LoadU().

◆ LoadU() [4/41]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::LoadU ( Full128< int16_t >  ,
const int16_t *HWY_RESTRICT  unaligned 
)

References LoadU().

◆ LoadU() [5/41]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::LoadU ( Full128< int32_t >  ,
const int32_t *HWY_RESTRICT  unaligned 
)

References LoadU().

◆ LoadU() [6/41]

HWY_API Vec128< int64_t > hwy::HWY_NAMESPACE::LoadU ( Full128< int64_t >  ,
const int64_t *HWY_RESTRICT  unaligned 
)

References LoadU().

◆ LoadU() [7/41]

HWY_API Vec128< int8_t > hwy::HWY_NAMESPACE::LoadU ( Full128< int8_t >  ,
const int8_t *HWY_RESTRICT  unaligned 
)

References LoadU().

◆ LoadU() [8/41]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::LoadU ( Full128< T >  ,
const T *HWY_RESTRICT  p 
)

◆ LoadU() [9/41]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::LoadU ( Full128< uint16_t >  ,
const uint16_t *HWY_RESTRICT  unaligned 
)

References LoadU().

◆ LoadU() [10/41]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::LoadU ( Full128< uint32_t >  ,
const uint32_t *HWY_RESTRICT  unaligned 
)

References LoadU().

◆ LoadU() [11/41]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::LoadU ( Full128< uint64_t >  ,
const uint64_t *HWY_RESTRICT  unaligned 
)

References LoadU().

◆ LoadU() [12/41]

HWY_API Vec128< uint8_t > hwy::HWY_NAMESPACE::LoadU ( Full128< uint8_t >  ,
const uint8_t *HWY_RESTRICT  unaligned 
)

References LoadU().

Referenced by BlendedStore(), BlendedStore(), CompressBitsStore(), hwy::HWY_NAMESPACE::Dot::Compute(), hwy::HWY_NAMESPACE::Dot::Compute(), Copy(), CopyIf(), Find(), FindIf(), grk::HWY_NAMESPACE::hwy_decompress_v_parity_even_mcols_53(), grk::HWY_NAMESPACE::hwy_decompress_v_parity_odd_mcols_53(), Load(), LoadDup128(), LoadDup128(), LoadDup128(), LoadDup128(), LoadInterleaved2(), LoadInterleaved2(), LoadInterleaved2(), LoadInterleaved3(), LoadInterleaved3(), LoadInterleaved4(), LoadInterleaved4(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), hwy::HWY_NAMESPACE::Pack16< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 8 >::Pack(), Replace(), ReplaceIf(), SetTableIndices(), SetTableIndices(), SetTableIndices(), SetTableIndices(), SetTableIndices(), Transform(), Transform1(), Transform2(), hwy::HWY_NAMESPACE::Pack16< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Unpack(), and hwy::HWY_NAMESPACE::Pack8< 8 >::Unpack().

◆ LoadU() [13/41]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::LoadU ( Full256< double >  ,
const double *HWY_RESTRICT  p 
)

◆ LoadU() [14/41]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::LoadU ( Full256< float >  ,
const float *HWY_RESTRICT  p 
)

◆ LoadU() [15/41]

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/41]

HWY_API Vec32< float > hwy::HWY_NAMESPACE::LoadU ( Full32< float >  ,
const float *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [17/41]

HWY_API Vec32< int32_t > hwy::HWY_NAMESPACE::LoadU ( Full32< int32_t >  ,
const int32_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [18/41]

template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x6) >
HWY_API Vec32< T > hwy::HWY_NAMESPACE::LoadU ( Full32< T >  d,
const T *HWY_RESTRICT  p 
)

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

◆ LoadU() [19/41]

HWY_API Vec32< uint32_t > hwy::HWY_NAMESPACE::LoadU ( Full32< uint32_t >  ,
const uint32_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [20/41]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::LoadU ( Full512< double >  ,
const double *HWY_RESTRICT  p 
)

◆ LoadU() [21/41]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::LoadU ( Full512< float >  ,
const float *HWY_RESTRICT  p 
)

◆ LoadU() [22/41]

template<typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::LoadU ( Full512< T >  ,
const T *HWY_RESTRICT  p 
)

◆ LoadU() [23/41]

HWY_API Vec64< float > hwy::HWY_NAMESPACE::LoadU ( Full64< float >  ,
const float *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [24/41]

HWY_API Vec64< int16_t > hwy::HWY_NAMESPACE::LoadU ( Full64< int16_t >  ,
const int16_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [25/41]

HWY_API Vec64< int32_t > hwy::HWY_NAMESPACE::LoadU ( Full64< int32_t >  ,
const int32_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [26/41]

HWY_API Vec64< int64_t > hwy::HWY_NAMESPACE::LoadU ( Full64< int64_t >  ,
const int64_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [27/41]

HWY_API Vec64< int8_t > hwy::HWY_NAMESPACE::LoadU ( Full64< int8_t >  ,
const int8_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [28/41]

HWY_API Vec64< uint16_t > hwy::HWY_NAMESPACE::LoadU ( Full64< uint16_t >  ,
const uint16_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [29/41]

HWY_API Vec64< uint32_t > hwy::HWY_NAMESPACE::LoadU ( Full64< uint32_t >  ,
const uint32_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [30/41]

HWY_API Vec64< uint64_t > hwy::HWY_NAMESPACE::LoadU ( Full64< uint64_t >  ,
const uint64_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [31/41]

HWY_API Vec64< uint8_t > hwy::HWY_NAMESPACE::LoadU ( Full64< uint8_t >  ,
const uint8_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [32/41]

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() [33/41]

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() [34/41]

HWY_API Vec128< int16_t, 1 > hwy::HWY_NAMESPACE::LoadU ( Simd< int16_t, 1, 0 >  ,
const int16_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [35/41]

HWY_API Vec128< int8_t, 1 > hwy::HWY_NAMESPACE::LoadU ( Simd< int8_t, 1, 0 >  ,
const int8_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [36/41]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec128< T, 2 > hwy::HWY_NAMESPACE::LoadU ( Simd< T, 2, 0 >  d,
const T *HWY_RESTRICT  p 
)

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

◆ LoadU() [37/41]

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() [38/41]

template<typename T , size_t N, HWY_IF_LE128(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() [39/41]

HWY_API Vec128< uint16_t, 1 > hwy::HWY_NAMESPACE::LoadU ( Simd< uint16_t, 1, 0 >  ,
const uint16_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [40/41]

HWY_API Vec128< uint8_t, 1 > hwy::HWY_NAMESPACE::LoadU ( Simd< uint8_t, 1, 0 >  ,
const uint8_t *HWY_RESTRICT  p 
)

References LoadU().

◆ LoadU() [41/41]

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(), 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 d, IfThenElse(), IfThenZeroElse(), and Set().

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(), and Set().

Referenced by CallLog2().

◆ LowerHalf() [1/28]

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/28]

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 v.

◆ LowerHalf() [3/28]

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

References v.

◆ LowerHalf() [4/28]

template<class V >
HWY_API VFromD< Half< DFromV< V > > > hwy::HWY_NAMESPACE::LowerHalf ( const V  v)

References LowerHalf(), and v.

◆ LowerHalf() [5/28]

HWY_API Vec64< bfloat16_t > hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< bfloat16_t v)

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

◆ LowerHalf() [6/28]

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

References LowerHalf(), and v.

◆ LowerHalf() [7/28]

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

References LowerHalf(), and v.

◆ LowerHalf() [8/28]

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

References LowerHalf(), and v.

◆ LowerHalf() [9/28]

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

References LowerHalf(), and v.

◆ LowerHalf() [10/28]

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

References LowerHalf(), and v.

◆ LowerHalf() [11/28]

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() [12/28]

HWY_API Vec64< uint16_t > hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< uint16_t >  v)

References LowerHalf(), and v.

◆ LowerHalf() [13/28]

HWY_API Vec64< uint32_t > hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< uint32_t >  v)

References LowerHalf(), and v.

◆ LowerHalf() [14/28]

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

References LowerHalf(), and v.

◆ LowerHalf() [15/28]

HWY_API Vec64< uint8_t > hwy::HWY_NAMESPACE::LowerHalf ( const Vec128< uint8_t >  v)

References LowerHalf(), and v.

◆ LowerHalf() [16/28]

template<class D2 , class V >
HWY_API V hwy::HWY_NAMESPACE::LowerHalf ( D2  ,
const V  v 
)

References v.

◆ LowerHalf() [17/28]

HWY_API Vec128< double > hwy::HWY_NAMESPACE::LowerHalf ( Full128< double >  ,
Vec256< double >  v 
)

References LowerHalf(), and v.

◆ LowerHalf() [18/28]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::LowerHalf ( Full128< float >  ,
Vec256< float >  v 
)

References LowerHalf(), and v.

◆ LowerHalf() [19/28]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::LowerHalf ( Full128< T >  ,
Vec256< T >  v 
)

References v.

◆ LowerHalf() [20/28]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::LowerHalf ( Full256< double >  ,
Vec512< double >  v 
)

References LowerHalf(), and v.

◆ LowerHalf() [21/28]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::LowerHalf ( Full256< float >  ,
Vec512< float >  v 
)

References LowerHalf(), and v.

◆ LowerHalf() [22/28]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::LowerHalf ( Full256< T >  ,
Vec512< T >  v 
)

References LowerHalf(), and v.

◆ LowerHalf() [23/28]

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(), N, and v.

◆ LowerHalf() [24/28]

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

References v.

◆ LowerHalf() [25/28]

template<typename T , size_t N>
HWY_API Vec128< T, N/2 > hwy::HWY_NAMESPACE::LowerHalf ( Vec128< T, N v)

References hwy::CopyBytes(), N, and v.

◆ LowerHalf() [26/28]

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

References v.

◆ LowerHalf() [27/28]

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

References v.

◆ LowerHalf() [28/28]

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

References LowerHalf(), and v.

◆ Lt128() [1/6]

template<class D >
HWY_INLINE svbool_t hwy::HWY_NAMESPACE::Lt128 ( d,
const svuint64_t  a,
const svuint64_t  b 
)

◆ Lt128() [2/6]

template<class D , class V = VFromD<D>>
HWY_API MFromD< D > hwy::HWY_NAMESPACE::Lt128 ( d,
const V  a,
const V  b 
)

◆ Lt128() [3/6]

template<class D >
HWY_INLINE MFromD< D > hwy::HWY_NAMESPACE::Lt128 ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

◆ Lt128() [4/6]

template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Lt128 ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Lt128() [5/6]

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 
)

◆ Lt128() [6/6]

HWY_API Mask128< uint64_t > hwy::HWY_NAMESPACE::Lt128 ( Simd< uint64_t, 2, 0 >  ,
Vec128< uint64_t >  a,
const Vec128< uint64_t >  b 
)

◆ Lt128Upper() [1/6]

template<class D , class V = VFromD<D>>
HWY_API MFromD< D > hwy::HWY_NAMESPACE::Lt128Upper ( d,
const V  a,
const V  b 
)

◆ Lt128Upper() [2/6]

template<class D >
HWY_INLINE MFromD< D > hwy::HWY_NAMESPACE::Lt128Upper ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

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

◆ Lt128Upper() [3/6]

template<class D >
HWY_INLINE svbool_t hwy::HWY_NAMESPACE::Lt128Upper ( d,
svuint64_t  a,
svuint64_t  b 
)

References d.

◆ Lt128Upper() [4/6]

template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Lt128Upper ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Lt128Upper() [5/6]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, N > hwy::HWY_NAMESPACE::Lt128Upper ( Simd< T, N, 0 >  d,
Vec128< T, N a,
Vec128< T, N b 
)

◆ Lt128Upper() [6/6]

HWY_API Mask128< uint64_t > hwy::HWY_NAMESPACE::Lt128Upper ( Simd< uint64_t, 2, 0 >  ,
Vec128< uint64_t >  a,
const Vec128< uint64_t >  b 
)

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

◆ 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, 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)

◆ MaskFromVec() [4/12]

template<size_t N>
HWY_API Mask128< float, N > hwy::HWY_NAMESPACE::MaskFromVec ( const Vec128< float, N 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)

References hwy::CopySameSize(), and v.

◆ MaskFromVec() [7/12]

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

◆ MaskFromVec() [8/12]

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

◆ MaskFromVec() [9/12]

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

◆ MaskFromVec() [10/12]

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

◆ MaskFromVec() [11/12]

HWY_API Mask512< float > hwy::HWY_NAMESPACE::MaskFromVec ( const Vec512< float >  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/33]

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/33]

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/33]

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/33]

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/33]

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

◆ Max() [6/33]

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

◆ Max() [7/33]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::Max ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ Max() [8/33]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::Max ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ Max() [9/33]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::Max ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

◆ Max() [10/33]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::Max ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ Max() [11/33]

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

◆ Max() [12/33]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::Max ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ Max() [13/33]

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

◆ Max() [14/33]

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

◆ Max() [15/33]

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

◆ Max() [16/33]

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

◆ Max() [17/33]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::Max ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ Max() [18/33]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::Max ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ Max() [19/33]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::Max ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ Max() [20/33]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::Max ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ Max() [21/33]

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

◆ Max() [22/33]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::Max ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ Max() [23/33]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::Max ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ Max() [24/33]

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

◆ Max() [25/33]

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

◆ Max() [26/33]

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/33]

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/33]

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/33]

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

◆ Max() [30/33]

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() [31/33]

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() [32/33]

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

◆ Max() [33/33]

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

◆ Max128() [1/4]

template<class D >
HWY_INLINE svuint64_t hwy::HWY_NAMESPACE::Max128 ( d,
const svuint64_t  a,
const svuint64_t  b 
)

◆ Max128() [2/4]

template<class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::Max128 ( d,
const V  a,
const V  b 
)

References d, IfThenElse(), and Lt128().

◆ 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(), Lt128(), and Max128().

Referenced by Max128(), and Max128().

◆ Max128() [4/4]

template<typename T >
HWY_INLINE Vec256< T > hwy::HWY_NAMESPACE::Max128 ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Max128Upper() [1/4]

template<class D >
HWY_INLINE svuint64_t hwy::HWY_NAMESPACE::Max128Upper ( d,
const svuint64_t  a,
const svuint64_t  b 
)

References d, IfThenElse(), and Lt128Upper().

◆ Max128Upper() [2/4]

template<class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::Max128Upper ( d,
const V  a,
const V  b 
)

References d, IfThenElse(), and Lt128Upper().

◆ Max128Upper() [3/4]

template<class D >
HWY_INLINE VFromD< D > hwy::HWY_NAMESPACE::Max128Upper ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

References d, IfThenElse(), Lt128Upper(), and Max128Upper().

Referenced by Max128Upper(), and Max128Upper().

◆ Max128Upper() [4/4]

template<typename T >
HWY_INLINE Vec256< T > hwy::HWY_NAMESPACE::Max128Upper ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ MaxLanes()

template<class D >
HWY_INLINE HWY_MAYBE_UNUSED constexpr size_t hwy::HWY_NAMESPACE::MaxLanes ( )
constexpr

◆ MaxOfLanes() [1/13]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::MaxOfLanes ( d,
const VFromD< D >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [2/13]

template<class D , class V >
V hwy::HWY_NAMESPACE::MaxOfLanes ( d,
v 
)

◆ MaxOfLanes() [3/13]

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

References Combine(), d, Max(), MaxOfLanes(), and v.

◆ MaxOfLanes() [4/13]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< double >  d,
Vec512< double >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [5/13]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< float >  d,
Vec512< float >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [6/13]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< int16_t >  d,
Vec512< int16_t >  v 
)

References BitCast(), d, Max(), OddEven(), and v.

◆ MaxOfLanes() [7/13]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< int32_t >  d,
Vec512< int32_t >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [8/13]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< int64_t >  d,
Vec512< int64_t >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [9/13]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< uint16_t >  d,
Vec512< uint16_t >  v 
)

References And(), BitCast(), d, Max(), OddEven(), Set(), and v.

◆ MaxOfLanes() [10/13]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< uint32_t >  d,
Vec512< uint32_t >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [11/13]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::MaxOfLanes ( Full512< uint64_t >  d,
Vec512< uint64_t >  v 
)

References d, Set(), and v.

◆ MaxOfLanes() [12/13]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::MaxOfLanes ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

References v.

Referenced by MaxOfLanes().

◆ MaxOfLanes() [13/13]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::MaxOfLanes ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ Min() [1/33]

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/33]

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/33]

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/33]

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/33]

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

◆ Min() [6/33]

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

◆ Min() [7/33]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::Min ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ Min() [8/33]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::Min ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ Min() [9/33]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::Min ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

◆ Min() [10/33]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::Min ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ Min() [11/33]

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

◆ Min() [12/33]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::Min ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ Min() [13/33]

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

◆ Min() [14/33]

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

◆ Min() [15/33]

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

◆ Min() [16/33]

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

◆ Min() [17/33]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::Min ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ Min() [18/33]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::Min ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ Min() [19/33]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::Min ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ Min() [20/33]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::Min ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ Min() [21/33]

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

◆ Min() [22/33]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::Min ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ Min() [23/33]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::Min ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ Min() [24/33]

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

◆ Min() [25/33]

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

◆ Min() [26/33]

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/33]

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/33]

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/33]

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

◆ Min() [30/33]

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() [31/33]

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() [32/33]

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

◆ Min() [33/33]

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

◆ Min128() [1/4]

template<class D >
HWY_INLINE svuint64_t hwy::HWY_NAMESPACE::Min128 ( d,
const svuint64_t  a,
const svuint64_t  b 
)

◆ Min128() [2/4]

template<class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::Min128 ( d,
const V  a,
const V  b 
)

References d, IfThenElse(), and Lt128().

◆ 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(), Lt128(), and Min128().

Referenced by Min128(), and Min128().

◆ Min128() [4/4]

template<typename T >
HWY_INLINE Vec256< T > hwy::HWY_NAMESPACE::Min128 ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Min128Upper() [1/4]

template<class D >
HWY_INLINE svuint64_t hwy::HWY_NAMESPACE::Min128Upper ( d,
const svuint64_t  a,
const svuint64_t  b 
)

References d, IfThenElse(), and Lt128Upper().

◆ Min128Upper() [2/4]

template<class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::Min128Upper ( d,
const V  a,
const V  b 
)

References d, IfThenElse(), and Lt128Upper().

◆ Min128Upper() [3/4]

template<class D >
HWY_INLINE VFromD< D > hwy::HWY_NAMESPACE::Min128Upper ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

References d, IfThenElse(), Lt128Upper(), and Min128Upper().

Referenced by Min128Upper(), and Min128Upper().

◆ Min128Upper() [4/4]

template<typename T >
HWY_INLINE Vec256< T > hwy::HWY_NAMESPACE::Min128Upper ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ MinOfLanes() [1/13]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::MinOfLanes ( d,
const VFromD< D >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [2/13]

template<class D , class V >
V hwy::HWY_NAMESPACE::MinOfLanes ( d,
v 
)

◆ MinOfLanes() [3/13]

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

References Combine(), d, Min(), MinOfLanes(), and v.

◆ MinOfLanes() [4/13]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::MinOfLanes ( Full512< double >  d,
Vec512< double >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [5/13]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::MinOfLanes ( Full512< float >  d,
Vec512< float >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [6/13]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::MinOfLanes ( Full512< int16_t >  d,
Vec512< int16_t >  v 
)

References BitCast(), d, Min(), OddEven(), and v.

◆ MinOfLanes() [7/13]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::MinOfLanes ( Full512< int32_t >  d,
Vec512< int32_t >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [8/13]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::MinOfLanes ( Full512< int64_t >  d,
Vec512< int64_t >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [9/13]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::MinOfLanes ( Full512< uint16_t >  d,
Vec512< uint16_t >  v 
)

References And(), BitCast(), d, Min(), OddEven(), Set(), and v.

◆ MinOfLanes() [10/13]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::MinOfLanes ( Full512< uint32_t >  d,
Vec512< uint32_t >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [11/13]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::MinOfLanes ( Full512< uint64_t >  d,
Vec512< uint64_t >  v 
)

References d, Set(), and v.

◆ MinOfLanes() [12/13]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::MinOfLanes ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

References v.

Referenced by MinOfLanes().

◆ MinOfLanes() [13/13]

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

◆ MulAdd() [1/8]

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/8]

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/8]

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/8]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::MulAdd ( const Vec256< double >  mul,
const Vec256< double >  x,
const Vec256< double >  add 
)

◆ MulAdd() [5/8]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::MulAdd ( const Vec256< float >  mul,
const Vec256< float >  x,
const Vec256< float >  add 
)

◆ MulAdd() [6/8]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::MulAdd ( const Vec512< double >  mul,
const Vec512< double >  x,
const Vec512< double >  add 
)

◆ MulAdd() [7/8]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::MulAdd ( const Vec512< float >  mul,
const Vec512< float >  x,
const Vec512< float >  add 
)

◆ MulAdd() [8/8]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::MulAdd ( Vec128< T, N mul,
const Vec128< T, N x,
const Vec128< T, N add 
)

◆ MulEven() [1/18]

HWY_API svuint64_t hwy::HWY_NAMESPACE::MulEven ( const svuint64_t  a,
const svuint64_t  b 
)

References MulHigh().

◆ 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(), 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(), 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 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, MulEven(), 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, MulEven(), 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_INLINE Vec512< uint64_t > hwy::HWY_NAMESPACE::MulEven ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ MulEven() [11/18]

HWY_API Vec128< int64_t > hwy::HWY_NAMESPACE::MulEven ( Vec128< int32_t >  a,
Vec128< int32_t >  b 
)

◆ MulEven() [12/18]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::MulEven ( Vec128< uint32_t >  a,
Vec128< uint32_t >  b 
)

References ConcatEven(), d, and MulEven().

◆ MulEven() [13/18]

HWY_INLINE Vec128< uint64_t > hwy::HWY_NAMESPACE::MulEven ( Vec128< uint64_t >  a,
Vec128< uint64_t >  b 
)

◆ MulEven() [14/18]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::MulEven ( Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ MulEven() [15/18]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::MulEven ( Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ MulEven() [16/18]

HWY_INLINE Vec256< uint64_t > hwy::HWY_NAMESPACE::MulEven ( Vec256< uint64_t >  a,
const Vec256< 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/8]

HWY_API svint16_t hwy::HWY_NAMESPACE::MulFixedPoint15 ( svint16_t  a,
svint16_t  b 
)

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

◆ MulFixedPoint15() [2/8]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec128< int16_t >  a,
Vec128< int16_t >  b 
)

◆ MulFixedPoint15() [3/8]

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/8]

template<size_t N>
HWY_API Vec128< int16_t, N > hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec128< int16_t, N a,
Vec128< int16_t, N b 
)

◆ MulFixedPoint15() [5/8]

HWY_API Vec1< int16_t > hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec1< int16_t >  a,
Vec1< int16_t >  b 
)

◆ MulFixedPoint15() [6/8]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec256< int16_t >  a,
Vec256< int16_t >  b 
)

◆ MulFixedPoint15() [7/8]

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

◆ MulFixedPoint15() [8/8]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::MulFixedPoint15 ( Vec512< int16_t >  a,
Vec512< int16_t >  b 
)

◆ MulHigh() [1/13]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::MulHigh ( const Vec128< int16_t >  a,
const Vec128< int16_t >  b 
)

◆ MulHigh() [2/13]

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/13]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::MulHigh ( const Vec128< uint16_t >  a,
const Vec128< uint16_t >  b 
)

◆ MulHigh() [4/13]

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() [5/13]

HWY_API Vec1< int16_t > hwy::HWY_NAMESPACE::MulHigh ( const Vec1< int16_t >  a,
const Vec1< int16_t >  b 
)

◆ MulHigh() [6/13]

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

◆ MulHigh() [7/13]

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

◆ MulHigh() [8/13]

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

◆ MulHigh() [9/13]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::MulHigh ( Vec256< int16_t >  a,
Vec256< int16_t >  b 
)

◆ MulHigh() [10/13]

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

◆ MulHigh() [11/13]

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

◆ MulHigh() [12/13]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::MulHigh ( Vec512< int16_t >  a,
Vec512< int16_t >  b 
)

◆ MulHigh() [13/13]

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

◆ MulOdd() [1/7]

HWY_API svuint64_t hwy::HWY_NAMESPACE::MulOdd ( const svuint64_t  a,
const svuint64_t  b 
)

References MulHigh().

◆ MulOdd() [2/7]

template<class V , HWY_IF_LANE_SIZE_V(V, 8) >
HWY_INLINE V hwy::HWY_NAMESPACE::MulOdd ( const V  a,
const V  b 
)

References OddEven().

◆ MulOdd() [3/7]

template<size_t N>
HWY_API Vec128< int64_t,(N+1)/2 > hwy::HWY_NAMESPACE::MulOdd ( const Vec128< int32_t, N a,
const Vec128< int32_t, N b 
)

◆ MulOdd() [4/7]

HWY_INLINE Vec512< uint64_t > hwy::HWY_NAMESPACE::MulOdd ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ MulOdd() [5/7]

template<size_t N>
HWY_API Vec128< uint64_t,(N+1)/2 > hwy::HWY_NAMESPACE::MulOdd ( Vec128< uint32_t, N a,
const Vec128< uint32_t, N b 
)

◆ MulOdd() [6/7]

HWY_INLINE Vec128< uint64_t > hwy::HWY_NAMESPACE::MulOdd ( Vec128< uint64_t >  a,
Vec128< uint64_t >  b 
)

◆ MulOdd() [7/7]

HWY_INLINE Vec256< uint64_t > hwy::HWY_NAMESPACE::MulOdd ( Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ MulSub() [1/8]

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/8]

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(), MulSub(), and Neg().

Referenced by Acosh(), hwy::HWY_NAMESPACE::impl::Log(), and MulSub().

◆ MulSub() [3/8]

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/8]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::MulSub ( const Vec256< double >  mul,
const Vec256< double >  x,
const Vec256< double >  sub 
)

◆ MulSub() [5/8]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::MulSub ( const Vec256< float >  mul,
const Vec256< float >  x,
const Vec256< float >  sub 
)

◆ MulSub() [6/8]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::MulSub ( const Vec512< double >  mul,
const Vec512< double >  x,
const Vec512< double >  sub 
)

◆ MulSub() [7/8]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::MulSub ( const Vec512< float >  mul,
const Vec512< float >  x,
const Vec512< float >  sub 
)

◆ MulSub() [8/8]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::MulSub ( Vec128< T, N mul,
const Vec128< T, N x,
const Vec128< T, N sub 
)

◆ NaN()

template<class D >
HWY_API Vec< D > hwy::HWY_NAMESPACE::NaN ( d)

References BitCast(), d, hwy::LimitsMax(), and Set().

◆ Ne128() [1/6]

template<class D >
HWY_INLINE svbool_t hwy::HWY_NAMESPACE::Ne128 ( d,
const svuint64_t  a,
const svuint64_t  b 
)

◆ Ne128() [2/6]

template<class D , class V = VFromD<D>>
HWY_API MFromD< D > hwy::HWY_NAMESPACE::Ne128 ( d,
const V  a,
const V  b 
)

◆ Ne128() [3/6]

template<class D >
HWY_INLINE MFromD< D > hwy::HWY_NAMESPACE::Ne128 ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

◆ Ne128() [4/6]

template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Ne128 ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Ne128() [5/6]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, N > hwy::HWY_NAMESPACE::Ne128 ( Simd< T, N, 0 >  d,
Vec128< T, N a,
Vec128< T, N b 
)

References d, MaskFromVec(), Ne128(), Or(), Reverse2(), and VecFromMask().

Referenced by Ne128(), and Ne128().

◆ Ne128() [6/6]

HWY_API Mask128< uint64_t > hwy::HWY_NAMESPACE::Ne128 ( Simd< uint64_t, 2, 0 >  ,
Vec128< uint64_t >  a,
const Vec128< uint64_t >  b 
)

◆ Ne128Upper() [1/6]

template<class D , class V = VFromD<D>>
HWY_API MFromD< D > hwy::HWY_NAMESPACE::Ne128Upper ( d,
const V  a,
const V  b 
)

◆ Ne128Upper() [2/6]

template<class D >
HWY_INLINE MFromD< D > hwy::HWY_NAMESPACE::Ne128Upper ( d,
const VFromD< D >  a,
const VFromD< D >  b 
)

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

◆ Ne128Upper() [3/6]

template<class D >
HWY_INLINE svbool_t hwy::HWY_NAMESPACE::Ne128Upper ( d,
svuint64_t  a,
svuint64_t  b 
)

References d.

◆ Ne128Upper() [4/6]

template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Ne128Upper ( Full256< T >  d,
Vec256< T >  a,
Vec256< T >  b 
)

◆ Ne128Upper() [5/6]

template<typename T , size_t N, HWY_IF_LE128(T, N) >
HWY_INLINE Mask128< T, N > hwy::HWY_NAMESPACE::Ne128Upper ( Simd< T, N, 0 >  d,
Vec128< T, N a,
Vec128< T, N b 
)

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

Referenced by Ne128Upper(), and Ne128Upper().

◆ Ne128Upper() [6/6]

HWY_API Mask128< uint64_t > hwy::HWY_NAMESPACE::Ne128Upper ( Simd< uint64_t, 2, 0 >  ,
Vec128< uint64_t >  a,
const Vec128< uint64_t >  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)

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

References NearestInt(), and 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/12]

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

References v.

◆ Neg() [2/12]

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

References v.

◆ Neg() [3/12]

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

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

◆ Neg() [4/12]

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

References v.

◆ Neg() [5/12]

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

References v.

◆ Neg() [6/12]

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/12]

template<typename T , size_t N>
HWY_INLINE Vec128< T, N > hwy::HWY_NAMESPACE::Neg ( const Vec128< T, N v)

◆ Neg() [8/12]

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() [9/12]

template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Neg ( const Vec512< T >  v)

References SignBit(), v, and Xor().

◆ Neg() [10/12]

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

◆ Neg() [11/12]

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

◆ Neg() [12/12]

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

◆ NegMulAdd() [1/8]

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/8]

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 
)

References NegMulAdd().

Referenced by Acos(), Asin(), and NegMulAdd().

◆ NegMulAdd() [3/8]

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/8]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::NegMulAdd ( const Vec256< double >  mul,
const Vec256< double >  x,
const Vec256< double >  add 
)

◆ NegMulAdd() [5/8]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::NegMulAdd ( const Vec256< float >  mul,
const Vec256< float >  x,
const Vec256< float >  add 
)

◆ NegMulAdd() [6/8]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::NegMulAdd ( const Vec512< double >  mul,
const Vec512< double >  x,
const Vec512< double >  add 
)

◆ NegMulAdd() [7/8]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::NegMulAdd ( const Vec512< float >  mul,
const Vec512< float >  x,
const Vec512< float >  add 
)

◆ NegMulAdd() [8/8]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::NegMulAdd ( Vec128< T, N mul,
const Vec128< T, N x,
const Vec128< T, N add 
)

◆ NegMulSub() [1/8]

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/8]

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(), Neg(), and NegMulSub().

Referenced by NegMulSub().

◆ NegMulSub() [3/8]

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/8]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::NegMulSub ( const Vec256< double >  mul,
const Vec256< double >  x,
const Vec256< double >  sub 
)

◆ NegMulSub() [5/8]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::NegMulSub ( const Vec256< float >  mul,
const Vec256< float >  x,
const Vec256< float >  sub 
)

References Neg().

◆ NegMulSub() [6/8]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::NegMulSub ( const Vec512< double >  mul,
const Vec512< double >  x,
const Vec512< double >  sub 
)

◆ NegMulSub() [7/8]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::NegMulSub ( const Vec512< float >  mul,
const Vec512< float >  x,
const Vec512< float >  sub 
)

◆ NegMulSub() [8/8]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::NegMulSub ( Vec128< T, N mul,
const Vec128< T, N x,
const Vec128< T, N sub 
)

References Neg().

◆ 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 MaskFromVec(), Not(), and VecFromMask().

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

◆ 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, Not(), v, and Zero().

◆ Not() [8/12]

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

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

◆ Not() [9/12]

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

References BitCast(), and v.

◆ Not() [10/12]

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

◆ Not() [11/12]

HWY_API svbool_t hwy::HWY_NAMESPACE::Not ( svbool_t  m)

References HWY_SVE_PTRUE.

◆ Not() [12/12]

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

◆ OddEven() [1/10]

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

◆ OddEven() [2/10]

template<class V , HWY_IF_FLOAT_V(V) >
HWY_API V hwy::HWY_NAMESPACE::OddEven ( const V  odd,
const V  even 
)

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

◆ OddEven() [3/10]

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/10]

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/10]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) >
HWY_INLINE Vec128< T, N > hwy::HWY_NAMESPACE::OddEven ( const Vec128< T, N a,
const Vec128< T, N b 
)

◆ OddEven() [6/10]

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

◆ OddEven() [7/10]

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

◆ OddEven() [8/10]

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

References IfThenElse(), and OddEven().

◆ OddEven() [9/10]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::OddEven ( Vec1< T >  ,
Vec1< T >  even 
)

◆ OddEven() [10/10]

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

◆ OddEvenBlocks() [1/10]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::OddEvenBlocks ( const V  odd,
const V  even 
)

◆ 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 >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec256< T >  odd,
Vec256< T >  even 
)

◆ OddEvenBlocks() [7/10]

template<typename T >
Vec256< T > hwy::HWY_NAMESPACE::OddEvenBlocks ( Vec256< T >  odd,
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/20]

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/20]

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/20]

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/20]

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/20]

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/20]

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 
)

◆ operator!=() [7/20]

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/20]

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/20]

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/20]

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/20]

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/20]

template<typename T >
HWY_API Mask1< T > hwy::HWY_NAMESPACE::operator!= ( const Vec1< T >  a,
const Vec1< T >  b 
)

◆ operator!=() [13/20]

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!=() [14/20]

template<size_t N>
HWY_API Mask128< double, N > hwy::HWY_NAMESPACE::operator!= ( Vec128< double, N a,
Vec128< double, N b 
)

◆ operator!=() [15/20]

HWY_API Mask256< double > hwy::HWY_NAMESPACE::operator!= ( Vec256< double >  a,
Vec256< double >  b 
)

◆ operator!=() [16/20]

HWY_API Mask256< float > hwy::HWY_NAMESPACE::operator!= ( Vec256< float >  a,
Vec256< float >  b 
)

◆ operator!=() [17/20]

template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator!= ( Vec256< T >  a,
const Vec256< T >  b 
)

◆ operator!=() [18/20]

HWY_API Mask512< double > hwy::HWY_NAMESPACE::operator!= ( Vec512< double >  a,
Vec512< double >  b 
)

◆ operator!=() [19/20]

HWY_API Mask512< float > hwy::HWY_NAMESPACE::operator!= ( Vec512< float >  a,
Vec512< float >  b 
)

◆ operator!=() [20/20]

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(), and operator&().

Referenced by operator&().

◆ 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/39]

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/39]

HWY_API Vec128< float, 1 > hwy::HWY_NAMESPACE::operator* ( const Vec128< float, 1 >  a,
const Vec128< float, 1 >  b 
)

◆ operator*() [3/39]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::operator* ( const Vec128< int16_t >  a,
const Vec128< int16_t >  b 
)

◆ operator*() [4/39]

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/39]

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/39]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::operator* ( const Vec128< int32_t >  a,
const Vec128< int32_t >  b 
)

◆ operator*() [7/39]

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/39]

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/39]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::operator* ( const Vec128< uint16_t >  a,
const Vec128< uint16_t >  b 
)

◆ operator*() [10/39]

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/39]

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/39]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::operator* ( const Vec128< uint32_t >  a,
const Vec128< uint32_t >  b 
)

◆ operator*() [13/39]

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/39]

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/39]

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/39]

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

◆ operator*() [17/39]

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

◆ operator*() [18/39]

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

◆ operator*() [19/39]

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

◆ operator*() [20/39]

HWY_API Vec64< double > hwy::HWY_NAMESPACE::operator* ( const Vec64< double >  a,
const Vec64< double >  b 
)

◆ operator*() [21/39]

template<class V , class D = DFromV<V>, HWY_IF_LANE_SIZE_D(D, 8) , HWY_IF_LT128_D(D) , HWY_IF_FLOAT_D(D) >
HWY_API V hwy::HWY_NAMESPACE::operator* ( x,
y 
)

References GetLane(), and Set().

◆ operator*() [22/39]

template<class V , class D64 = DFromV<V>, typename T = LaneType<V>, HWY_IF_LANE_SIZE(T, 8) , HWY_IF_UNSIGNED(T) , HWY_IF_GE128_D(D64) >
HWY_API V hwy::HWY_NAMESPACE::operator* ( x,
y 
)

References BitCast(), and MulEven().

◆ operator*() [23/39]

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

◆ operator*() [24/39]

HWY_API Vec128< int64_t > hwy::HWY_NAMESPACE::operator* ( Vec128< int64_t >  a,
Vec128< int64_t >  b 
)

◆ operator*() [25/39]

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

◆ operator*() [26/39]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::operator* ( Vec128< uint64_t >  a,
Vec128< uint64_t >  b 
)

◆ operator*() [27/39]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::operator* ( Vec256< int16_t >  a,
Vec256< int16_t >  b 
)

◆ operator*() [28/39]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::operator* ( Vec256< int32_t >  a,
Vec256< int32_t >  b 
)

◆ operator*() [29/39]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::operator* ( Vec256< int64_t >  a,
Vec256< int64_t >  b 
)

◆ operator*() [30/39]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator* ( Vec256< T >  a,
const Vec256< T >  b 
)

◆ operator*() [31/39]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::operator* ( Vec256< uint16_t >  a,
Vec256< uint16_t >  b 
)

◆ operator*() [32/39]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::operator* ( Vec256< uint32_t >  a,
Vec256< uint32_t >  b 
)

◆ operator*() [33/39]

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

◆ operator*() [34/39]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::operator* ( Vec512< int16_t >  a,
Vec512< int16_t >  b 
)

◆ operator*() [35/39]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::operator* ( Vec512< int32_t >  a,
Vec512< int32_t >  b 
)

◆ operator*() [36/39]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::operator* ( Vec512< int64_t >  a,
Vec512< int64_t >  b 
)

◆ operator*() [37/39]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::operator* ( Vec512< uint16_t >  a,
Vec512< uint16_t >  b 
)

◆ operator*() [38/39]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::operator* ( Vec512< uint32_t >  a,
Vec512< uint32_t >  b 
)

◆ operator*() [39/39]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::operator* ( Vec512< uint64_t >  a,
Vec512< uint64_t >  b 
)

◆ operator+() [1/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

HWY_API Vec1< double > hwy::HWY_NAMESPACE::operator+ ( const Vec1< double >  a,
const Vec1< double >  b 
)

◆ operator+() [12/35]

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

◆ operator+() [13/35]

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

◆ operator+() [14/35]

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

◆ operator+() [15/35]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ operator+() [16/35]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ operator+() [17/35]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

◆ operator+() [18/35]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ operator+() [19/35]

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

◆ operator+() [20/35]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator+() [21/35]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::operator+ ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ operator+() [22/35]

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

◆ operator+() [23/35]

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

◆ operator+() [24/35]

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

◆ operator+() [25/35]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::operator+ ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ operator+() [26/35]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::operator+ ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ operator+() [27/35]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::operator+ ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ operator+() [28/35]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::operator+ ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ operator+() [29/35]

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

◆ operator+() [30/35]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::operator+ ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ operator+() [31/35]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::operator+ ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ operator+() [32/35]

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

◆ operator+() [33/35]

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

◆ operator+() [34/35]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::operator+ ( Vec1< T >  a,
Vec1< T >  b 
)

◆ operator+() [35/35]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator+ ( Vec256< T >  a,
const Vec256< T >  b 
)

◆ operator-() [1/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

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/35]

HWY_API Vec1< double > hwy::HWY_NAMESPACE::operator- ( const Vec1< double >  a,
const Vec1< double >  b 
)

◆ operator-() [11/35]

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

◆ operator-() [12/35]

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

◆ operator-() [13/35]

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

◆ operator-() [14/35]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ operator-() [15/35]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< int32_t >  a,
const Vec256< int32_t >  b 
)

◆ operator-() [16/35]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< int64_t >  a,
const Vec256< int64_t >  b 
)

◆ operator-() [17/35]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ operator-() [18/35]

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

◆ operator-() [19/35]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator-() [20/35]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::operator- ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ operator-() [21/35]

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

◆ operator-() [22/35]

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

◆ operator-() [23/35]

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

◆ operator-() [24/35]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::operator- ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ operator-() [25/35]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::operator- ( const Vec512< int32_t >  a,
const Vec512< int32_t >  b 
)

◆ operator-() [26/35]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::operator- ( const Vec512< int64_t >  a,
const Vec512< int64_t >  b 
)

◆ operator-() [27/35]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::operator- ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ operator-() [28/35]

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

◆ operator-() [29/35]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::operator- ( const Vec512< uint32_t >  a,
const Vec512< uint32_t >  b 
)

◆ operator-() [30/35]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::operator- ( const Vec512< uint64_t >  a,
const Vec512< uint64_t >  b 
)

◆ operator-() [31/35]

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

◆ operator-() [32/35]

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

◆ operator-() [33/35]

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-() [34/35]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::operator- ( Vec1< T >  a,
Vec1< T >  b 
)

◆ operator-() [35/35]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator- ( Vec256< T >  a,
const Vec256< T >  b 
)

◆ operator/() [1/11]

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/11]

HWY_API Vec128< float, 1 > hwy::HWY_NAMESPACE::operator/ ( const Vec128< float, 1 >  a,
const Vec128< float, 1 >  b 
)

◆ operator/() [3/11]

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

References ApproximateReciprocal(), and operator/().

Referenced by operator/().

◆ operator/() [4/11]

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

◆ operator/() [5/11]

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

◆ operator/() [6/11]

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

◆ operator/() [7/11]

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

◆ operator/() [8/11]

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

◆ operator/() [9/11]

HWY_API Vec64< double > hwy::HWY_NAMESPACE::operator/ ( const Vec64< double >  a,
const Vec64< double >  b 
)

◆ operator/() [10/11]

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

◆ operator/() [11/11]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator/ ( Vec256< T >  a,
const Vec256< T >  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 
)

◆ 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< ( Vec256< T >  a,
const Vec256< T >  b 
)

◆ operator<() [4/4]

template<typename T >
HWY_API Mask512< T > hwy::HWY_NAMESPACE::operator< ( Vec512< T >  a,
Vec512< T >  b 
)

◆ operator<<() [1/24]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< int16_t >  v,
const Vec128< int16_t >  bits 
)

◆ operator<<() [2/24]

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/24]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< int32_t >  v,
const Vec128< int32_t >  bits 
)

◆ operator<<() [4/24]

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/24]

HWY_API Vec128< int64_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< int64_t >  v,
const Vec128< int64_t >  bits 
)

◆ operator<<() [6/24]

HWY_API Vec128< int8_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< int8_t >  v,
const Vec128< int8_t >  bits 
)

◆ operator<<() [7/24]

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/24]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint16_t >  v,
const Vec128< uint16_t >  bits 
)

◆ operator<<() [9/24]

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<<() [10/24]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint32_t >  v,
const Vec128< uint32_t >  bits 
)

◆ operator<<() [11/24]

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<<() [12/24]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint64_t >  v,
const Vec128< uint64_t >  bits 
)

◆ operator<<() [13/24]

HWY_API Vec128< uint8_t > hwy::HWY_NAMESPACE::operator<< ( const Vec128< uint8_t >  v,
const Vec128< uint8_t >  bits 
)

◆ operator<<() [14/24]

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<<() [15/24]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::operator<< ( const Vec1< T >  v,
const Vec1< T >  bits 
)

◆ operator<<() [16/24]

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<<() [17/24]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::operator<< ( const Vec512< uint16_t >  v,
const Vec512< uint16_t >  bits 
)

◆ operator<<() [18/24]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::operator<< ( const Vec512< uint32_t >  v,
const Vec512< uint32_t >  bits 
)

◆ operator<<() [19/24]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::operator<< ( const Vec512< uint64_t >  v,
const Vec512< uint64_t >  bits 
)

◆ operator<<() [20/24]

HWY_API Vec64< int64_t > hwy::HWY_NAMESPACE::operator<< ( const Vec64< int64_t >  v,
const Vec64< int64_t >  bits 
)

◆ operator<<() [21/24]

HWY_API Vec64< uint64_t > hwy::HWY_NAMESPACE::operator<< ( const Vec64< uint64_t >  v,
const Vec64< uint64_t >  bits 
)

◆ operator<<() [22/24]

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

◆ operator<<() [23/24]

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<<() [24/24]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator<< ( Vec256< T >  v,
const Vec256< T >  bits 
)

◆ operator<=() [1/5]

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/5]

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 
)

◆ operator<=() [3/5]

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

◆ operator<=() [4/5]

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

◆ operator<=() [5/5]

template<typename T >
HWY_API Mask512< T > hwy::HWY_NAMESPACE::operator<= ( Vec512< T >  a,
Vec512< T >  b 
)

◆ operator==() [1/20]

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/20]

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/20]

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/20]

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/20]

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 
)

◆ operator==() [6/20]

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==() [7/20]

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==() [8/20]

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==() [9/20]

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==() [10/20]

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==() [11/20]

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

◆ operator==() [12/20]

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==() [13/20]

template<size_t N>
HWY_API Mask128< double, N > hwy::HWY_NAMESPACE::operator== ( Vec128< double, N a,
Vec128< double, N b 
)

◆ operator==() [14/20]

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==() [15/20]

HWY_API Mask256< double > hwy::HWY_NAMESPACE::operator== ( Vec256< double >  a,
Vec256< double >  b 
)

◆ operator==() [16/20]

HWY_API Mask256< float > hwy::HWY_NAMESPACE::operator== ( Vec256< float >  a,
Vec256< float >  b 
)

◆ operator==() [17/20]

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

◆ operator==() [18/20]

HWY_API Mask512< double > hwy::HWY_NAMESPACE::operator== ( Vec512< double >  a,
Vec512< double >  b 
)

◆ operator==() [19/20]

HWY_API Mask512< float > hwy::HWY_NAMESPACE::operator== ( Vec512< float >  a,
Vec512< float >  b 
)

◆ operator==() [20/20]

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< uint16_t > hwy::HWY_NAMESPACE::operator> ( const Vec256< uint16_t >  a,
const Vec256< uint16_t >  b 
)

◆ operator>() [12/33]

HWY_API Mask256< uint32_t > hwy::HWY_NAMESPACE::operator> ( const Vec256< uint32_t >  a,
const Vec256< uint32_t >  b 
)

◆ operator>() [13/33]

HWY_API Mask256< uint64_t > hwy::HWY_NAMESPACE::operator> ( const Vec256< uint64_t >  a,
const Vec256< uint64_t >  b 
)

◆ operator>() [14/33]

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

◆ operator>() [15/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<(), and operator>().

Referenced by operator>(), and operator>().

◆ operator>() [16/33]

HWY_API Mask256< double > hwy::HWY_NAMESPACE::operator> ( Vec256< double >  a,
Vec256< double >  b 
)

◆ operator>() [17/33]

HWY_API Mask256< float > hwy::HWY_NAMESPACE::operator> ( Vec256< float >  a,
Vec256< float >  b 
)

◆ operator>() [18/33]

HWY_API Mask256< int16_t > hwy::HWY_NAMESPACE::operator> ( Vec256< int16_t >  a,
Vec256< int16_t >  b 
)

◆ operator>() [19/33]

HWY_API Mask256< int32_t > hwy::HWY_NAMESPACE::operator> ( Vec256< int32_t >  a,
Vec256< int32_t >  b 
)

◆ operator>() [20/33]

HWY_API Mask256< int64_t > hwy::HWY_NAMESPACE::operator> ( Vec256< int64_t >  a,
Vec256< int64_t >  b 
)

◆ operator>() [21/33]

HWY_API Mask256< int8_t > hwy::HWY_NAMESPACE::operator> ( Vec256< int8_t >  a,
Vec256< int8_t >  b 
)

◆ operator>() [22/33]

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

◆ 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/9]

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/9]

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

◆ operator>=() [3/9]

template<size_t N>
HWY_API Mask128< double, N > hwy::HWY_NAMESPACE::operator>= ( Vec128< double, N a,
Vec128< double, N b 
)

◆ operator>=() [4/9]

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<=(), and operator>=().

Referenced by operator>=(), and operator>=().

◆ operator>=() [5/9]

HWY_API Mask256< double > hwy::HWY_NAMESPACE::operator>= ( Vec256< double >  a,
Vec256< double >  b 
)

◆ operator>=() [6/9]

HWY_API Mask256< float > hwy::HWY_NAMESPACE::operator>= ( Vec256< float >  a,
Vec256< float >  b 
)

◆ operator>=() [7/9]

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

◆ operator>=() [8/9]

HWY_API Mask512< double > hwy::HWY_NAMESPACE::operator>= ( Vec512< double >  a,
Vec512< double >  b 
)

◆ operator>=() [9/9]

HWY_API Mask512< float > hwy::HWY_NAMESPACE::operator>= ( Vec512< float >  a,
Vec512< float >  b 
)

◆ operator>>() [1/41]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< int16_t >  v,
const Vec128< int16_t >  bits 
)

References Neg(), operator>>(), and v.

◆ operator>>() [2/41]

HWY_API Vec128< int16_t, 1 > hwy::HWY_NAMESPACE::operator>> ( const Vec128< int16_t, 1 >  v,
const Vec128< int16_t, 1 >  bits 
)

◆ operator>>() [3/41]

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(), operator>>(), and v.

◆ operator>>() [4/41]

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/41]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< int32_t >  v,
const Vec128< int32_t >  bits 
)

References Neg(), operator>>(), and v.

◆ operator>>() [6/41]

HWY_API Vec128< int32_t, 1 > hwy::HWY_NAMESPACE::operator>> ( const Vec128< int32_t, 1 >  v,
const Vec128< int32_t, 1 >  bits 
)

◆ operator>>() [7/41]

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(), operator>>(), and v.

◆ operator>>() [8/41]

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/41]

HWY_API Vec128< int64_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< int64_t >  v,
const Vec128< int64_t >  bits 
)

References Neg(), operator>>(), and v.

◆ operator>>() [10/41]

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/41]

HWY_API Vec128< int8_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< int8_t >  v,
const Vec128< int8_t >  bits 
)

References Neg(), operator>>(), and v.

◆ operator>>() [12/41]

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(), operator>>(), and v.

◆ operator>>() [13/41]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint16_t >  v,
const Vec128< uint16_t >  bits 
)

References BitCast(), Neg(), operator>>(), and v.

◆ operator>>() [14/41]

HWY_API Vec128< uint16_t, 1 > hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint16_t, 1 >  in,
const Vec128< uint16_t, 1 >  bits 
)

◆ operator>>() [15/41]

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/41]

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(), operator>>(), and v.

◆ operator>>() [17/41]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint32_t >  v,
const Vec128< uint32_t >  bits 
)

References BitCast(), Neg(), operator>>(), and v.

◆ operator>>() [18/41]

HWY_API Vec128< uint32_t, 1 > hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint32_t, 1 >  in,
const Vec128< uint32_t, 1 >  bits 
)

◆ operator>>() [19/41]

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/41]

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(), operator>>(), and v.

◆ operator>>() [21/41]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint64_t >  v,
const Vec128< uint64_t >  bits 
)

References BitCast(), Neg(), operator>>(), and v.

◆ operator>>() [22/41]

HWY_API Vec128< uint8_t > hwy::HWY_NAMESPACE::operator>> ( const Vec128< uint8_t >  v,
const Vec128< uint8_t >  bits 
)

◆ operator>>() [23/41]

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(), operator>>(), and v.

◆ operator>>() [24/41]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::operator>> ( const Vec1< T >  v,
const Vec1< T >  bits 
)

◆ operator>>() [25/41]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::operator>> ( const Vec512< int16_t >  v,
const Vec512< int16_t >  bits 
)

◆ operator>>() [26/41]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::operator>> ( const Vec512< int32_t >  v,
const Vec512< int32_t >  bits 
)

◆ operator>>() [27/41]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::operator>> ( const Vec512< int64_t >  v,
const Vec512< int64_t >  bits 
)

◆ operator>>() [28/41]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::operator>> ( const Vec512< uint16_t >  v,
const Vec512< uint16_t >  bits 
)

◆ operator>>() [29/41]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::operator>> ( const Vec512< uint32_t >  v,
const Vec512< uint32_t >  bits 
)

◆ operator>>() [30/41]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::operator>> ( const Vec512< uint64_t >  v,
const Vec512< uint64_t >  bits 
)

◆ operator>>() [31/41]

HWY_API Vec64< int64_t > hwy::HWY_NAMESPACE::operator>> ( const Vec64< int64_t >  v,
const Vec64< int64_t >  bits 
)

References Neg(), operator>>(), and v.

◆ operator>>() [32/41]

HWY_API Vec64< uint64_t > hwy::HWY_NAMESPACE::operator>> ( const Vec64< uint64_t >  v,
const Vec64< uint64_t >  bits 
)

References BitCast(), Neg(), operator>>(), and v.

◆ operator>>() [33/41]

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

◆ operator>>() [34/41]

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>>() [35/41]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::operator>> ( Vec256< int16_t >  v,
Vec256< int16_t >  bits 
)

◆ operator>>() [36/41]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::operator>> ( Vec256< int32_t >  v,
Vec256< int32_t >  bits 
)

◆ operator>>() [37/41]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::operator>> ( Vec256< int64_t >  v,
Vec256< int64_t >  bits 
)

◆ operator>>() [38/41]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator>> ( Vec256< T >  v,
const Vec256< T >  bits 
)

◆ operator>>() [39/41]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::operator>> ( Vec256< uint16_t >  v,
Vec256< uint16_t >  bits 
)

◆ operator>>() [40/41]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::operator>> ( Vec256< uint32_t >  v,
Vec256< uint32_t >  bits 
)

◆ operator>>() [41/41]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::operator>> ( Vec256< uint64_t >  v,
Vec256< uint64_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 operator^(), and Xor().

Referenced by operator^().

◆ 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 operator|(), and Or().

Referenced by operator|().

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

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

◆ 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 , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Or ( const Vec128< T, N a,
const Vec128< T, N b 
)

References BitCast(), d, and N.

◆ Or() [10/17]

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

References BitCast().

◆ Or() [11/17]

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

◆ Or() [12/17]

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

◆ Or() [13/17]

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

◆ Or() [14/17]

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

◆ Or() [15/17]

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

◆ Or() [16/17]

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

◆ Or() [17/17]

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

◆ Or3() [1/5]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Or3 ( o1,
o2,
o3 
)

References Or().

◆ Or3() [2/5]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Or3 ( Vec128< T, N o1,
Vec128< T, N o2,
Vec128< T, N o3 
)

References Or(), and Or3().

Referenced by Or3().

◆ Or3() [3/5]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Or3 ( Vec1< T >  o1,
Vec1< T >  o2,
Vec1< T >  o3 
)

References Or().

◆ Or3() [4/5]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Or3 ( Vec256< T >  o1,
Vec256< T >  o2,
Vec256< T >  o3 
)

References Or().

◆ Or3() [5/5]

template<typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Or3 ( Vec512< T >  o1,
Vec512< T >  o2,
Vec512< T >  o3 
)

References BitCast(), and d.

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

◆ 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 , class D = DFromV<V>, HWY_IF_LANE_SIZE_D(D, 1) , HWY_IF_GE128_D(D) , HWY_IF_POW2_GE(D, HWY_MIN_POW2_FOR_128) >
HWY_API V hwy::HWY_NAMESPACE::PopulationCount ( v)

◆ PopulationCount() [2/7]

template<typename V , class D = DFromV<V>, HWY_IF_LANE_SIZE_D(D, 2) >
HWY_API V hwy::HWY_NAMESPACE::PopulationCount ( v)

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

References v.

Referenced by PopulationCount().

◆ 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 HWY_MAYBE_UNUSED constexpr int hwy::HWY_NAMESPACE::Pow2 ( )
constexpr

◆ Print()

template<class D , class V = VFromD<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 
)

◆ PromoteTo() [1/90]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< int16_t >  d,
const Vec64< uint8_t >  v 
)

References BitCast(), d, PromoteTo(), and v.

◆ PromoteTo() [2/90]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< int16_t >  ,
const Vec64< int8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [3/90]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< int32_t >  d,
const Vec32< uint8_t >  v 
)

References BitCast(), d, PromoteTo(), and v.

◆ PromoteTo() [4/90]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< int32_t >  d,
const Vec64< uint16_t >  v 
)

References BitCast(), d, PromoteTo(), and v.

◆ PromoteTo() [5/90]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< int32_t >  ,
const Vec32< int8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [6/90]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< int32_t >  ,
const Vec64< int16_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [7/90]

HWY_API Vec128< int64_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< int64_t >  ,
const Vec64< int32_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [8/90]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< uint16_t >  ,
const Vec64< uint8_t >  v 
)

◆ PromoteTo() [9/90]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< uint32_t >  ,
const Vec32< uint8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [10/90]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< uint32_t >  ,
const Vec64< uint16_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [11/90]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::PromoteTo ( Full128< uint64_t >  ,
const Vec64< uint32_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [12/90]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::PromoteTo ( Full256< double >  ,
const Vec128< float, 4 >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [13/90]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::PromoteTo ( Full256< double >  ,
const Vec128< int32_t, 4 >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [14/90]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::PromoteTo ( Full256< float >  df32,
const Vec128< bfloat16_t v 
)

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

◆ PromoteTo() [15/90]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::PromoteTo ( Full256< float >  df32,
const Vec128< float16_t v 
)

◆ PromoteTo() [16/90]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int16_t >  ,
Vec128< int8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [17/90]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int16_t >  ,
Vec128< uint8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [18/90]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
Vec128< int16_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [19/90]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
Vec128< int8_t, 8 >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [20/90]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
Vec128< uint16_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [21/90]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int32_t >  ,
Vec128< uint8_t, 8 >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [22/90]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< int64_t >  ,
Vec128< int32_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [23/90]

template<typename T , typename TN >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::PromoteTo ( Full256< T >  d,
const Vec128< TN >  v 
)

◆ PromoteTo() [24/90]

template<typename TW , typename TN >
HWY_API Vec256< TW > hwy::HWY_NAMESPACE::PromoteTo ( Full256< TW >  d,
const Vec64< TN >  v 
)

◆ PromoteTo() [25/90]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint16_t >  ,
Vec128< uint8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [26/90]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint32_t >  ,
Vec128< uint16_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [27/90]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint32_t >  ,
Vec128< uint8_t, 8 >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [28/90]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::PromoteTo ( Full256< uint64_t >  ,
Vec128< uint32_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [29/90]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::PromoteTo ( Full512< double >  ,
Vec256< float >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [30/90]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::PromoteTo ( Full512< double >  ,
Vec256< int32_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [31/90]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::PromoteTo ( Full512< float >  df32,
const Vec256< bfloat16_t v 
)

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

◆ PromoteTo() [32/90]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::PromoteTo ( Full512< float >  ,
const Vec256< float16_t v 
)

References PromoteTo(), and v.

◆ PromoteTo() [33/90]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< int16_t >  ,
Vec256< int8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [34/90]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< int16_t >  ,
Vec256< uint8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [35/90]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< int32_t >  ,
Vec128< int8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [36/90]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< int32_t >  ,
Vec128< uint8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [37/90]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< int32_t >  ,
Vec256< int16_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [38/90]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< int32_t >  ,
Vec256< uint16_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [39/90]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< int64_t >  ,
Vec256< int32_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [40/90]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< uint16_t >  ,
Vec256< uint8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [41/90]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< uint32_t >  ,
Vec128< uint8_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [42/90]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< uint32_t >  ,
Vec256< uint16_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [43/90]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::PromoteTo ( Full512< uint64_t >  ,
Vec256< uint32_t >  v 
)

References PromoteTo(), and v.

◆ PromoteTo() [44/90]

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() [45/90]

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

References v.

◆ PromoteTo() [46/90]

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() [47/90]

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() [48/90]

template<size_t N, HWY_IF_LE128(float, 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/90]

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/90]

template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< float, N, 0 >  df32,
const Vec128< float16_t, N v 
)

◆ PromoteTo() [51/90]

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() [52/90]

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() [53/90]

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(), and v.

◆ PromoteTo() [54/90]

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.

◆ PromoteTo() [55/90]

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.

◆ PromoteTo() [56/90]

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.

◆ PromoteTo() [57/90]

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, PromoteTo(), and v.

◆ PromoteTo() [58/90]

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 BitCast(), PromoteTo(), and v.

◆ PromoteTo() [59/90]

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 PromoteTo(), and v.

◆ PromoteTo() [60/90]

template<size_t N, HWY_IF_LE128(int16_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() [61/90]

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() [62/90]

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() [63/90]

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 BitCast(), PromoteTo(), and v.

◆ PromoteTo() [64/90]

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 BitCast(), PromoteTo(), and v.

◆ PromoteTo() [65/90]

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 PromoteTo(), and v.

◆ PromoteTo() [66/90]

template<size_t N, HWY_IF_LE128(int32_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() [67/90]

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 PromoteTo(), and v.

◆ PromoteTo() [68/90]

template<size_t N, HWY_IF_LE128(int32_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() [69/90]

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 PromoteTo(), and v.

◆ PromoteTo() [70/90]

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 PromoteTo(), and v.

◆ PromoteTo() [71/90]

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() [72/90]

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() [73/90]

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() [74/90]

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() [75/90]

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() [76/90]

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 PromoteTo(), and v.

◆ PromoteTo() [77/90]

template<size_t N, HWY_IF_LE128(int64_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() [78/90]

template<typename FromT , typename ToT , size_t N>
HWY_API Vec128< ToT, N > hwy::HWY_NAMESPACE::PromoteTo ( Simd< ToT, N, 0 >  ,
Vec128< FromT, N from 
)

◆ PromoteTo() [79/90]

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 PromoteTo(), and v.

◆ PromoteTo() [80/90]

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() [81/90]

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 PromoteTo(), and v.

◆ PromoteTo() [82/90]

template<size_t N, HWY_IF_LE128(uint32_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() [83/90]

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 PromoteTo(), and v.

◆ PromoteTo() [84/90]

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() [85/90]

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() [86/90]

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 PromoteTo(), and v.

◆ PromoteTo() [87/90]

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() [88/90]

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

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

◆ PromoteTo() [89/90]

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

References hwy::CopySameSize(), and v.

◆ PromoteTo() [90/90]

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

◆ RandomValues() [1/2]

template<class D , class VU64 , HWY_IF_NOT_FLOAT_D(D) >
Vec< D > hwy::HWY_NAMESPACE::RandomValues ( d,
VU64 &  s0,
VU64 &  s1,
const VU64  mask 
)

◆ RandomValues() [2/2]

template<class DF , class VU64 , HWY_IF_FLOAT_D(DF) >
Vec< DF > hwy::HWY_NAMESPACE::RandomValues ( DF  df,
VU64 &  s0,
VU64 &  s1,
const VU64  mask 
)

◆ RearrangeToOddPlusEven() [1/12]

template<size_t N>
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const Vec128< float, N sum0,
const Vec128< float, N sum1 
)

◆ RearrangeToOddPlusEven() [2/12]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const Vec128< int32_t >  sum0,
const Vec128< int32_t >  sum1 
)

◆ RearrangeToOddPlusEven() [3/12]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const Vec128< int32_t, N sum0,
const Vec128< int32_t, N  
)

◆ RearrangeToOddPlusEven() [4/12]

template<typename TW >
HWY_API Vec1< TW > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const Vec1< TW >  sum0,
Vec1< TW >   
)

◆ RearrangeToOddPlusEven() [5/12]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const Vec256< int32_t >  sum0,
Vec256< int32_t >   
)

◆ RearrangeToOddPlusEven() [6/12]

HWY_API Vec32< int32_t > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const Vec32< int32_t >  sum0,
const Vec32< int32_t >  sum1 
)

◆ RearrangeToOddPlusEven() [7/12]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const Vec512< int32_t >  sum0,
Vec512< int32_t >   
)

◆ RearrangeToOddPlusEven() [8/12]

HWY_API Vec64< int32_t > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const Vec64< int32_t >  sum0,
const Vec64< int32_t >  sum1 
)

◆ RearrangeToOddPlusEven() [9/12]

template<class VW >
HWY_API VW hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const VW  sum0,
const VW  sum1 
)

◆ RearrangeToOddPlusEven() [10/12]

template<class VW , HWY_IF_SIGNED_V(VW) >
HWY_API VW hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( const VW  sum0,
const VW  sum1 
)

References BitCast(), Combine(), and TruncateTo().

◆ RearrangeToOddPlusEven() [11/12]

template<typename TW >
HWY_API Vec256< TW > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( Vec256< TW >  sum0,
Vec256< TW >  sum1 
)

◆ RearrangeToOddPlusEven() [12/12]

HWY_API vint32m8_t hwy::HWY_NAMESPACE::RearrangeToOddPlusEven ( vint32m8_t  sum0,
vint32m8_t  sum1 
)

◆ 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/16]

HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::ReorderDemote2To ( Full128< int16_t >  d16,
Vec128< int32_t >  a,
Vec128< int32_t >  b 
)

◆ ReorderDemote2To() [2/16]

HWY_API Vec256< bfloat16_t > hwy::HWY_NAMESPACE::ReorderDemote2To ( Full256< bfloat16_t dbf16,
Vec256< float >  a,
Vec256< float >  b 
)

References BitCast(), and ConcatOdd().

◆ ReorderDemote2To() [3/16]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ReorderDemote2To ( Full256< int16_t >  d16,
Vec256< int32_t >  a,
Vec256< int32_t >  b 
)

◆ ReorderDemote2To() [4/16]

HWY_API Vec32< int16_t > hwy::HWY_NAMESPACE::ReorderDemote2To ( Full32< int16_t >  ,
Vec32< int32_t >  a,
Vec32< int32_t >  b 
)

◆ ReorderDemote2To() [5/16]

HWY_API Vec512< bfloat16_t > hwy::HWY_NAMESPACE::ReorderDemote2To ( Full512< bfloat16_t dbf16,
Vec512< float >  a,
Vec512< float >  b 
)

◆ ReorderDemote2To() [6/16]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::ReorderDemote2To ( Full512< int16_t >  ,
Vec512< int32_t >  a,
Vec512< int32_t >  b 
)

◆ ReorderDemote2To() [7/16]

HWY_API Vec64< int16_t > hwy::HWY_NAMESPACE::ReorderDemote2To ( Full64< int16_t >  ,
Vec64< int32_t >  a,
Vec64< int32_t >  b 
)

◆ ReorderDemote2To() [8/16]

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 
)

◆ ReorderDemote2To() [9/16]

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() [10/16]

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().

◆ ReorderDemote2To() [11/16]

template<size_t N>
HWY_API Vec128< int16_t, 2 *N > hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< int16_t, 2 *N, 0 >  ,
Vec128< int32_t, N a,
Vec128< int32_t, N b 
)

◆ ReorderDemote2To() [12/16]

HWY_API Vec128< int16_t, 2 > hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< int16_t, 2, 0 >  dn,
Vec128< int32_t, 1 >  a,
Vec128< int32_t, 1 >  b 
)

◆ ReorderDemote2To() [13/16]

HWY_API Vec128< int16_t, 4 > hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< int16_t, 4, 0 >  dn,
Vec128< int32_t, 2 >  a,
Vec128< int32_t, 2 >  b 
)

◆ ReorderDemote2To() [14/16]

template<size_t N, class V32 = VFromD<RepartitionToWide<Simd<int16_t, N, 3>>>>
HWY_API VFromD< Simd< int16_t, N, 3 > > hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< int16_t, N, 3 >  d16,
V32  a,
V32  b 
)

References Combine(), and DemoteTo().

◆ ReorderDemote2To() [15/16]

template<size_t N, int kPow2>
HWY_API svint16_t hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< int16_t, N, kPow2 >  d16,
svint32_t  a,
svint32_t  b 
)

References BitCast().

◆ ReorderDemote2To() [16/16]

template<size_t N, int kPow2, hwy::EnableIf<(kPow2< 3)> * = nullptr, class D32 = RepartitionToWide<Simd<int16_t, N, kPow2>>>
HWY_API VFromD< Simd< int16_t, N, kPow2 > > hwy::HWY_NAMESPACE::ReorderDemote2To ( Simd< int16_t, N, kPow2 >  d16,
VFromD< D32 >  a,
VFromD< D32 >  b 
)

◆ ReorderWidenMulAccumulate() [1/15]

HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Full128< int32_t >  ,
Vec128< int16_t >  a,
Vec128< int16_t >  b,
const Vec128< int32_t >  sum0,
Vec128< int32_t > &  sum1 
)

◆ ReorderWidenMulAccumulate() [2/15]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Full256< int32_t >  ,
Vec256< int16_t >  a,
Vec256< int16_t >  b,
const Vec256< int32_t >  sum0,
Vec256< int32_t > &   
)

◆ ReorderWidenMulAccumulate() [3/15]

template<typename TN , typename TW >
HWY_API Vec256< TW > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Full256< TW >  d,
Vec256< TN >  a,
Vec256< TN >  b,
Vec256< TW >  sum0,
Vec256< TW > &  sum1 
)

◆ ReorderWidenMulAccumulate() [4/15]

HWY_API Vec32< int32_t > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Full32< int32_t >  d32,
Vec32< int16_t >  a,
Vec32< int16_t >  b,
const Vec32< int32_t >  sum0,
Vec32< int32_t > &  sum1 
)

◆ ReorderWidenMulAccumulate() [5/15]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Full512< int32_t >  ,
Vec512< int16_t >  a,
Vec512< int16_t >  b,
const Vec512< int32_t >  sum0,
Vec512< int32_t > &   
)

◆ ReorderWidenMulAccumulate() [6/15]

HWY_API Vec64< int32_t > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Full64< int32_t >  d32,
Vec64< int16_t >  a,
Vec64< int16_t >  b,
const Vec64< int32_t >  sum0,
Vec64< int32_t > &  sum1 
)

◆ ReorderWidenMulAccumulate() [7/15]

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() [8/15]

template<class V , size_t N, class D16 = Simd<bfloat16_t, 2 * N, 0>>
HWY_API V hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Simd< float, N, 0 >  df32,
VFromD< D16 >  a,
VFromD< D16 >  b,
const V  sum0,
V &  sum1 
)

References And(), BitCast(), MulAdd(), and Set().

◆ ReorderWidenMulAccumulate() [9/15]

template<size_t N, int kPow2, class VN , class VW >
HWY_API VW hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Simd< float, N, kPow2 >  d32,
VN  a,
VN  b,
const VW  sum0,
VW &  sum1 
)

◆ ReorderWidenMulAccumulate() [10/15]

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 
)

References And(), BitCast(), MulAdd(), and Set().

◆ ReorderWidenMulAccumulate() [11/15]

template<size_t N>
HWY_API Vec128< int32_t, N > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Simd< int32_t, N, 0 >  d32,
Vec128< int16_t, 2 *N a,
Vec128< int16_t, 2 *N b,
const Vec128< int32_t, N sum0,
Vec128< int32_t, N > &  sum1 
)

References BitCast().

◆ ReorderWidenMulAccumulate() [12/15]

template<size_t N, int kPow2>
HWY_API svint32_t hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Simd< int32_t, N, kPow2 >  d32,
svint16_t  a,
svint16_t  b,
const svint32_t  sum0,
svint32_t &  sum1 
)

References BitCast().

◆ ReorderWidenMulAccumulate() [13/15]

template<size_t N, int kPow2, class VN , class VW >
HWY_API VW hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Simd< int32_t, N, kPow2 >  d32,
VN  a,
VN  b,
const VW  sum0,
VW &  sum1 
)

◆ ReorderWidenMulAccumulate() [14/15]

HWY_API Vec1< float > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Sisd< float >  ,
Vec1< bfloat16_t a,
Vec1< bfloat16_t b,
const Vec1< float >  sum0,
Vec1< float > &   
)

◆ ReorderWidenMulAccumulate() [15/15]

HWY_API Vec1< int32_t > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate ( Sisd< int32_t >  ,
Vec1< int16_t >  a,
Vec1< int16_t >  b,
const Vec1< int32_t >  sum0,
Vec1< int32_t > &   
)

◆ Replace()

template<class D , typename T = TFromD<D>>
void hwy::HWY_NAMESPACE::Replace ( d,
T *HWY_RESTRICT  inout,
size_t  count,
new_t,
old_t 
)

◆ ReplaceIf()

template<class D , class Func , typename T = TFromD<D>>
void hwy::HWY_NAMESPACE::ReplaceIf ( d,
T *HWY_RESTRICT  inout,
size_t  count,
new_t,
const Func func 
)

◆ Reverse() [1/12]

template<class D , class V >
HWY_API V hwy::HWY_NAMESPACE::Reverse ( d,
v 
)

◆ Reverse() [2/12]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::Reverse ( ,
VFromD< D >  v 
)

◆ Reverse() [3/12]

template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Reverse ( Full128< T >  ,
const Vec128< T >  v 
)

References Reverse(), Shuffle01(), and v.

◆ Reverse() [4/12]

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

◆ Reverse() [5/12]

template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse ( Full256< T >  d,
const Vec256< T >  v 
)

◆ Reverse() [6/12]

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() [7/12]

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 
)

◆ Reverse() [8/12]

template<typename T >
HWY_API Vec128< T, 1 > hwy::HWY_NAMESPACE::Reverse ( Simd< T, 1, 0 >  ,
const Vec128< T, 1 >  v 
)

◆ Reverse() [9/12]

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 Reverse(), Shuffle2301(), and v.

◆ Reverse() [10/12]

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() [11/12]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse ( Simd< T, N, 0 >  ,
const Vec128< T, N v 
)

◆ Reverse() [12/12]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Reverse ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ Reverse2() [1/12]

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/12]

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/12]

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/12]

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, Reverse2(), and v.

◆ Reverse2() [5/12]

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, Reverse2(), and v.

◆ Reverse2() [6/12]

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

◆ Reverse2() [7/12]

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, Reverse2(), and v.

◆ Reverse2() [8/12]

template<typename T >
HWY_API Vec128< T, 1 > hwy::HWY_NAMESPACE::Reverse2 ( Simd< T, 1, 0 >  ,
const Vec128< T, 1 >  v 
)

References v.

◆ Reverse2() [9/12]

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() [10/12]

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 Reverse2(), Shuffle01(), and v.

◆ Reverse2() [11/12]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse2 ( Simd< T, N, 0 >  ,
const Vec128< T, N v 
)

◆ Reverse2() [12/12]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Reverse2 ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ Reverse4() [1/9]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::Reverse4 ( d,
const VFromD< D >  v 
)

◆ Reverse4() [2/9]

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, Reverse4(), and v.

◆ Reverse4() [3/9]

template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse4 ( Full256< T >  d,
const Vec256< T >  v 
)

◆ Reverse4() [4/9]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::Reverse4 ( Full512< double >  ,
Vec512< double >  v 
)

References Reverse4(), and v.

◆ Reverse4() [5/9]

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() [6/9]

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 
)

References BitCast(), d, Reverse4(), and v.

Referenced by Reverse4(), Reverse4(), Reverse4(), Reverse4(), and Reverse4().

◆ Reverse4() [7/9]

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 Reverse4(), Shuffle0123(), and v.

◆ Reverse4() [8/9]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse4 ( Simd< T, N, 0 >  ,
const Vec128< T, N v 
)

◆ Reverse4() [9/9]

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_IF_LANE_SIZE(T, 8) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse8 ( Full256< T >  d,
Vec256< T >  v 
)

References HWY_ASSERT.

◆ Reverse8() [3/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() [4/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 
)

References d, Reverse(), Reverse8(), and v.

Referenced by Reverse8(), and Reverse8().

◆ Reverse8() [5/6]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Reverse8 ( Simd< T, N, 0 >  ,
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/8]

template<class D , class V = VFromD<D>>
HWY_API V hwy::HWY_NAMESPACE::ReverseBlocks ( d,
v 
)

◆ ReverseBlocks() [2/8]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::ReverseBlocks ( Full128< T >  ,
const Vec128< T >  v 
)

◆ ReverseBlocks() [3/8]

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

References SwapAdjacentBlocks(), and v.

◆ ReverseBlocks() [4/8]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::ReverseBlocks ( Full512< double >  ,
Vec512< double >  v 
)

References ReverseBlocks(), and v.

◆ ReverseBlocks() [5/8]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::ReverseBlocks ( Full512< float >  ,
Vec512< float >  v 
)

References ReverseBlocks(), and v.

◆ ReverseBlocks() [6/8]

template<typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::ReverseBlocks ( Full512< T >  ,
Vec512< T >  v 
)

References ReverseBlocks(), and v.

◆ ReverseBlocks() [7/8]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ReverseBlocks ( Simd< T, N, 0 >  ,
const Vec128< T, N v 
)

References v.

◆ ReverseBlocks() [8/8]

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 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(), RotateRight(), ShiftLeft(), and v.

Referenced by RotateRight(), and RotateRight().

◆ 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(), RotateRight(), ShiftLeft(), and v.

◆ RotateRight() [5/10]

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

References 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 >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Round ( const Vec1< T >  v)

◆ Round() [4/8]

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

References v.

◆ Round() [5/8]

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

References v.

◆ Round() [6/8]

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

References v.

◆ Round() [7/8]

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

◆ Round() [8/8]

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

◆ Run()

template<class Order , typename KeyType >
void hwy::HWY_NAMESPACE::Run ( Algo  algo,
KeyType *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 MaskedLoad().

Referenced by Copy().

◆ SafeFillN()

template<class D , typename T = TFromD<D>>
HWY_API void hwy::HWY_NAMESPACE::SafeFillN ( const size_t  num,
const T  value,
d,
T *HWY_RESTRICT  to 
)

References BlendedStore(), d, FirstN(), and Set().

Referenced by Fill().

◆ SaturatedAdd() [1/18]

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/18]

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/18]

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/18]

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/18]

HWY_API Vec1< int16_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec1< int16_t >  a,
const Vec1< int16_t >  b 
)

◆ SaturatedAdd() [6/18]

HWY_API Vec1< int8_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec1< int8_t >  a,
const Vec1< int8_t >  b 
)

◆ SaturatedAdd() [7/18]

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

◆ SaturatedAdd() [8/18]

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

◆ SaturatedAdd() [9/18]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ SaturatedAdd() [10/18]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ SaturatedAdd() [11/18]

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

◆ SaturatedAdd() [12/18]

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

◆ SaturatedAdd() [13/18]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ SaturatedAdd() [14/18]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::SaturatedAdd ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ SaturatedAdd() [15/18]

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

◆ SaturatedAdd() [16/18]

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

◆ SaturatedAdd() [17/18]

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

◆ SaturatedAdd() [18/18]

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

◆ SaturatedSub() [1/18]

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/18]

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/18]

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/18]

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/18]

HWY_API Vec1< int16_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec1< int16_t >  a,
const Vec1< int16_t >  b 
)

◆ SaturatedSub() [6/18]

HWY_API Vec1< int8_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec1< int8_t >  a,
const Vec1< int8_t >  b 
)

◆ SaturatedSub() [7/18]

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

◆ SaturatedSub() [8/18]

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

◆ SaturatedSub() [9/18]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec256< int16_t >  a,
const Vec256< int16_t >  b 
)

◆ SaturatedSub() [10/18]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec256< int8_t >  a,
const Vec256< int8_t >  b 
)

◆ SaturatedSub() [11/18]

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

◆ SaturatedSub() [12/18]

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

◆ SaturatedSub() [13/18]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec512< int16_t >  a,
const Vec512< int16_t >  b 
)

◆ SaturatedSub() [14/18]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::SaturatedSub ( const Vec512< int8_t >  a,
const Vec512< int8_t >  b 
)

◆ SaturatedSub() [15/18]

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

◆ SaturatedSub() [16/18]

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

◆ SaturatedSub() [17/18]

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

◆ SaturatedSub() [18/18]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::SaturatedSub ( Vec256< T >  a,
const Vec256< 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 
)

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

References d, ScatterIndex(), and v.

◆ 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/12]

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/12]

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/12]

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 
)

◆ ScatterOffset() [4/12]

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/12]

template<typename T , size_t N, typename Offset >
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset ( Vec128< T, N v,
Simd< T, N, 0 >  ,
T *  base,
const Vec128< Offset, N offset 
)

◆ ScatterOffset() [6/12]

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() [7/12]

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

◆ ScatterOffset() [8/12]

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

◆ ScatterOffset() [9/12]

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() [10/12]

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

◆ ScatterOffset() [11/12]

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

◆ ScatterOffset() [12/12]

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 
)

References d, ScatterOffset(), and v.

◆ Set() [1/35]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::Set ( Full256< double >  ,
const double  t 
)

◆ Set() [2/35]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Set ( Full256< float >  ,
const float  t 
)

◆ Set() [3/35]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::Set ( Full256< int16_t >  ,
const int16_t  t 
)

◆ Set() [4/35]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::Set ( Full256< int32_t >  ,
const int32_t  t 
)

◆ Set() [5/35]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::Set ( Full256< int64_t >  ,
const int64_t  t 
)

◆ Set() [6/35]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::Set ( Full256< int8_t >  ,
const int8_t  t 
)

◆ Set() [7/35]

template<typename T , typename T2 >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Set ( Full256< T >  d,
const T2  t 
)

◆ Set() [8/35]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::Set ( Full256< uint16_t >  ,
const uint16_t  t 
)

◆ Set() [9/35]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::Set ( Full256< uint32_t >  ,
const uint32_t  t 
)

◆ Set() [10/35]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::Set ( Full256< uint64_t >  ,
const uint64_t  t 
)

◆ Set() [11/35]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::Set ( Full256< uint8_t >  ,
const uint8_t  t 
)

◆ Set() [12/35]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::Set ( Full512< double >  ,
const double  t 
)

◆ Set() [13/35]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::Set ( Full512< float >  ,
const float  t 
)

◆ Set() [14/35]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::Set ( Full512< int16_t >  ,
const int16_t  t 
)

◆ Set() [15/35]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::Set ( Full512< int32_t >  ,
const int32_t  t 
)

◆ Set() [16/35]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::Set ( Full512< int64_t >  ,
const int64_t  t 
)

◆ Set() [17/35]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::Set ( Full512< int8_t >  ,
const int8_t  t 
)

◆ Set() [18/35]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::Set ( Full512< uint16_t >  ,
const uint16_t  t 
)

◆ Set() [19/35]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::Set ( Full512< uint32_t >  ,
const uint32_t  t 
)

◆ Set() [20/35]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::Set ( Full512< uint64_t >  ,
const uint64_t  t 
)

◆ Set() [21/35]

HWY_API Vec512< uint8_t > hwy::HWY_NAMESPACE::Set ( Full512< uint8_t >  ,
const uint8_t  t 
)

◆ Set() [22/35]

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, d, and Set().

Referenced by Acos(), Acosh(), ApproximateReciprocal(), ApproximateReciprocalSqrt(), 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(), Compress(), Compress(), CompressNot(), CompressNot(), CompressNot(), ConcatEven(), ConcatEven(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), Cos(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosReduce(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosSignFromQuadrant(), DemoteTo(), DemoteTo(), Exp(), Expm1(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::ExpPoly(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::ExpReduce(), Fill(), Find(), FirstN(), FirstN(), Generate(), grk::HWY_NAMESPACE::hwy_decompress_v_parity_even_mcols_53(), grk::HWY_NAMESPACE::hwy_decompress_v_parity_odd_mcols_53(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), IndicesFromVec(), IndicesFromVec(), IndicesFromVec(), Inf(), InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), InsertLane(), IsFinite(), IsFinite(), IsInf(), IsInf(), IsInf(), IsInf(), hwy::HWY_NAMESPACE::impl::Log(), Log10(), Log1p(), Log2(), hwy::HWY_NAMESPACE::impl::LogImpl< float >::Log2p1NoSubnormal(), hwy::HWY_NAMESPACE::impl::LogImpl< float >::LogPoly(), MaskForDist(), Max(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxU(), Min(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinU(), MulEven(), MulEven(), MulOdd(), NaN(), operator*(), operator>>(), operator>>(), operator>>(), hwy::HWY_NAMESPACE::Pack16< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Pack(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::Poly(), PopulationCount(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::Pow2I(), PromoteTo(), PromoteTo(), PromoteTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), RandomValues(), ReorderWidenMulAccumulate(), ReorderWidenMulAccumulate(), ReorderWidenMulAccumulate(), hwy::HWY_NAMESPACE::detail::ReorderWidenMulAccumulateBF16(), Replace(), ReplaceIf(), Round(), SafeFillN(), Set(), Set(), hwy::HWY_NAMESPACE::detail::TraitsLane< Order >::SetKey(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), SignBit(), Sin(), Sinh(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinReduce(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinSignFromQuadrant(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), SumsOf8(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), Tanh(), grk::HWY_NAMESPACE::DecompressDcShiftIrrev::transform(), grk::HWY_NAMESPACE::DecompressDcShiftRev::transform(), grk::HWY_NAMESPACE::DecompressRev::transform(), grk::HWY_NAMESPACE::DecompressIrrev::transform(), grk::HWY_NAMESPACE::CompressRev::transform(), grk::HWY_NAMESPACE::CompressIrrev::transform(), hwy::HWY_NAMESPACE::Pack16< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Unpack(), hwy::HWY_NAMESPACE::detail::UseInt(), hwy::HWY_NAMESPACE::detail::UseInt(), VecFromMask(), Zero(), and Zero().

◆ Set() [23/35]

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 hwy::bfloat16_t::bits, d, and Set().

◆ Set() [24/35]

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() [25/35]

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() [26/35]

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() [27/35]

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() [28/35]

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() [29/35]

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() [30/35]

template<typename T , size_t N, typename T2 >
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Set ( Simd< T, N, 0 >  ,
const T2  t 
)

◆ Set() [31/35]

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() [32/35]

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() [33/35]

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() [34/35]

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() [35/35]

template<typename T , typename T2 >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Set ( Sisd< T >  ,
const T2  t 
)

◆ SetTableIndices() [1/6]

template<typename T , typename TI >
HWY_API Indices512< T > hwy::HWY_NAMESPACE::SetTableIndices ( const Full512< T >  d,
const TI *  idx 
)

◆ SetTableIndices() [2/6]

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/6]

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/6]

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 
)

◆ SetTableIndices() [5/6]

template<typename T , size_t N, typename TI >
HWY_API Indices128< T, N > hwy::HWY_NAMESPACE::SetTableIndices ( Simd< T, N, 0 >  d,
const TI *  idx 
)

References d, IndicesFromVec(), and LoadU().

◆ SetTableIndices() [6/6]

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/24]

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/24]

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/24]

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/24]

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)

◆ ShiftLeft() [5/24]

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/24]

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/24]

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/24]

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

References v.

◆ ShiftLeft() [9/24]

template<int kBits>
HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< int16_t >  v)

References v.

◆ ShiftLeft() [10/24]

template<int kBits>
HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< int32_t >  v)

References v.

◆ ShiftLeft() [11/24]

template<int kBits>
HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< int64_t >  v)

References v.

◆ ShiftLeft() [12/24]

template<int kBits, typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< T >  v)

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

◆ ShiftLeft() [13/24]

template<int kBits>
HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< uint16_t >  v)

References v.

◆ ShiftLeft() [14/24]

template<int kBits>
HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< uint32_t >  v)

References v.

◆ ShiftLeft() [15/24]

template<int kBits>
HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec256< uint64_t >  v)

References v.

◆ ShiftLeft() [16/24]

template<int kBits>
HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< int16_t >  v)

References v.

◆ ShiftLeft() [17/24]

template<int kBits>
HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< int32_t >  v)

References v.

◆ ShiftLeft() [18/24]

template<int kBits>
HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< int64_t >  v)

References v.

◆ ShiftLeft() [19/24]

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/24]

template<int kBits>
HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< uint16_t >  v)

References v.

◆ ShiftLeft() [21/24]

template<int kBits>
HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< uint32_t >  v)

References v.

◆ ShiftLeft() [22/24]

template<int kBits>
HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::ShiftLeft ( const Vec512< uint64_t >  v)

References v.

◆ ShiftLeft() [23/24]

template<int kBits, typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftLeft ( Vec128< T, N v)

◆ ShiftLeft() [24/24]

template<int kBits, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeft ( Vec256< T >  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 ShiftLeftBytes(), and v.

◆ ShiftLeftBytes() [4/9]

template<int kBytes, typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::ShiftLeftBytes ( const Vec512< T >  v)

References ShiftLeftBytes(), and 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 >  d,
Vec256< T >  v 
)

◆ ShiftLeftBytes() [7/9]

template<int kBytes, typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::ShiftLeftBytes ( Full512< T >  ,
const Vec512< T >  v 
)

References ShiftLeftBytes(), and 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 
)

◆ 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 ShiftLeftLanes(), and 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 ShiftLeftLanes(), and 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 
)

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

◆ ShiftLeftSame() [1/24]

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/24]

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/24]

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/24]

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 
)

◆ ShiftLeftSame() [5/24]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec128< T, N v,
int  bits 
)

◆ ShiftLeftSame() [6/24]

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/24]

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/24]

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/24]

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

References v.

◆ ShiftLeftSame() [10/24]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< int16_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [11/24]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< int32_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [12/24]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< int64_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [13/24]

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 BitCast(), Set(), ShiftLeftSame(), and v.

◆ ShiftLeftSame() [14/24]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< uint16_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [15/24]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< uint32_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [16/24]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec256< uint64_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [17/24]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< int16_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [18/24]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< int32_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [19/24]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< int64_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [20/24]

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/24]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< uint16_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [22/24]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< uint32_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [23/24]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::ShiftLeftSame ( const Vec512< uint64_t >  v,
const int  bits 
)

References v.

◆ ShiftLeftSame() [24/24]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftSame ( Vec256< T >  v,
const int  bits 
)

◆ ShiftRight() [1/27]

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/27]

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/27]

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/27]

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/27]

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/27]

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/27]

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/27]

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

◆ ShiftRight() [9/27]

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

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

◆ ShiftRight() [10/27]

template<int kBits>
HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< int16_t >  v)

References v.

◆ ShiftRight() [11/27]

template<int kBits>
HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< int32_t >  v)

References v.

◆ ShiftRight() [12/27]

template<int kBits>
HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< int64_t >  v)

◆ ShiftRight() [13/27]

template<int kBits>
HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< int8_t >  v)

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

◆ ShiftRight() [14/27]

template<int kBits>
HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< uint16_t >  v)

References v.

◆ ShiftRight() [15/27]

template<int kBits>
HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< uint32_t >  v)

References v.

◆ ShiftRight() [16/27]

template<int kBits>
HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< uint64_t >  v)

References v.

◆ ShiftRight() [17/27]

template<int kBits>
HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec256< uint8_t >  v)

◆ ShiftRight() [18/27]

template<int kBits>
HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< int16_t >  v)

References v.

◆ ShiftRight() [19/27]

template<int kBits>
HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< int32_t >  v)

References v.

◆ ShiftRight() [20/27]

template<int kBits>
HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< int64_t >  v)

References v.

◆ ShiftRight() [21/27]

template<int kBits>
HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< int8_t >  v)

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

◆ ShiftRight() [22/27]

template<int kBits>
HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< uint16_t >  v)

References v.

◆ ShiftRight() [23/27]

template<int kBits>
HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< uint32_t >  v)

References v.

◆ ShiftRight() [24/27]

template<int kBits>
HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< uint64_t >  v)

References v.

◆ ShiftRight() [25/27]

template<int kBits>
HWY_API Vec512< uint8_t > hwy::HWY_NAMESPACE::ShiftRight ( const Vec512< uint8_t >  v)

◆ ShiftRight() [26/27]

template<int kBits, typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftRight ( Vec128< T, N v)

◆ ShiftRight() [27/27]

template<int kBits, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftRight ( Vec256< T >  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 >  d,
Vec256< T >  v 
)

◆ ShiftRightBytes() [3/4]

template<int kBytes, typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::ShiftRightBytes ( Full512< T >  ,
const Vec512< T >  v 
)

References ShiftRightBytes(), and 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 
)

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

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

◆ ShiftRightSame() [1/27]

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/27]

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/27]

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/27]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec128< T, N v,
int  bits 
)

◆ ShiftRightSame() [5/27]

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/27]

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/27]

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/27]

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

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

◆ ShiftRightSame() [9/27]

HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< int16_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [10/27]

HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< int32_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [11/27]

HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< int64_t >  v,
const int  bits 
)

◆ ShiftRightSame() [12/27]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< uint16_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [13/27]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< uint32_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [14/27]

HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec256< uint64_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [15/27]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< int16_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [16/27]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< int32_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [17/27]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< int64_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [18/27]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< uint16_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [19/27]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< uint32_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [20/27]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::ShiftRightSame ( const Vec512< uint64_t >  v,
const int  bits 
)

References v.

◆ ShiftRightSame() [21/27]

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/27]

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

◆ ShiftRightSame() [23/27]

HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec256< int8_t >  v,
const int  bits 
)

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

◆ ShiftRightSame() [24/27]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec256< T >  v,
const int  bits 
)

◆ ShiftRightSame() [25/27]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec256< uint8_t >  v,
const int  bits 
)

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

◆ ShiftRightSame() [26/27]

HWY_API Vec512< int8_t > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec512< int8_t >  v,
const int  bits 
)

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

◆ ShiftRightSame() [27/27]

HWY_API Vec512< uint8_t > hwy::HWY_NAMESPACE::ShiftRightSame ( Vec512< uint8_t >  v,
const int  bits 
)

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

◆ Shuffle01() [1/12]

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

References BitCast(), d, and v.

◆ Shuffle01() [2/12]

HWY_API Vec128< double > hwy::HWY_NAMESPACE::Shuffle01 ( const Vec128< double >  v)

References v.

◆ Shuffle01() [3/12]

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

References v.

◆ Shuffle01() [4/12]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle01 ( const Vec128< T >  v)

◆ Shuffle01() [5/12]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::Shuffle01 ( const Vec128< uint64_t >  v)

References v.

◆ Shuffle01() [6/12]

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

References Shuffle01(), and v.

◆ Shuffle01() [7/12]

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

References Shuffle01(), and v.

◆ Shuffle01() [8/12]

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

References Shuffle01(), and v.

◆ Shuffle01() [9/12]

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

References Shuffle01(), and v.

◆ Shuffle01() [10/12]

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

References Shuffle01(), and v.

◆ Shuffle01() [11/12]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::Shuffle01 ( const Vec512< uint64_t >  v)

References Shuffle01(), and v.

◆ Shuffle01() [12/12]

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

◆ Shuffle0123() [1/12]

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

References Shuffle1032(), Shuffle2301(), and v.

◆ Shuffle0123() [2/12]

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

References v.

◆ Shuffle0123() [3/12]

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

References v.

◆ Shuffle0123() [4/12]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec128< T >  v)

◆ Shuffle0123() [5/12]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle0123() [6/12]

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

References Shuffle0123(), and v.

◆ Shuffle0123() [7/12]

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

References Shuffle0123(), and v.

◆ Shuffle0123() [8/12]

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

References Shuffle0123(), and v.

◆ Shuffle0123() [9/12]

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

References Shuffle0123(), and v.

◆ Shuffle0123() [10/12]

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

References Shuffle0123(), and v.

◆ Shuffle0123() [11/12]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::Shuffle0123 ( const Vec512< uint32_t >  v)

References Shuffle0123(), and v.

◆ Shuffle0123() [12/12]

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

◆ Shuffle0321() [1/12]

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

References BitCast(), d, and v.

◆ Shuffle0321() [2/12]

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

References v.

◆ Shuffle0321() [3/12]

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

References v.

◆ Shuffle0321() [4/12]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec128< T >  v)

◆ Shuffle0321() [5/12]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle0321() [6/12]

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

References Shuffle0321(), and v.

◆ Shuffle0321() [7/12]

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

References Shuffle0321(), and v.

◆ Shuffle0321() [8/12]

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

References Shuffle0321(), and v.

◆ Shuffle0321() [9/12]

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

References Shuffle0321(), and v.

◆ Shuffle0321() [10/12]

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

References Shuffle0321(), and v.

◆ Shuffle0321() [11/12]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::Shuffle0321 ( const Vec512< uint32_t >  v)

References Shuffle0321(), and v.

◆ Shuffle0321() [12/12]

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

◆ Shuffle1032() [1/12]

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

References BitCast(), d, and v.

◆ Shuffle1032() [2/12]

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

References v.

◆ Shuffle1032() [3/12]

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

References v.

◆ Shuffle1032() [4/12]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec128< T >  v)

◆ Shuffle1032() [5/12]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle1032() [6/12]

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

References Shuffle1032(), and v.

◆ Shuffle1032() [7/12]

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

References Shuffle1032(), and v.

◆ Shuffle1032() [8/12]

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

References Shuffle1032(), and v.

◆ Shuffle1032() [9/12]

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

References Shuffle1032(), and v.

◆ Shuffle1032() [10/12]

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

References Shuffle1032(), and v.

◆ Shuffle1032() [11/12]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::Shuffle1032 ( const Vec512< uint32_t >  v)

References Shuffle1032(), and v.

◆ Shuffle1032() [12/12]

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

◆ Shuffle2103() [1/12]

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

References BitCast(), d, and v.

◆ Shuffle2103() [2/12]

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

References v.

◆ Shuffle2103() [3/12]

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

References v.

◆ Shuffle2103() [4/12]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec128< T >  v)

◆ Shuffle2103() [5/12]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec128< uint32_t >  v)

References v.

◆ Shuffle2103() [6/12]

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

References Shuffle2103(), and v.

◆ Shuffle2103() [7/12]

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

References Shuffle2103(), and v.

◆ Shuffle2103() [8/12]

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

References Shuffle2103(), and v.

◆ Shuffle2103() [9/12]

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

References Shuffle2103(), and v.

◆ Shuffle2103() [10/12]

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

References Shuffle2103(), and v.

◆ Shuffle2103() [11/12]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::Shuffle2103 ( const Vec512< uint32_t >  v)

References Shuffle2103(), and v.

◆ Shuffle2103() [12/12]

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

◆ Shuffle2301() [1/14]

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

References d, Reverse2(), and v.

◆ Shuffle2301() [2/14]

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

References Shuffle2301(), and v.

◆ Shuffle2301() [3/14]

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

References N, and v.

◆ Shuffle2301() [4/14]

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

References Shuffle2301(), and v.

◆ Shuffle2301() [5/14]

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

References N, Reverse2(), and v.

◆ Shuffle2301() [6/14]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec128< uint32_t >  v)

References Shuffle2301(), and v.

◆ Shuffle2301() [7/14]

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

References Shuffle2301(), and v.

◆ Shuffle2301() [8/14]

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

References Shuffle2301(), and v.

◆ Shuffle2301() [9/14]

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

References Shuffle2301(), and v.

◆ Shuffle2301() [10/14]

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

References Shuffle2301(), and v.

◆ Shuffle2301() [11/14]

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

References Shuffle2301(), and v.

◆ Shuffle2301() [12/14]

HWY_API Vec64< int32_t > hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec64< int32_t >  v)

References Shuffle2301(), and v.

◆ Shuffle2301() [13/14]

HWY_API Vec64< uint32_t > hwy::HWY_NAMESPACE::Shuffle2301 ( const Vec64< uint32_t >  v)

◆ Shuffle2301() [14/14]

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

◆ SignBit()

template<class D >
HWY_API Vec< D > hwy::HWY_NAMESPACE::SignBit ( d)

◆ 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 And(), d, Expm1(), 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/12]

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

References v.

◆ Sqrt() [2/12]

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

References v.

◆ Sqrt() [3/12]

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

◆ Sqrt() [4/12]

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

References v.

◆ Sqrt() [5/12]

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

References v.

◆ Sqrt() [6/12]

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

References v.

◆ Sqrt() [7/12]

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

References v.

◆ Sqrt() [8/12]

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

References v.

◆ Sqrt() [9/12]

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

References v.

◆ Sqrt() [10/12]

HWY_API Vec64< double > hwy::HWY_NAMESPACE::Sqrt ( const Vec64< double >  v)

References v.

◆ Sqrt() [11/12]

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

◆ Sqrt() [12/12]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Sqrt ( Vec256< T >  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 hwy::CopySameSize(), and 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 >  d,
T *HWY_RESTRICT  aligned 
)

References d, Lanes(), Store(), and 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.

◆ StoreInterleaved2() [1/4]

template<typename T , size_t N, class V , HWY_IF_GE128(T, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved2 ( const V  v0,
const V  v1,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved2() [2/4]

template<typename T , size_t N, HWY_IF_STORE_INT(T, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved2 ( const Vec128< T, N v0,
const Vec128< T, N v1,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved2() [3/4]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved2 ( const Vec128< T, N v0,
const Vec128< T, N v1,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved2() [4/4]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved2 ( const Vec1< T >  v0,
const Vec1< T >  v1,
Sisd< T >  d,
T *HWY_RESTRICT  unaligned 
)

References d, and StoreU().

◆ StoreInterleaved3() [1/9]

template<class V , typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const V  part0,
const V  part1,
const V  part2,
Full64< T >  d,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [2/9]

template<typename T , size_t N, class V , HWY_IF_LANE_SIZE(T, 1) , HWY_IF_GE128(T, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const V  v0,
const V  v1,
const V  v2,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [3/9]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec128< T, 1 >  v0,
const Vec128< T, 1 >  v1,
const Vec128< T, 1 >  v2,
Simd< T, 1, 0 >  d,
T *HWY_RESTRICT  unaligned 
)

References d, and StoreU().

◆ StoreInterleaved3() [4/9]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec128< T, 2 >  part0,
const Vec128< T, 2 >  part1,
const Vec128< T, 2 >  part2,
Simd< T, 2, 0 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [5/9]

template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) , HWY_IF_LE32(T, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec128< T, N part0,
const Vec128< T, N part1,
const Vec128< T, N part2,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [6/9]

template<typename T , size_t N, HWY_IF_STORE_INT(T, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec128< T, N v0,
const Vec128< T, N v1,
const Vec128< T, N v2,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [7/9]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec128< T, N v0,
const Vec128< T, N v1,
const Vec128< T, N v2,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved3() [8/9]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec1< T >  v0,
const Vec1< T >  v1,
const Vec1< T >  v2,
Sisd< T >  d,
T *HWY_RESTRICT  unaligned 
)

References d, and StoreU().

◆ StoreInterleaved3() [9/9]

template<typename T , HWY_IF_LANE_SIZE(T, 2) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved3 ( const Vec64< T >  part0,
const Vec64< T >  part1,
const Vec64< T >  part2,
Full64< T >  dh,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [1/5]

template<typename T , size_t N, class V , HWY_IF_NOT_LANE_SIZE(T, 8) , HWY_IF_GE128(T, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const V  v0,
const V  v1,
const V  v2,
const V  v3,
Simd< T, N, 0 >  d,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [2/5]

template<typename T , size_t N, HWY_IF_STORE_INT(T, N) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec128< T, N v0,
const Vec128< T, N v1,
const Vec128< T, N v2,
const Vec128< T, N v3,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [3/5]

template<typename T , size_t N>
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec128< T, N v0,
const Vec128< T, N v1,
const Vec128< T, N v2,
const Vec128< T, N v3,
Simd< T, N, 0 >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreInterleaved4() [4/5]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec1< T >  v0,
const Vec1< T >  v1,
const Vec1< T >  v2,
const Vec1< T >  v3,
Sisd< T >  d,
T *HWY_RESTRICT  unaligned 
)

References d, and StoreU().

◆ StoreInterleaved4() [5/5]

template<typename T , HWY_IF_NOT_LANE_SIZE(T, 8) >
HWY_API void hwy::HWY_NAMESPACE::StoreInterleaved4 ( const Vec64< T >  part0,
const Vec64< T >  part1,
const Vec64< T >  part2,
const Vec64< T >  part3,
Full64< T >  ,
T *HWY_RESTRICT  unaligned 
)

◆ StoreMaskBits() [1/6]

template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x110) >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( const Full256< T >  d,
const Mask256< T >  mask,
uint8_t *  bits 
)

◆ StoreMaskBits() [2/6]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( const Full256< T >  ,
const Mask256< T >  mask,
uint8_t *  bits 
)

◆ StoreMaskBits() [3/6]

template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( const Full512< T >  ,
const Mask512< T >  mask,
uint8_t *  bits 
)

◆ StoreMaskBits() [4/6]

template<class D >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits ( d,
svbool_t  m,
uint8_t *  bits 
)

◆ StoreMaskBits() [5/6]

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() [6/6]

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/41]

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/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< double >  v,
Full128< double >  ,
double *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [3/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< float >  v,
Full128< float >  ,
float *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

◆ StoreU() [4/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int16_t >  v,
Full128< int16_t >  ,
int16_t *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

◆ StoreU() [5/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int16_t, 1 >  v,
Simd< int16_t, 1, 0 >  ,
int16_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [6/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int32_t >  v,
Full128< int32_t >  ,
int32_t *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

◆ StoreU() [7/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int64_t >  v,
Full128< int64_t >  ,
int64_t *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

◆ StoreU() [8/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int8_t >  v,
Full128< int8_t >  ,
int8_t *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

◆ StoreU() [9/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< int8_t, 1 >  v,
Simd< int8_t, 1, 0 >  ,
int8_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [10/41]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< T, 2 >  v,
Simd< T, 2, 0 >  d,
T *HWY_RESTRICT  p 
)

References BitCast(), d, GetLane(), StoreU(), and v.

◆ StoreU() [11/41]

template<typename T , size_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/41]

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() [13/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint16_t >  v,
Full128< uint16_t >  ,
uint16_t *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

◆ StoreU() [14/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint16_t, 1 >  v,
Simd< uint16_t, 1, 0 >  ,
uint16_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [15/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint32_t >  v,
Full128< uint32_t >  ,
uint32_t *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

◆ StoreU() [16/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint64_t >  v,
Full128< uint64_t >  ,
uint64_t *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

◆ StoreU() [17/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint8_t >  v,
Full128< uint8_t >  ,
uint8_t *HWY_RESTRICT  unaligned 
)

References StoreU(), and v.

Referenced by BlendedStore(), BlendedStore(), BlendedStore(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBlendedStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), Copy(), CopyIf(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), Fill(), Generate(), GenerateInput(), grk::HWY_NAMESPACE::hwy_decompress_v_final_memcpy_53(), hwy::HWY_NAMESPACE::Pack16< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack8< 8 >::Pack(), Replace(), ReplaceIf(), Store(), StoreInterleaved2(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved4(), StoreInterleaved4(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), Transform(), Transform1(), Transform2(), hwy::HWY_NAMESPACE::Pack16< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack8< 7 >::Unpack(), and hwy::HWY_NAMESPACE::Pack8< 8 >::Unpack().

◆ StoreU() [18/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec128< uint8_t, 1 >  v,
Simd< uint8_t, 1, 0 >  ,
uint8_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [19/41]

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/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec256< double >  v,
Full256< double >  ,
double *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [21/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec256< float >  v,
Full256< float >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [22/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< float >  v,
Full32< float >  ,
float *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [23/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< int32_t >  v,
Full32< int32_t >  ,
int32_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [24/41]

template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x6) >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< T >  v,
Full32< T >  d,
T *HWY_RESTRICT  p 
)

References BitCast(), d, GetLane(), StoreU(), and v.

◆ StoreU() [25/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec32< uint32_t >  v,
Full32< uint32_t >  ,
uint32_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [26/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec512< double >  v,
Full512< double >  ,
double *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [27/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec512< float >  v,
Full512< float >  ,
float *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [28/41]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec512< T >  v,
Full512< T >  ,
T *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [29/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< float >  v,
Full64< float >  ,
float *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [30/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< int16_t >  v,
Full64< int16_t >  ,
int16_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [31/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< int32_t >  v,
Full64< int32_t >  ,
int32_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [32/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< int64_t >  v,
Full64< int64_t >  ,
int64_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [33/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< int8_t >  v,
Full64< int8_t >  ,
int8_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [34/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< uint16_t >  v,
Full64< uint16_t >  ,
uint16_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [35/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< uint32_t >  v,
Full64< uint32_t >  ,
uint32_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [36/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< uint64_t >  v,
Full64< uint64_t >  ,
uint64_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [37/41]

HWY_API void hwy::HWY_NAMESPACE::StoreU ( const Vec64< uint8_t >  v,
Full64< uint8_t >  ,
uint8_t *HWY_RESTRICT  p 
)

References StoreU(), and v.

◆ StoreU() [38/41]

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() [39/41]

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() [40/41]

template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreU ( Vec128< T >  v,
Full128< T >  ,
T *HWY_RESTRICT  p 
)

References v.

◆ StoreU() [41/41]

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(), Stream(), and v.

Referenced by Stream().

◆ 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 >  d,
T *HWY_RESTRICT  aligned 
)

References d, Store(), and v.

◆ SumOfLanes() [1/13]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::SumOfLanes ( d,
const VFromD< D >  v 
)

References d, v, and Zero().

◆ SumOfLanes() [2/13]

template<class D , class V >
V hwy::HWY_NAMESPACE::SumOfLanes ( d,
v 
)

◆ SumOfLanes() [3/13]

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

References Combine(), d, SumOfLanes(), and v.

◆ SumOfLanes() [4/13]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::SumOfLanes ( Full512< double >  d,
Vec512< double >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [5/13]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::SumOfLanes ( Full512< float >  d,
Vec512< float >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [6/13]

HWY_API Vec512< int16_t > hwy::HWY_NAMESPACE::SumOfLanes ( Full512< int16_t >  d,
Vec512< int16_t >  v 
)

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

◆ SumOfLanes() [7/13]

HWY_API Vec512< int32_t > hwy::HWY_NAMESPACE::SumOfLanes ( Full512< int32_t >  d,
Vec512< int32_t >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [8/13]

HWY_API Vec512< int64_t > hwy::HWY_NAMESPACE::SumOfLanes ( Full512< int64_t >  d,
Vec512< int64_t >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [9/13]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::SumOfLanes ( Full512< uint16_t >  d,
Vec512< uint16_t >  v 
)

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

◆ SumOfLanes() [10/13]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::SumOfLanes ( Full512< uint32_t >  d,
Vec512< uint32_t >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [11/13]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::SumOfLanes ( Full512< uint64_t >  d,
Vec512< uint64_t >  v 
)

References d, Set(), and v.

◆ SumOfLanes() [12/13]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::SumOfLanes ( Simd< T, N, 0 >  d,
const Vec128< T, N v 
)

◆ SumOfLanes() [13/13]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::SumOfLanes ( Sisd< T >  ,
const Vec1< T >  v 
)

References v.

◆ SumsOf8() [1/9]

HWY_API svuint64_t hwy::HWY_NAMESPACE::SumsOf8 ( const svuint8_t  v)

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

◆ SumsOf8() [2/9]

HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::SumsOf8 ( const Vec128< uint8_t >  v)

◆ SumsOf8() [3/9]

template<size_t N>
HWY_API Vec128< uint64_t,(N+7)/8 > hwy::HWY_NAMESPACE::SumsOf8 ( const Vec128< uint8_t, N v)

◆ SumsOf8() [4/9]

template<size_t N>
HWY_API Vec128< uint64_t, N/8 > hwy::HWY_NAMESPACE::SumsOf8 ( const Vec128< uint8_t, N v)

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

◆ SumsOf8() [5/9]

HWY_API Vec1< uint64_t > hwy::HWY_NAMESPACE::SumsOf8 ( const Vec1< uint8_t >  v)

References v.

◆ SumsOf8() [6/9]

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

◆ SumsOf8() [7/9]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::SumsOf8 ( const Vec512< uint8_t >  v)

References v.

◆ SumsOf8() [8/9]

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

References SumsOf8(), and v.

◆ SumsOf8() [9/9]

template<class VU8 >
HWY_API VFromD< Repartition< uint64_t, DFromV< VU8 > > > hwy::HWY_NAMESPACE::SumsOf8 ( const VU8  v)

References 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 SwapAdjacentBlocks(), and v.

◆ SwapAdjacentBlocks() [5/9]

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

References SwapAdjacentBlocks(), and v.

◆ SwapAdjacentBlocks() [6/9]

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

◆ SwapAdjacentBlocks() [7/9]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::SwapAdjacentBlocks ( Vec512< double >  v)

References SwapAdjacentBlocks(), and v.

◆ SwapAdjacentBlocks() [8/9]

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

References SwapAdjacentBlocks(), and v.

◆ SwapAdjacentBlocks() [9/9]

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

References SwapAdjacentBlocks(), and 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 >
HWY_API Vec256< TI > hwy::HWY_NAMESPACE::TableLookupBytes ( const Vec128< T, N bytes,
const Vec256< TI >  from 
)

◆ TableLookupBytes() [6/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 v,
const Vec128< TI, NI >  indices 
)

◆ 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,
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(), d, and TableLookupBytes().

◆ 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/4]

template<class V , class VI >
HWY_API VI hwy::HWY_NAMESPACE::TableLookupBytesOr0 ( const V  bytes,
const VI  from 
)

◆ TableLookupBytesOr0() [2/4]

template<typename T , size_t N, typename TI , size_t NI>
HWY_API Vec128< TI, NI > hwy::HWY_NAMESPACE::TableLookupBytesOr0 ( const Vec128< T, N v,
const Vec128< TI, NI >  indices 
)

References TableLookupBytes(), and v.

◆ TableLookupBytesOr0() [3/4]

template<typename T , typename TI >
HWY_API Vec1< TI > hwy::HWY_NAMESPACE::TableLookupBytesOr0 ( const Vec1< T >  in,
const Vec1< TI >  indices 
)

◆ TableLookupBytesOr0() [4/4]

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 
)

◆ TableLookupLanes() [3/14]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::TableLookupLanes ( const Vec256< float >  v,
const Indices256< float >  idx 
)

◆ TableLookupLanes() [4/14]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::TableLookupLanes ( const Vec256< T >  v,
Indices256< T >  idx 
)

◆ TableLookupLanes() [5/14]

HWY_API Vec128< double > hwy::HWY_NAMESPACE::TableLookupLanes ( Vec128< double >  v,
Indices128< double >  idx 
)

◆ TableLookupLanes() [6/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() [7/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() [8/14]

template<typename T >
HWY_API Vec128< T, 1 > hwy::HWY_NAMESPACE::TableLookupLanes ( Vec128< T, 1 >  v,
Indices128< T, 1 >   
)

References v.

◆ TableLookupLanes() [9/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() [10/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() [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 
)

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

◆ TableLookupLanesOr0()

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::TableLookupLanesOr0 ( Vec256< T >  v,
Indices256< T >  idx 
)

References TableLookupLanesOr0(), and v.

Referenced by TableLookupLanesOr0().

◆ 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 And(), d, Expm1(), Gt(), IfThenElse(), 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 , size_t N>
HWY_API Mask128< T, N > hwy::HWY_NAMESPACE::TestBit ( const Vec128< T, N v,
const Vec128< T, N bit 
)

References v.

◆ TestBit() [4/8]

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

References v.

◆ TestBit() [5/8]

template<typename T >
HWY_API Mask512< T > hwy::HWY_NAMESPACE::TestBit ( const Vec512< T >  v,
const Vec512< T >  bit 
)

◆ TestBit() [6/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 TestBit(), and 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 
)

◆ 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 >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Trunc ( const Vec1< T >  v)

References Abs(), CopySignToAbs(), and v.

◆ Trunc() [4/8]

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

References v.

◆ Trunc() [5/8]

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

References v.

◆ Trunc() [6/8]

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

References v.

◆ Trunc() [7/8]

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

◆ Trunc() [8/8]

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

◆ TruncateTo() [1/75]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::TruncateTo ( Full128< uint16_t >  ,
const Vec256< uint32_t >  v 
)

References v.

◆ TruncateTo() [2/75]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::TruncateTo ( Full128< uint32_t >  ,
const Vec256< uint64_t >  v 
)

References v.

◆ TruncateTo() [3/75]

HWY_API Vec128< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Full128< uint8_t >  ,
const Vec256< uint16_t >  v 
)

References v.

◆ TruncateTo() [4/75]

HWY_API Vec16< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Full16< uint8_t >  ,
const Vec128< uint64_t >  v 
)

References BitCast(), ConcatEven(), d, LowerHalf(), and v.

◆ TruncateTo() [5/75]

HWY_API Vec32< uint16_t > hwy::HWY_NAMESPACE::TruncateTo ( Full32< uint16_t >  ,
const Vec128< uint64_t >  v 
)

References BitCast(), ConcatEven(), d, LowerHalf(), and v.

◆ TruncateTo() [6/75]

HWY_API Vec32< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Full32< uint8_t >  ,
const Vec256< uint64_t >  v 
)

References v.

◆ TruncateTo() [7/75]

HWY_API Vec64< uint16_t > hwy::HWY_NAMESPACE::TruncateTo ( Full64< uint16_t >  ,
const Vec256< uint64_t >  v 
)

References v.

◆ TruncateTo() [8/75]

HWY_API Vec64< uint32_t > hwy::HWY_NAMESPACE::TruncateTo ( Full64< uint32_t >  ,
const Vec128< uint64_t >  v 
)

References BitCast(), ConcatEven(), d, LowerHalf(), and v.

◆ TruncateTo() [9/75]

HWY_API Vec64< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Full64< uint8_t >  ,
const Vec256< uint32_t >  v 
)

References v.

◆ TruncateTo() [10/75]

template<typename From , typename To , HWY_IF_UNSIGNED(From) , HWY_IF_UNSIGNED(To) , hwy::EnableIf<(sizeof(To)< sizeof(From))> * = nullptr>
HWY_API Vec128< To, 1 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< To, 1, 0 >  ,
const Vec128< From, 1 >  v 
)

◆ TruncateTo() [11/75]

template<typename From , typename To , hwy::EnableIf<(sizeof(To)< sizeof(From))> * = nullptr>
HWY_API Vec128< To, 1 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< To, 1, 0 >  ,
const Vec128< From, 1 >  v 
)

◆ TruncateTo() [12/75]

HWY_API Vec256< uint16_t > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, 16, 0 >  ,
const Vec512< uint32_t >  v 
)

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

◆ TruncateTo() [13/75]

HWY_API Vec128< uint16_t, 2 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, 2, 0 >  ,
const Vec128< uint64_t, 2 >  v 
)

References BitCast(), d, LowerHalf(), TruncateTo(), and v.

◆ TruncateTo() [14/75]

HWY_API Vec128< uint16_t, 4 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, 4, 0 >  ,
const Vec256< uint64_t >  v 
)

◆ TruncateTo() [15/75]

HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, 8, 0 >  ,
const Vec256< uint32_t >  v 
)

◆ TruncateTo() [16/75]

HWY_API Vec128< uint16_t, 8 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, 8, 0 >  ,
const Vec512< uint64_t >  v 
)

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

◆ TruncateTo() [17/75]

template<size_t N>
HWY_API vuint16mf2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, -1 >  d,
const VFromD< Simd< uint32_t, N, 0 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [18/75]

template<size_t N>
HWY_API vuint16mf2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, -1 >  d,
const VFromD< Simd< uint64_t, N, 1 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [19/75]

template<size_t N>
HWY_API vuint16mf4_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, -2 >  d,
const VFromD< Simd< uint32_t, N, -1 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [20/75]

template<size_t N>
HWY_API vuint16mf4_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, -2 >  d,
const VFromD< Simd< uint64_t, N, 0 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [21/75]

template<size_t N>
HWY_API vuint16m1_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, 0 >  d,
const VFromD< Simd< uint32_t, N, 1 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [22/75]

template<size_t N>
HWY_API vuint16m1_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, 0 >  d,
const VFromD< Simd< uint64_t, N, 2 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [23/75]

template<size_t N, hwy::EnableIf< N > = 2>
N hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, 0 >  ,
const Vec128< uint32_t, N v 
)

References BitCast(), d, LowerHalf(), TruncateTo(), and v.

◆ TruncateTo() [24/75]

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

◆ TruncateTo() [25/75]

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

◆ TruncateTo() [26/75]

template<size_t N>
HWY_API vuint16m2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, 1 >  d,
const VFromD< Simd< uint32_t, N, 2 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [27/75]

template<size_t N>
HWY_API vuint16m2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, 1 >  d,
const VFromD< Simd< uint64_t, N, 3 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [28/75]

template<size_t N>
HWY_API vuint16m4_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, 2 >  d,
const VFromD< Simd< uint32_t, N, 3 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [29/75]

template<size_t N, int kPow2>
HWY_API svuint16_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, kPow2 >  ,
const svuint32_t  v 
)

References BitCast(), d, and v.

◆ TruncateTo() [30/75]

template<size_t N, int kPow2>
HWY_API svuint16_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint16_t, N, kPow2 >  ,
const svuint64_t  v 
)

References BitCast(), d, and v.

◆ TruncateTo() [31/75]

HWY_API Vec128< uint32_t, 2 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, 2, 0 >  ,
const Vec128< uint64_t, 2 >  v 
)

References BitCast(), d, LowerHalf(), TruncateTo(), and v.

◆ TruncateTo() [32/75]

HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, 4, 0 >  ,
const Vec256< uint64_t >  v 
)

◆ TruncateTo() [33/75]

HWY_API Vec256< uint32_t > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, 8, 0 >  ,
const Vec512< uint64_t >  v 
)

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

◆ TruncateTo() [34/75]

template<size_t N>
HWY_API vuint32mf2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, N, -1 >  d,
const VFromD< Simd< uint64_t, N, 0 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [35/75]

template<size_t N>
HWY_API vuint32m1_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, N, 0 >  d,
const VFromD< Simd< uint64_t, N, 1 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [36/75]

template<size_t N>
HWY_API Vec128< uint32_t, N > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, N, 0 >  ,
const Vec128< uint64_t, N v 
)

◆ TruncateTo() [37/75]

template<size_t N>
HWY_API vuint32m2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, N, 1 >  d,
const VFromD< Simd< uint64_t, N, 2 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [38/75]

template<size_t N>
HWY_API vuint32m4_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, N, 2 >  d,
const VFromD< Simd< uint64_t, N, 3 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [39/75]

template<size_t N, int kPow2>
HWY_API svuint32_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint32_t, N, kPow2 >  ,
const svuint64_t  v 
)

References BitCast(), d, and v.

◆ TruncateTo() [40/75]

HWY_API Vec128< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, 16, 0 >  ,
const Vec256< uint16_t >  v 
)

◆ TruncateTo() [41/75]

HWY_API Vec128< uint8_t, 16 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, 16, 0 >  ,
const Vec512< uint32_t >  v 
)

◆ TruncateTo() [42/75]

HWY_API Vec128< uint8_t, 2 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, 2, 0 >  ,
const Vec128< uint64_t, 2 >  v 
)

References BitCast(), d, LowerHalf(), TruncateTo(), and v.

◆ TruncateTo() [43/75]

HWY_API Vec256< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, 32, 0 >  ,
const Vec512< uint16_t >  v 
)

◆ TruncateTo() [44/75]

HWY_API Vec128< uint8_t, 4 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, 4, 0 >  ,
const Vec256< uint64_t >  v 
)

◆ TruncateTo() [45/75]

HWY_API Vec128< uint8_t, 8 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, 8, 0 >  d,
const Vec512< uint64_t >  v 
)

◆ TruncateTo() [46/75]

HWY_API Vec128< uint8_t, 8 > hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, 8, 0 >  ,
const Vec256< uint32_t >  v 
)

◆ TruncateTo() [47/75]

template<size_t N>
HWY_API vuint8mf2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, -1 >  d,
const VFromD< Simd< uint16_t, N, 0 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [48/75]

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

References d, Lanes(), and v.

◆ TruncateTo() [49/75]

template<size_t N>
HWY_API vuint8mf2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, -1 >  d,
const VFromD< Simd< uint64_t, N, 2 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [50/75]

template<size_t N>
HWY_API vuint8mf4_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, -2 >  d,
const VFromD< Simd< uint16_t, N, -1 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [51/75]

template<size_t N>
HWY_API vuint8mf4_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, -2 >  d,
const VFromD< Simd< uint32_t, N, 0 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [52/75]

template<size_t N>
HWY_API vuint8mf4_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, -2 >  d,
const VFromD< Simd< uint64_t, N, 1 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [53/75]

template<size_t N>
HWY_API vuint8mf8_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, -3 >  d,
const VFromD< Simd< uint16_t, N, -2 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [54/75]

template<size_t N>
HWY_API vuint8mf8_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, -3 >  d,
const VFromD< Simd< uint32_t, N, -1 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [55/75]

template<size_t N>
HWY_API vuint8mf8_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, -3 >  d,
const VFromD< Simd< uint64_t, N, 0 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [56/75]

template<size_t N>
HWY_API vuint8m1_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, 0 >  d,
const VFromD< Simd< uint16_t, N, 1 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [57/75]

template<size_t N>
HWY_API vuint8m1_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, 0 >  d,
const VFromD< Simd< uint32_t, N, 2 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [58/75]

template<size_t N>
HWY_API vuint8m1_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, 0 >  d,
const VFromD< Simd< uint64_t, N, 3 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [59/75]

template<size_t N, hwy::EnableIf< N > = 2>
N hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, 0 >  ,
const Vec128< uint16_t, N v 
)

References BitCast(), d, LowerHalf(), TruncateTo(), and v.

◆ TruncateTo() [60/75]

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

◆ TruncateTo() [61/75]

template<size_t N, hwy::EnableIf< N > = 2>
N hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, 0 >  ,
const Vec128< uint32_t, N v 
)

References BitCast(), d, LowerHalf(), TruncateTo(), and v.

◆ TruncateTo() [62/75]

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

◆ TruncateTo() [63/75]

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

◆ TruncateTo() [64/75]

template<size_t N>
HWY_API vuint8m2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, 1 >  d,
const VFromD< Simd< uint16_t, N, 2 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [65/75]

template<size_t N>
HWY_API vuint8m2_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, 1 >  d,
const VFromD< Simd< uint32_t, N, 3 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [66/75]

template<size_t N>
HWY_API vuint8m4_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, 2 >  d,
const VFromD< Simd< uint16_t, N, 3 > >  v 
)

References d, Lanes(), and v.

◆ TruncateTo() [67/75]

template<size_t N, int kPow2>
HWY_API svuint8_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, kPow2 >  ,
const svuint16_t  v 
)

References BitCast(), d, and v.

◆ TruncateTo() [68/75]

template<size_t N, int kPow2>
HWY_API svuint8_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, kPow2 >  ,
const svuint32_t  v 
)

References BitCast(), d, and v.

◆ TruncateTo() [69/75]

template<size_t N, int kPow2>
HWY_API svuint8_t hwy::HWY_NAMESPACE::TruncateTo ( Simd< uint8_t, N, kPow2 >  ,
const svuint64_t  v 
)

References BitCast(), d, and v.

◆ TruncateTo() [70/75]

HWY_API Vec1< uint16_t > hwy::HWY_NAMESPACE::TruncateTo ( Sisd< uint16_t >  ,
const Vec1< uint32_t >  v 
)

References v.

◆ TruncateTo() [71/75]

HWY_API Vec1< uint16_t > hwy::HWY_NAMESPACE::TruncateTo ( Sisd< uint16_t >  ,
const Vec1< uint64_t >  v 
)

References v.

◆ TruncateTo() [72/75]

HWY_API Vec1< uint32_t > hwy::HWY_NAMESPACE::TruncateTo ( Sisd< uint32_t >  ,
const Vec1< uint64_t >  v 
)

References v.

◆ TruncateTo() [73/75]

HWY_API Vec1< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Sisd< uint8_t >  ,
const Vec1< uint16_t >  v 
)

References v.

◆ TruncateTo() [74/75]

HWY_API Vec1< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Sisd< uint8_t >  ,
const Vec1< uint32_t >  v 
)

References v.

◆ TruncateTo() [75/75]

HWY_API Vec1< uint8_t > hwy::HWY_NAMESPACE::TruncateTo ( Sisd< uint8_t >  ,
const Vec1< uint64_t >  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)

References U8FromU32(), and v.

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

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

References U8FromU32(), and 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 DemoteTo(), and 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 BitCast(), DemoteTo(), and 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)

◆ 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 >  d)

References N, and Undefined().

Referenced by Undefined(), and Undefined().

◆ 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 DH >
HWY_API VFromD< DH > hwy::HWY_NAMESPACE::UpperHalf ( const DH  d2,
const VFromD< Twice< DH > >  v 
)

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

◆ UpperHalf() [2/23]

template<class DH , class V >
HWY_API V hwy::HWY_NAMESPACE::UpperHalf ( const DH  dh,
const V  v 
)

◆ UpperHalf() [3/23]

HWY_API Vec128< double > hwy::HWY_NAMESPACE::UpperHalf ( Full128< double >  ,
Vec256< double >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [4/23]

HWY_API Vec128< float > hwy::HWY_NAMESPACE::UpperHalf ( Full128< float >  ,
Vec256< float >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [5/23]

template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::UpperHalf ( Full128< T >  ,
const Vec256< T >  v 
)

References v.

◆ UpperHalf() [6/23]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::UpperHalf ( Full256< double >  ,
Vec512< double >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [7/23]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::UpperHalf ( Full256< float >  ,
Vec512< float >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [8/23]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::UpperHalf ( Full256< T >  ,
Vec512< T >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [9/23]

HWY_API Vec64< bfloat16_t > hwy::HWY_NAMESPACE::UpperHalf ( Full64< bfloat16_t dbh,
const Vec128< bfloat16_t v 
)

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

◆ UpperHalf() [10/23]

HWY_API Vec64< double > hwy::HWY_NAMESPACE::UpperHalf ( Full64< double >  ,
Vec128< double >  v 
)

References v.

◆ UpperHalf() [11/23]

HWY_API Vec128< float, 2 > hwy::HWY_NAMESPACE::UpperHalf ( Full64< float >  ,
const Vec128< float >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [12/23]

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

References UpperHalf(), and v.

◆ UpperHalf() [13/23]

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

References UpperHalf(), and v.

◆ UpperHalf() [14/23]

HWY_API Vec64< int64_t > hwy::HWY_NAMESPACE::UpperHalf ( Full64< int64_t >  ,
const Vec128< int64_t >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [15/23]

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

References UpperHalf(), and v.

◆ UpperHalf() [16/23]

template<typename T >
HWY_API Vec64< T > hwy::HWY_NAMESPACE::UpperHalf ( Full64< T >  ,
const Vec128< T >  v 
)

References v.

◆ UpperHalf() [17/23]

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

References UpperHalf(), and v.

◆ UpperHalf() [18/23]

HWY_API Vec64< uint32_t > hwy::HWY_NAMESPACE::UpperHalf ( Full64< uint32_t >  ,
const Vec128< uint32_t >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [19/23]

HWY_API Vec64< uint64_t > hwy::HWY_NAMESPACE::UpperHalf ( Full64< uint64_t >  ,
const Vec128< uint64_t >  v 
)

References UpperHalf(), and v.

◆ UpperHalf() [20/23]

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

◆ UpperHalf() [21/23]

template<typename T >
HWY_API Vec64< T > hwy::HWY_NAMESPACE::UpperHalf ( Half< Full128< T > >  ,
Vec128< T >  v 
)

References v.

◆ UpperHalf() [22/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(), UpperHalf(), and v.

◆ UpperHalf() [23/23]

template<typename T , size_t N>
HWY_API Vec128< T, N/2 > hwy::HWY_NAMESPACE::UpperHalf ( Simd< T, N/2, 0 >  ,
Vec128< T, N v 
)

References hwy::CopyBytes(), N, and v.

◆ VecFromMask() [1/25]

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/25]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::VecFromMask ( const D  d,
svbool_t  mask 
)

References BitCast(), d, IfThenElseZero(), and Set().

◆ VecFromMask() [3/25]

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

References v.

◆ VecFromMask() [4/25]

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

References v.

◆ VecFromMask() [5/25]

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

References hwy::CopySameSize(), and v.

◆ VecFromMask() [6/25]

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() [7/25]

template<typename T >
Vec1< T > hwy::HWY_NAMESPACE::VecFromMask ( const Mask1< T >  mask)

References hwy::CopySameSize(), and v.

◆ VecFromMask() [8/25]

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

References v.

◆ VecFromMask() [9/25]

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

References v.

◆ VecFromMask() [10/25]

template<typename T , HWY_IF_LANE_SIZE(T, 1) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::VecFromMask ( const Mask256< T >  v)

References v.

◆ VecFromMask() [11/25]

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

References v.

◆ VecFromMask() [12/25]

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

References v.

◆ VecFromMask() [13/25]

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

References v.

◆ VecFromMask() [14/25]

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

References v.

◆ VecFromMask() [15/25]

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

References v.

◆ VecFromMask() [16/25]

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

References v.

◆ VecFromMask() [17/25]

HWY_API Vec512< uint16_t > hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< uint16_t >  v)

References v.

◆ VecFromMask() [18/25]

HWY_API Vec512< uint32_t > hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< uint32_t >  v)

References v.

◆ VecFromMask() [19/25]

HWY_API Vec512< uint64_t > hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< uint64_t >  v)

References v.

◆ VecFromMask() [20/25]

HWY_API Vec512< uint8_t > hwy::HWY_NAMESPACE::VecFromMask ( const Mask512< uint8_t >  v)

References v.

◆ VecFromMask() [21/25]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::VecFromMask ( Full256< T >  d,
Mask256< T >  m 
)

◆ VecFromMask() [22/25]

template<typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::VecFromMask ( Full512< T >  ,
const Mask512< T >  v 
)

References v, and VecFromMask().

◆ VecFromMask() [23/25]

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 
)

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

Referenced by AllFalse(), And(), And(), And(), AndNot(), AndNot(), AndNot(), AssertMaskEqual(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), Ceil(), Ceil(), Compress(), Compress(), CompressNot(), hwy::HWY_NAMESPACE::detail::CountTrue(), hwy::HWY_NAMESPACE::detail::CountTrue(), hwy::HWY_NAMESPACE::detail::CountTrue(), hwy::HWY_NAMESPACE::detail::CountTrue(), Eq128(), Eq128(), Eq128Upper(), Eq128Upper(), hwy::HWY_NAMESPACE::detail::Eq128UpperVec(), hwy::HWY_NAMESPACE::detail::Eq128Vec(), hwy::HWY_NAMESPACE::detail::Eq128Vec(), ExclusiveNeither(), ExclusiveNeither(), ExclusiveNeither(), Floor(), Floor(), IfThenElse(), IfThenElseZero(), IfThenElseZero(), IfThenZeroElse(), IfThenZeroElse(), Lt128(), Lt128(), Lt128Upper(), Lt128Upper(), hwy::HWY_NAMESPACE::detail::Lt128UpperVec(), hwy::HWY_NAMESPACE::detail::Lt128Vec(), hwy::HWY_NAMESPACE::detail::Lt128Vec(), Ne128(), Ne128(), Ne128Upper(), Ne128Upper(), hwy::HWY_NAMESPACE::detail::Ne128UpperVec(), hwy::HWY_NAMESPACE::detail::Ne128Vec(), hwy::HWY_NAMESPACE::detail::Ne128Vec(), hwy::HWY_NAMESPACE::detail::NibblesFromMask(), hwy::HWY_NAMESPACE::detail::NibblesFromMask(), Not(), Not(), Not(), Or(), Or(), Or(), RebindMask(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), Xor(), Xor(), and Xor().

◆ VecFromMask() [24/25]

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

References VecFromMask().

◆ VecFromMask() [25/25]

template<typename T >
Vec1< T > hwy::HWY_NAMESPACE::VecFromMask ( Sisd< T >  ,
const Mask1< T >  mask 
)

References hwy::CopySameSize(), and v.

◆ VerifySort()

template<class Traits , typename LaneType >
bool hwy::HWY_NAMESPACE::VerifySort ( Traits  st,
const InputStats< LaneType > &  input_stats,
const LaneType out,
size_t  num_lanes,
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 
)

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

◆ 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 , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Xor ( const Vec128< T, N a,
const Vec128< T, N b 
)

References BitCast(), d, and N.

◆ Xor() [10/17]

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

References BitCast().

◆ Xor() [11/17]

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

◆ Xor() [12/17]

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

◆ Xor() [13/17]

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

◆ Xor() [14/17]

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

◆ Xor() [15/17]

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

◆ Xor() [16/17]

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

◆ Xor() [17/17]

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

◆ Xor3() [1/6]

template<class V , HWY_IF_FLOAT_V(V) >
HWY_API V hwy::HWY_NAMESPACE::Xor3 ( const V  x1,
const V  x2,
const V  x3 
)

References BitCast(), and Xor3().

◆ Xor3() [2/6]

template<class V >
HWY_API V hwy::HWY_NAMESPACE::Xor3 ( x1,
x2,
x3 
)

References Xor().

◆ Xor3() [3/6]

template<typename T , size_t N>
HWY_API Vec128< T, N > hwy::HWY_NAMESPACE::Xor3 ( Vec128< T, N x1,
Vec128< T, N x2,
Vec128< T, N x3 
)

◆ Xor3() [4/6]

template<typename T >
HWY_API Vec1< T > hwy::HWY_NAMESPACE::Xor3 ( Vec1< T >  x1,
Vec1< T >  x2,
Vec1< T >  x3 
)

References Xor().

◆ Xor3() [5/6]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Xor3 ( Vec256< T >  x1,
Vec256< T >  x2,
Vec256< T >  x3 
)

References Xor().

◆ Xor3() [6/6]

template<typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Xor3 ( Vec512< T >  x1,
Vec512< T >  x2,
Vec512< T >  x3 
)

References BitCast(), and d.

◆ Zero() [1/14]

template<class D >
VFromD< D > hwy::HWY_NAMESPACE::Zero ( d)

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

◆ Zero() [2/14]

template<class D >
HWY_API VFromD< D > hwy::HWY_NAMESPACE::Zero ( d)

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

◆ Zero() [3/14]

HWY_API Vec256< double > hwy::HWY_NAMESPACE::Zero ( Full256< double >  )

◆ Zero() [4/14]

HWY_API Vec256< float > hwy::HWY_NAMESPACE::Zero ( Full256< float >  )

◆ Zero() [5/14]

template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Zero ( Full256< T >  d)

◆ Zero() [6/14]

HWY_API Vec512< double > hwy::HWY_NAMESPACE::Zero ( Full512< double >  )

◆ Zero() [7/14]

HWY_API Vec512< float > hwy::HWY_NAMESPACE::Zero ( Full512< float >  )

◆ Zero() [8/14]

template<typename T >
HWY_API Vec512< T > hwy::HWY_NAMESPACE::Zero ( Full512< T >  )

◆ Zero() [9/14]

template<size_t N>
HWY_API Vec128< bfloat16_t, N > hwy::HWY_NAMESPACE::Zero ( Simd< bfloat16_t, N, 0 >  )

References Zero().

◆ Zero() [10/14]

template<size_t N, HWY_IF_LE128(double, N) >
HWY_API Vec128< double, N > hwy::HWY_NAMESPACE::Zero ( Simd< double, N, 0 >  )

◆ Zero() [11/14]

template<size_t N, HWY_IF_LE128(float, N) >
HWY_API Vec128< float, N > hwy::HWY_NAMESPACE::Zero ( Simd< float, N, 0 >  )

◆ Zero() [12/14]

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

◆ Zero() [13/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() [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_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 
)

References Combine(), d, and Zero().

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

◆ ZeroExtendVector() [11/11]

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

◆ ZeroIfNegative() [1/7]

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

References IfThenZeroElse(), and v.

◆ ZeroIfNegative() [2/7]

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

◆ ZeroIfNegative() [3/7]

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

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

◆ ZeroIfNegative() [4/7]

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/7]

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

References Max(), v, Zero(), and ZeroIfNegative().

Referenced by ZeroIfNegative().

◆ ZeroIfNegative() [6/7]

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().

◆ ZeroIfNegative() [7/7]

template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ZeroIfNegative ( Vec256< T >  v)

References IfThenZeroElse(), 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 
)

References BitCast(), and InterleaveLower().

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

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

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

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

◆ ZipLower() [17/17]

template<typename T , typename TW = MakeWide<T>>
HWY_API Vec512< TW > hwy::HWY_NAMESPACE::ZipLower ( Vec512< T >  a,
Vec512< T >  b 
)

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

References BitCast(), and ZipUpper().

Referenced by StoreInterleaved4(), ZipUpper(), ZipUpper(), and ZipUpper().

◆ 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 ZipUpper().

◆ 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 ZipUpper().

Variable Documentation

◆ d

hwy::HWY_NAMESPACE::d

Referenced by Acos(), Acosh(), AESLastRound(), AESLastRound(), AESRound(), AESRound(), AllFalse(), AllFalse(), AllFalse(), AllFalse(), AllFalse(), AllTrue(), AllTrue(), AllTrue(), AllTrue(), And(), And(), And(), And(), AndNot(), AndNot(), AndNot(), Asin(), Asinh(), hwy::HWY_NAMESPACE::impl::AsinImpl< float >::AsinPoly(), AssertMaskEqual(), AssertVecEqual(), AssertVecEqual(), Atan(), Atanh(), hwy::HWY_NAMESPACE::impl::AtanImpl< float >::AtanPoly(), BitCast(), BitCast(), BitCast(), BitCast(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), hwy::HWY_NAMESPACE::detail::BitsFromMask(), BlendedStore(), BlendedStore(), BlendedStore(), Broadcast(), BroadcastSignBit(), BroadcastSignBit(), 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::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ClampF64ToI32Max(), CLMulLower(), CLMulLower(), CLMulUpper(), CLMulUpper(), Combine(), Combine(), Combine(), Combine(), Combine(), Combine(), Combine(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightLanes(), Compress(), Compress(), Compress(), Compress(), Compress(), Compress(), CompressBits(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlocksNot(), CompressNot(), CompressNot(), CompressNot(), CompressNot(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), hwy::HWY_NAMESPACE::Dot::Compute(), hwy::HWY_NAMESPACE::Dot::Compute(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatEven(), ConcatLowerLower(), ConcatLowerLower(), ConcatLowerLower(), ConcatLowerLower(), ConcatLowerUpper(), ConcatLowerUpper(), ConcatLowerUpper(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatOdd(), ConcatUpperLower(), ConcatUpperLower(), ConcatUpperLower(), ConcatUpperLower(), ConcatUpperUpper(), ConcatUpperUpper(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), Copy(), CopyIf(), CopySign(), Cos(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosReduce(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::CosSignFromQuadrant(), CountTrue(), CountTrue(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), hwy::HWY_NAMESPACE::detail::ForeachCappedR< T, kMul, kMinArg, Test >::Do(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), Eq128(), Eq128(), Eq128(), Eq128(), Eq128(), Eq128Upper(), Eq128Upper(), Eq128Upper(), Eq128Upper(), Eq128Upper(), hwy::HWY_NAMESPACE::detail::Eq128UpperVec(), hwy::HWY_NAMESPACE::detail::Eq128Vec(), hwy::HWY_NAMESPACE::detail::Eq128Vec(), ExclusiveNeither(), ExclusiveNeither(), ExclusiveNeither(), Exp(), Expm1(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::ExpPoly(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::ExpReduce(), ExtractLane(), Fill(), Find(), FindFirstTrue(), FindFirstTrue(), FindFirstTrue(), FindFirstTrue(), FindIf(), FindKnownFirstTrue(), FindKnownFirstTrue(), FindKnownFirstTrue(), FirstN(), FirstN(), GatherIndex(), GatherIndex(), GatherIndex(), GatherIndex(), GatherIndex(), GatherOffset(), GatherOffset(), GatherOffset(), GatherOffset(), Generate(), GenerateInput(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), hwy::HWY_NAMESPACE::detail::IdxFromNotBits(), IfNegativeThenElse(), IfNegativeThenElse(), IfNegativeThenElse(), IfVecThenElse(), IfVecThenElse(), IndicesFromVec(), IndicesFromVec(), Inf(), InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), InterleaveLower(), InterleaveUpper(), InterleaveUpper(), InterleaveUpper(), Iota(), Iota(), Iota(), Iota(), IsFinite(), IsFinite(), IsFinite(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), hwy::HWY_NAMESPACE::detail::IsSupportedLMUL(), hwy::HWY_NAMESPACE::detail::LanesPerBlock(), Load(), Load(), Load(), hwy::HWY_NAMESPACE::detail::Load8Bytes(), LoadDup128(), LoadDup128(), LoadDup128(), LoadDup128(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::LoadExpShortRange(), LoadInterleaved2(), LoadInterleaved2(), LoadInterleaved2(), LoadInterleaved2(), LoadInterleaved3(), LoadInterleaved3(), LoadInterleaved3(), LoadInterleaved3(), LoadInterleaved4(), LoadInterleaved4(), LoadInterleaved4(), LoadInterleaved4(), LoadMaskBits(), LoadMaskBits(), LoadMaskBits(), hwy::HWY_NAMESPACE::detail::LoadMaskBits(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), LoadU(), hwy::HWY_NAMESPACE::impl::Log(), Log(), Log10(), Log1p(), Log2(), hwy::HWY_NAMESPACE::impl::LogImpl< float >::LogPoly(), Lt128(), Lt128(), Lt128(), Lt128(), Lt128(), Lt128Upper(), Lt128Upper(), Lt128Upper(), Lt128Upper(), Lt128Upper(), hwy::HWY_NAMESPACE::detail::Lt128UpperVec(), hwy::HWY_NAMESPACE::detail::Lt128Vec(), hwy::HWY_NAMESPACE::detail::Lt128Vec(), hwy::HWY_NAMESPACE::detail::MakeMask(), MaskedLoad(), MaskedLoad(), MaskedLoad(), MaskFalse(), hwy::HWY_NAMESPACE::detail::MaskLowerHalf(), MaskTrue(), hwy::HWY_NAMESPACE::detail::MaskUpperHalf(), Max128(), Max128(), Max128(), Max128(), Max128Upper(), Max128Upper(), Max128Upper(), Max128Upper(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxU(), hwy::HWY_NAMESPACE::detail::MaybePrintVector(), Min128(), Min128(), Min128(), Min128(), Min128Upper(), Min128Upper(), Min128Upper(), Min128Upper(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinU(), MulEven(), MulEven(), MulEven(), MulEven(), MulFixedPoint15(), NaN(), Ne128(), Ne128(), Ne128(), Ne128(), Ne128(), Ne128Upper(), Ne128Upper(), Ne128Upper(), Ne128Upper(), Ne128Upper(), hwy::HWY_NAMESPACE::detail::Ne128UpperVec(), hwy::HWY_NAMESPACE::detail::Ne128Vec(), hwy::HWY_NAMESPACE::detail::Ne128Vec(), hwy::HWY_NAMESPACE::detail::NibblesFromMask(), hwy::HWY_NAMESPACE::detail::NibblesFromMask(), Not(), Not(), OddEven(), OddEven(), hwy::HWY_NAMESPACE::detail::OddEven(), hwy::HWY_NAMESPACE::detail::OddEven(), OddEvenBlocks(), hwy::HWY_NAMESPACE::detail::OffsetsOf128BitBlocks(), hwy::HWY_NAMESPACE::detail::ShiftLeftBytesT< kBytes >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftRightBytesT< kBytes >::operator()(), operator<<(), operator>(), operator>>(), operator>>(), operator>>(), Or(), Or(), Or(), Or(), Or3(), OrAnd(), hwy::HWY_NAMESPACE::Pack16< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Pack(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::Poly(), PopulationCount(), hwy::HWY_NAMESPACE::impl::ExpImpl< float >::Pow2I(), Print(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), RandomValues(), RearrangeToOddPlusEven(), RearrangeToOddPlusEven(), ReorderWidenMulAccumulate(), Replace(), ReplaceIf(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse4(), Reverse4(), Reverse4(), Reverse4(), Reverse4(), Reverse8(), Reverse8(), Reverse8(), ReverseBlocks(), SafeCopyN(), SafeFillN(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), Set(), Set(), hwy::HWY_NAMESPACE::detail::Set64(), hwy::HWY_NAMESPACE::detail::TraitsLane< Order >::SetKey(), SetTableIndices(), SetTableIndices(), SetTableIndices(), SetTableIndices(), SetTableIndices(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftRightBytes(), ShiftRightBytes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightLanes(), Shuffle01(), Shuffle0321(), Shuffle1032(), hwy::HWY_NAMESPACE::detail::Shuffle1230(), Shuffle2103(), Shuffle2301(), hwy::HWY_NAMESPACE::detail::Shuffle2301(), hwy::HWY_NAMESPACE::detail::Shuffle3012(), hwy::HWY_NAMESPACE::detail::SiftDown(), SignBit(), Sin(), Sinh(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinReduce(), hwy::HWY_NAMESPACE::impl::CosSinImpl< float >::SinSignFromQuadrant(), Sort(), Store(), Store(), Store(), Store(), StoreInterleaved2(), StoreInterleaved2(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved4(), StoreInterleaved4(), StoreMaskBits(), StoreMaskBits(), StoreMaskBits(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), Stream(), Stream(), Stream(), Stream(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), SwapAdjacentBlocks(), TableLookupBytes(), TableLookupBytes(), TableLookupBytes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), Tanh(), Transform(), Transform1(), Transform2(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), Undefined(), Undefined(), Undefined(), Undefined(), hwy::HWY_NAMESPACE::Pack16< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Unpack(), UpperHalf(), UpperHalf(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), Xor(), Xor(), Xor(), Xor(), Xor3(), Zero(), Zero(), Zero(), ZeroExtendVector(), ZeroExtendVector(), ZeroExtendVector(), hwy::HWY_NAMESPACE::detail::ZeroExtendVector(), ZeroExtendVector(), ZeroIfNegative(), and ZipUpper().

◆ N

hwy::HWY_NAMESPACE::N

Referenced by hwy::HWY_NAMESPACE::detail::Abs(), hwy::HWY_NAMESPACE::detail::Abs(), hwy::HWY_NAMESPACE::detail::Add(), hwy::HWY_NAMESPACE::detail::Add(), AllTrue(), AllTrue(), And(), AssertMaskEqual(), AssertVecEqual(), AverageRound(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), BroadcastSignBit(), hwy::HWY_NAMESPACE::detail::BytesAbove(), Ceil(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), Combine(), Combine(), CombineShiftRightBytes(), CombineShiftRightBytes(), CombineShiftRightBytes(), Compress(), CompressBits(), CompressBitsStore(), CompressNot(), CompressNot(), CompressStore(), CompressStore(), CompressStore(), hwy::HWY_NAMESPACE::Dot::Compute(), hwy::HWY_NAMESPACE::Dot::Compute(), ConcatEven(), ConcatLowerLower(), ConcatLowerLower(), ConcatLowerUpper(), ConcatLowerUpper(), ConcatOdd(), ConcatUpperUpper(), ConcatUpperUpper(), hwy::HWY_NAMESPACE::detail::ConvertTo(), hwy::HWY_NAMESPACE::detail::ConvertTo(), Copy(), CopyIf(), CountTrue(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DupEven(), DupOdd(), Fill(), Find(), FindIf(), Floor(), GatherIndex(), GatherIndex(), GatherOffset(), GatherOffset(), GatherOffset(), Generate(), GenerateInput(), IndicesFromVec(), hwy::HWY_NAMESPACE::detail::InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), InterleaveLower(), InterleaveUpper(), Iota(), hwy::HWY_NAMESPACE::detail::IsFull(), Lanes(), hwy::HWY_NAMESPACE::detail::LanesPerBlock(), hwy::HWY_NAMESPACE::detail::LanesPerBlock(), LoadInterleaved2(), LoadInterleaved2(), LoadInterleaved3(), LoadInterleaved4(), LoadMaskBits(), LoadMaskBits(), LoadMaskBits(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4(), LowerHalf(), LowerHalf(), LowerHalf(), MaskFromVec(), hwy::HWY_NAMESPACE::detail::Max(), hwy::HWY_NAMESPACE::detail::Max(), hwy::HWY_NAMESPACE::detail::Min(), hwy::HWY_NAMESPACE::detail::Min(), hwy::HWY_NAMESPACE::detail::Mul(), hwy::HWY_NAMESPACE::detail::Mul(), hwy::HWY_NAMESPACE::detail::Mul(), MulEven(), MulEven(), MulFixedPoint15(), MulHigh(), MulHigh(), MulOdd(), MulOdd(), hwy::HWY_NAMESPACE::Simd< Lane, N, kPow2 >::NewN(), hwy::HWY_NAMESPACE::detail::NibblesFromMask(), Not(), hwy::HWY_NAMESPACE::detail::OnlyActive(), operator!=(), hwy::HWY_NAMESPACE::detail::ShiftRightBytesT< kBytes >::operator()(), operator/(), operator<(), operator<<(), operator<=(), operator==(), operator>>(), Or(), hwy::HWY_NAMESPACE::Pack16< 1 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Pack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Pack(), Print(), PromoteTo(), ReorderDemote2To(), Replace(), ReplaceIf(), Reverse(), Reverse(), Reverse2(), Reverse4(), Reverse8(), Round(), SaturatedAdd(), SaturatedSub(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), hwy::HWY_NAMESPACE::detail::ScaleByPower(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), Set(), ShiftLeft(), ShiftLeftBytes(), ShiftRight(), ShiftRightBytes(), ShiftRightLanes(), hwy::HWY_NAMESPACE::detail::Shuffle1230(), Shuffle2301(), hwy::HWY_NAMESPACE::detail::Shuffle2301(), Shuffle2301(), hwy::HWY_NAMESPACE::detail::Shuffle3012(), Sqrt(), Store(), StoreInterleaved2(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved3(), StoreInterleaved4(), StoreInterleaved4(), StoreMaskBits(), StoreMaskBits(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4(), hwy::HWY_NAMESPACE::detail::Sub(), hwy::HWY_NAMESPACE::detail::Sub(), SumsOf8(), TableLookupBytes(), Transform(), Transform1(), Transform2(), Trunc(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), Undefined(), hwy::HWY_NAMESPACE::Pack16< 1 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 2 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 3 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 4 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 5 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 6 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 7 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 8 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 9 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 10 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 11 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 12 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 13 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 14 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 15 >::Unpack(), hwy::HWY_NAMESPACE::Pack16< 16 >::Unpack(), UpperHalf(), UpperHalf(), VecFromMask(), Xor(), and ZeroExtendVector().

◆ v

const vfloat64m1_t hwy::HWY_NAMESPACE::v
Initial value:
{
return vfncvt_rtz_x_f_w_i32mf2(v, Lanes(d))
HWY_API constexpr size_t Lanes(Simd< T, N, kPow2 >)
Definition arm_sve-inl.h:243

Referenced by Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), Abs(), hwy::HWY_NAMESPACE::detail::Abs(), Abs(), ApproximateReciprocal(), ApproximateReciprocal(), ApproximateReciprocal(), ApproximateReciprocal(), ApproximateReciprocal(), ApproximateReciprocal(), ApproximateReciprocalSqrt(), ApproximateReciprocalSqrt(), ApproximateReciprocalSqrt(), ApproximateReciprocalSqrt(), ApproximateReciprocalSqrt(), ApproximateReciprocalSqrt(), BitCast(), BitCast(), BitCast(), BitCast(), BitCast(), BitCast(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastFromByte(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), hwy::HWY_NAMESPACE::detail::BitCastToByte(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToInteger(), hwy::HWY_NAMESPACE::detail::BitCastToUnsigned(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), BlendedStore(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), Broadcast(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), BroadcastSignBit(), Ceil(), Ceil(), Ceil(), Ceil(), Ceil(), Ceil(), Ceil(), Ceil(), Ceil(), Ceil(), Ceiling(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), hwy::HWY_NAMESPACE::detail::ChangeLMUL(), Clamp(), hwy::HWY_NAMESPACE::detail::ClampF64ToI32Max(), Compress(), Compress(), Compress(), Compress(), Compress(), Compress(), Compress(), Compress(), hwy::HWY_NAMESPACE::detail::Compress(), Compress(), Compress(), Compress(), Compress(), CompressBits(), CompressBits(), CompressBits(), CompressBits(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBitsStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlendedStore(), CompressBlocksNot(), CompressBlocksNot(), CompressBlocksNot(), CompressBlocksNot(), CompressBlocksNot(), CompressNot(), CompressNot(), CompressNot(), CompressNot(), CompressNot(), CompressNot(), CompressNot(), hwy::HWY_NAMESPACE::detail::CompressNot(), CompressNot(), CompressNot(), CompressNot(), CompressNot(), CompressNot(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), CompressStore(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), ConvertTo(), Copy(), CopyIf(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DemoteTo(), DupEven(), DupEven(), DupEven(), DupEven(), DupEven(), DupEven(), DupEven(), DupEven(), DupOdd(), DupOdd(), DupOdd(), DupOdd(), DupOdd(), DupOdd(), DupOdd(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompress(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::EmuCompressStore(), hwy::HWY_NAMESPACE::detail::ExtractLane(), hwy::HWY_NAMESPACE::detail::ExtractLane(), hwy::HWY_NAMESPACE::detail::ExtractLane(), ExtractLane(), ExtractLane(), ExtractLane(), ExtractLane(), ExtractLane(), hwy::HWY_NAMESPACE::detail::ExtractLane(), ExtractLane(), ExtractLane(), ExtractLane(), ExtractLane(), ExtractLane(), Fill(), Find(), FindIf(), Floor(), Floor(), Floor(), Floor(), Floor(), Floor(), Floor(), Floor(), Floor(), Floor(), GatherOffset(), GenerateInput(), GetLane(), GetLane(), GetLane(), GetLane(), GetLane(), GetLane(), GetLane(), GetLane(), GetLane(), IfNegativeThenElse(), IfNegativeThenElse(), IfNegativeThenElse(), IfNegativeThenElse(), IfNegativeThenElse(), IfNegativeThenElse(), IfNegativeThenElse(), InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), hwy::HWY_NAMESPACE::detail::InsertLane(), InsertLane(), InsertLane(), InsertLane(), InsertLane(), Iota(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsFinite(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), IsInf(), IsNaN(), IsNaN(), IsNaN(), IsNaN(), IsNaN(), IsNaN(), IsNaN(), IsNaN(), IsNaN(), IsNaN(), Load(), Load(), Load(), Load(), Load(), hwy::HWY_NAMESPACE::detail::LookupAndConcatHalves(), hwy::HWY_NAMESPACE::detail::LookupAndConcatQuarters(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), LowerHalf(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), hwy::HWY_NAMESPACE::detail::MaskFromVec(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaxOfLanes(), MaxOfLanes(), MaxOfLanes(), hwy::HWY_NAMESPACE::detail::MaybePrintVector(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), hwy::HWY_NAMESPACE::detail::MinOfLanes(), MinOfLanes(), MinOfLanes(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompress(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), hwy::HWY_NAMESPACE::detail::NativeCompressStore(), NearestInt(), NearestInt(), NearestInt(), NearestInt(), NearestInt(), Neg(), Neg(), Neg(), Neg(), Neg(), Neg(), Neg(), Neg(), Neg(), hwy::HWY_NAMESPACE::detail::Neg(), hwy::HWY_NAMESPACE::detail::Neg(), hwy::HWY_NAMESPACE::detail::Neg(), hwy::HWY_NAMESPACE::detail::Neg(), hwy::HWY_NAMESPACE::detail::Neg(), hwy::HWY_NAMESPACE::detail::Neg(), Neg(), Neg(), Not(), Not(), Not(), Not(), Not(), Not(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger128< T >::operator()(), hwy::HWY_NAMESPACE::detail::BitCastFromInteger128< float >::operator()(), 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< kBytes >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftLeftBytesT< 0 >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftRightBytesT< 0 >::operator()(), hwy::HWY_NAMESPACE::detail::RotateRight< kBits >::operator()(), hwy::HWY_NAMESPACE::detail::RotateRight< 0 >::operator()(), hwy::HWY_NAMESPACE::detail::RotateRight< kBits >::operator()(), hwy::HWY_NAMESPACE::detail::RotateRight< 0 >::operator()(), hwy::HWY_NAMESPACE::detail::ShiftRightBytesT< kBytes >::operator()(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), hwy::HWY_NAMESPACE::detail::PopulationCount(), PopulationCount(), PopulationCount(), PopulationCount(), PopulationCount(), PopulationCount(), Print(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), PromoteTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), hwy::HWY_NAMESPACE::detail::PromoteUpperTo(), Replace(), ReplaceIf(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse2(), Reverse4(), Reverse4(), Reverse4(), Reverse4(), Reverse4(), Reverse4(), Reverse4(), Reverse4(), Reverse8(), Reverse8(), Reverse8(), Reverse8(), Reverse8(), ReverseBlocks(), ReverseBlocks(), ReverseBlocks(), ReverseBlocks(), ReverseBlocks(), ReverseBlocks(), ReverseBlocks(), ReverseBlocks(), RotateRight(), RotateRight(), RotateRight(), RotateRight(), RotateRight(), RotateRight(), RotateRight(), RotateRight(), RotateRight(), RotateRight(), Round(), Round(), Round(), Round(), Round(), Round(), Round(), Round(), hwy::HWY_NAMESPACE::detail::SaturateI(), hwy::HWY_NAMESPACE::detail::SaturateU(), hwy::HWY_NAMESPACE::detail::ScalarMaskedStore(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), ScatterIndex(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), hwy::HWY_NAMESPACE::detail::ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), ScatterOffset(), Set(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeft(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftBytes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftLanes(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftLeftSame(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRight(), ShiftRightBytes(), ShiftRightBytes(), ShiftRightBytes(), ShiftRightBytes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightLanes(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), ShiftRightSame(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::Shl(), hwy::HWY_NAMESPACE::detail::ShrBytes(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle01(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0123(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle0321(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle1032(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2103(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Shuffle2301(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Sqrt(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), Store(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), StoreU(), Stream(), Stream(), Stream(), Stream(), Stream(), Stream(), Stream(), Stream(), Stream(), Stream(), Stream(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), hwy::HWY_NAMESPACE::detail::SumOfLanes(), SumOfLanes(), SumOfLanes(), SumsOf8(), SumsOf8(), SumsOf8(), SumsOf8(), SumsOf8(), SumsOf8(), SumsOf8(), SumsOf8(), SwapAdjacentBlocks(), SwapAdjacentBlocks(), SwapAdjacentBlocks(), SwapAdjacentBlocks(), SwapAdjacentBlocks(), SwapAdjacentBlocks(), SwapAdjacentBlocks(), SwapAdjacentBlocks(), SwapAdjacentBlocks(), TableLookupBytes(), TableLookupBytes(), TableLookupBytesOr0(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanes(), TableLookupLanesOr0(), TestBit(), TestBit(), TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), hwy::HWY_NAMESPACE::detail::TestBit(), TestBit(), TestBit(), TestBit(), Transform(), grk::HWY_NAMESPACE::DecompressRev::transform(), grk::HWY_NAMESPACE::CompressRev::transform(), grk::HWY_NAMESPACE::CompressIrrev::transform(), Transform1(), Transform2(), Trunc(), Trunc(), Trunc(), Trunc(), Trunc(), Trunc(), Trunc(), Trunc(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), TruncateTo(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), U8FromU32(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), UpperHalf(), hwy::HWY_NAMESPACE::detail::UseInt(), hwy::HWY_NAMESPACE::detail::UseInt(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), VecFromMask(), ZeroIfNegative(), ZeroIfNegative(), ZeroIfNegative(), ZeroIfNegative(), ZeroIfNegative(), and ZeroIfNegative().