|
| HWY_BEFORE_NAMESPACE () |
|
template<class DTo , typename TTo = TFromD<DTo>, typename TFrom > |
HWY_API Vec1< TTo > | hwy::HWY_NAMESPACE::BitCast (DTo, Vec1< TFrom > v) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Zero (D) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>, typename T2 > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Set (D, const T2 t) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Undefined (D d) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>, typename T2 > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Iota (const D, const T2 first) |
|
template<class D , class FromV > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ResizeBitCast (D d, FromV v) |
|
template<class FromSizeTag , class ToSizeTag , class DTo , class DFrom > |
HWY_INLINE VFromD< DTo > | hwy::HWY_NAMESPACE::detail::ZeroExtendResizeBitCast (FromSizeTag, ToSizeTag, DTo d_to, DFrom, VFromD< DFrom > v) |
|
template<class D , HWY_IF_T_SIZE_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Dup128VecFromValues (D, TFromD< D > t0, TFromD< D > t1, TFromD< D > t2, TFromD< D > t3, TFromD< D > t4, TFromD< D > t5, TFromD< D > t6, TFromD< D > t7, TFromD< D > t8, TFromD< D > t9, TFromD< D > t10, TFromD< D > t11, TFromD< D > t12, TFromD< D > t13, TFromD< D > t14, TFromD< D > t15) |
|
template<class D , HWY_IF_BF16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Dup128VecFromValues (D d, TFromD< D > t0, TFromD< D > t1, TFromD< D > t2, TFromD< D > t3, TFromD< D > t4, TFromD< D > t5, TFromD< D > t6, TFromD< D > t7) |
|
template<class D , HWY_IF_T_SIZE_D(D, 4) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Dup128VecFromValues (D, TFromD< D > t0, TFromD< D > t1, TFromD< D > t2, TFromD< D > t3) |
|
template<class D , HWY_IF_T_SIZE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Dup128VecFromValues (D, TFromD< D > t0, TFromD< D > t1) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Not (const Vec1< T > v) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::And (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator& (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::AndNot (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Or (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator| (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Xor (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator^ (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Xor3 (Vec1< T > x1, Vec1< T > x2, Vec1< T > x3) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Or3 (Vec1< T > o1, Vec1< T > o2, Vec1< T > o3) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::OrAnd (const Vec1< T > o, const Vec1< T > a1, const Vec1< T > a2) |
|
template<class DTo , typename TTo = TFromD<DTo>, typename TFrom > |
HWY_API Mask1< TTo > | hwy::HWY_NAMESPACE::RebindMask (DTo, Mask1< TFrom > m) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::MaskFromVec (const Vec1< T > v) |
|
template<typename T > |
Vec1< T > | hwy::HWY_NAMESPACE::VecFromMask (const Mask1< T > mask) |
|
template<class D , typename T = TFromD<D>> |
Vec1< T > | hwy::HWY_NAMESPACE::VecFromMask (D, const Mask1< T > mask) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>> |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::FirstN (D, size_t n) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::IfVecThenElse (Vec1< T > mask, Vec1< T > yes, Vec1< T > no) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::CopySign (const Vec1< T > magn, const Vec1< T > sign) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::CopySignToAbs (const Vec1< T > abs, const Vec1< T > sign) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec1< T > v) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::PopulationCount (Vec1< T > v) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::IfThenElse (const Mask1< T > mask, const Vec1< T > yes, const Vec1< T > no) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::IfThenElseZero (const Mask1< T > mask, const Vec1< T > yes) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::IfThenZeroElse (const Mask1< T > mask, const Vec1< T > no) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::IfNegativeThenElse (Vec1< T > v, Vec1< T > yes, Vec1< T > no) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::Not (const Mask1< T > m) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::And (const Mask1< T > a, Mask1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::AndNot (const Mask1< T > a, Mask1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::Or (const Mask1< T > a, Mask1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::Xor (const Mask1< T > a, Mask1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::ExclusiveNeither (const Mask1< T > a, Mask1< T > b) |
|
template<class T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::SetAtOrAfterFirst (Mask1< T > mask) |
|
template<class T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::SetBeforeFirst (Mask1< T > mask) |
|
template<class T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::SetOnlyFirst (Mask1< T > mask) |
|
template<class T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::SetAtOrBeforeFirst (Mask1< T >) |
|
template<class D > |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::LowerHalfOfMask (D, MFromD< D > m) |
|
template<int kBits, typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::ShiftLeft (const Vec1< T > v) |
|
template<int kBits, typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::ShiftRight (const Vec1< T > v) |
|
template<int kBits, typename T , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::RotateRight (const Vec1< T > v) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec1< T > v, int bits) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::ShiftRightSame (const Vec1< T > v, int bits) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator<< (const Vec1< T > v, const Vec1< T > bits) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator>> (const Vec1< T > v, const Vec1< T > bits) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator+ (Vec1< T > a, Vec1< T > b) |
|
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::operator+ (const Vec1< float > a, const Vec1< float > b) |
|
HWY_API Vec1< double > | hwy::HWY_NAMESPACE::operator+ (const Vec1< double > a, const Vec1< double > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator- (Vec1< T > a, Vec1< T > b) |
|
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::operator- (const Vec1< float > a, const Vec1< float > b) |
|
HWY_API Vec1< double > | hwy::HWY_NAMESPACE::operator- (const Vec1< double > a, const Vec1< double > b) |
|
HWY_API Vec1< int64_t > | hwy::HWY_NAMESPACE::SumsOf8 (const Vec1< int8_t > v) |
|
HWY_API Vec1< uint64_t > | hwy::HWY_NAMESPACE::SumsOf8 (const Vec1< uint8_t > v) |
|
template<class T > |
HWY_API Vec1< MakeWide< T > > | hwy::HWY_NAMESPACE::SumsOf2 (const Vec1< T > v) |
|
HWY_API Vec1< uint8_t > | hwy::HWY_NAMESPACE::SaturatedAdd (const Vec1< uint8_t > a, const Vec1< uint8_t > b) |
|
HWY_API Vec1< uint16_t > | hwy::HWY_NAMESPACE::SaturatedAdd (const Vec1< uint16_t > a, const Vec1< uint16_t > b) |
|
HWY_API Vec1< int8_t > | hwy::HWY_NAMESPACE::SaturatedAdd (const Vec1< int8_t > a, const Vec1< int8_t > b) |
|
HWY_API Vec1< int16_t > | hwy::HWY_NAMESPACE::SaturatedAdd (const Vec1< int16_t > a, const Vec1< int16_t > b) |
|
HWY_API Vec1< uint8_t > | hwy::HWY_NAMESPACE::SaturatedSub (const Vec1< uint8_t > a, const Vec1< uint8_t > b) |
|
HWY_API Vec1< uint16_t > | hwy::HWY_NAMESPACE::SaturatedSub (const Vec1< uint16_t > a, const Vec1< uint16_t > b) |
|
HWY_API Vec1< int8_t > | hwy::HWY_NAMESPACE::SaturatedSub (const Vec1< int8_t > a, const Vec1< int8_t > b) |
|
HWY_API Vec1< int16_t > | hwy::HWY_NAMESPACE::SaturatedSub (const Vec1< int16_t > a, const Vec1< int16_t > b) |
|
HWY_API Vec1< uint8_t > | hwy::HWY_NAMESPACE::AverageRound (const Vec1< uint8_t > a, const Vec1< uint8_t > b) |
|
HWY_API Vec1< uint16_t > | hwy::HWY_NAMESPACE::AverageRound (const Vec1< uint16_t > a, const Vec1< uint16_t > b) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Abs (const Vec1< T > a) |
|
template<typename T , HWY_IF_NOT_FLOAT(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Min (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T , HWY_IF_NOT_FLOAT(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Max (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T , HWY_IF_FLOAT_OR_SPECIAL(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Neg (const Vec1< T > v) |
|
template<typename T , HWY_IF_FLOAT(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator* (const Vec1< T > a, const Vec1< T > b) |
|
template<class T , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator/ (Vec1< T > a, Vec1< T > b) |
|
template<class T , HWY_IF_T_SIZE_ONE_OF(T,(1<< 1)|(1<< 2)|(1<< 4)) , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::MulHigh (const Vec1< T > a, const Vec1< T > b) |
|
template<class T , HWY_IF_UI64(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::MulHigh (const Vec1< T > a, const Vec1< T > b) |
|
HWY_API Vec1< int16_t > | hwy::HWY_NAMESPACE::MulFixedPoint15 (Vec1< int16_t > a, Vec1< int16_t > b) |
|
template<class T , HWY_IF_T_SIZE_ONE_OF(T,(1<< 1)|(1<< 2)|(1<< 4)) , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec1< MakeWide< T > > | hwy::HWY_NAMESPACE::MulEven (const Vec1< T > a, const Vec1< T > b) |
|
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::ApproximateReciprocal (const Vec1< float > v) |
|
template<typename T , HWY_IF_FLOAT(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::AbsDiff (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T , HWY_IF_FLOAT(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::MulAdd (const Vec1< T > mul, const Vec1< T > x, const Vec1< T > add) |
|
template<typename T , HWY_IF_FLOAT(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::NegMulAdd (const Vec1< T > mul, const Vec1< T > x, const Vec1< T > add) |
|
template<typename T , HWY_IF_FLOAT(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::MulSub (const Vec1< T > mul, const Vec1< T > x, const Vec1< T > sub) |
|
template<typename T , HWY_IF_FLOAT(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::NegMulSub (const Vec1< T > mul, const Vec1< T > x, const Vec1< T > sub) |
|
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt (const Vec1< float > v) |
|
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::Sqrt (Vec1< float > v) |
|
HWY_API Vec1< double > | hwy::HWY_NAMESPACE::Sqrt (Vec1< double > v) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Round (const Vec1< T > v) |
|
HWY_API Vec1< int32_t > | hwy::HWY_NAMESPACE::NearestInt (const Vec1< float > v) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Trunc (const Vec1< T > v) |
|
template<typename Float , typename Bits , int kMantissaBits, int kExponentBits, class V > |
V | hwy::HWY_NAMESPACE::Ceiling (const V v) |
|
template<typename Float , typename Bits , int kMantissaBits, int kExponentBits, class V > |
V | hwy::HWY_NAMESPACE::Floor (const V v) |
|
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::Ceil (const Vec1< float > v) |
|
HWY_API Vec1< double > | hwy::HWY_NAMESPACE::Ceil (const Vec1< double > v) |
|
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::Floor (const Vec1< float > v) |
|
HWY_API Vec1< double > | hwy::HWY_NAMESPACE::Floor (const Vec1< double > v) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::operator== (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::operator!= (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::TestBit (const Vec1< T > v, const Vec1< T > bit) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::operator< (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::operator> (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::operator<= (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::operator>= (const Vec1< T > a, const Vec1< T > b) |
|
template<typename T > |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::IsNaN (const Vec1< T > v) |
|
HWY_API Mask1< float > | hwy::HWY_NAMESPACE::IsInf (const Vec1< float > v) |
|
HWY_API Mask1< double > | hwy::HWY_NAMESPACE::IsInf (const Vec1< double > v) |
|
HWY_API Mask1< float > | hwy::HWY_NAMESPACE::IsFinite (const Vec1< float > v) |
|
HWY_API Mask1< double > | hwy::HWY_NAMESPACE::IsFinite (const Vec1< double > v) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Load (D, const T *HWY_RESTRICT aligned) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::MaskedLoad (Mask1< T > m, D d, const T *HWY_RESTRICT aligned) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::MaskedLoadOr (Vec1< T > v, Mask1< T > m, D d, const T *HWY_RESTRICT aligned) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::LoadU (D d, const T *HWY_RESTRICT p) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::LoadDup128 (D d, const T *HWY_RESTRICT aligned) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadN (D d, const T *HWY_RESTRICT p, size_t max_lanes_to_load) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadNOr (VFromD< D > no, D d, const T *HWY_RESTRICT p, size_t max_lanes_to_load) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::Store (const Vec1< T > v, D, T *HWY_RESTRICT aligned) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::StoreU (const Vec1< T > v, D d, T *HWY_RESTRICT p) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::BlendedStore (const Vec1< T > v, Mask1< T > m, D d, T *HWY_RESTRICT p) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::StoreN (VFromD< D > v, D d, T *HWY_RESTRICT p, size_t max_lanes_to_store) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved2 (D d, const T *HWY_RESTRICT unaligned, Vec1< T > &v0, Vec1< T > &v1) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved3 (D d, const T *HWY_RESTRICT unaligned, Vec1< T > &v0, Vec1< T > &v1, Vec1< T > &v2) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved4 (D d, const T *HWY_RESTRICT unaligned, Vec1< T > &v0, Vec1< T > &v1, Vec1< T > &v2, Vec1< T > &v3) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved2 (const Vec1< T > v0, const Vec1< T > v1, D d, T *HWY_RESTRICT unaligned) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved3 (const Vec1< T > v0, const Vec1< T > v1, const Vec1< T > v2, D d, T *HWY_RESTRICT unaligned) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved4 (const Vec1< T > v0, const Vec1< T > v1, const Vec1< T > v2, const Vec1< T > v3, D d, T *HWY_RESTRICT unaligned) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::Stream (const Vec1< T > v, D d, T *HWY_RESTRICT aligned) |
|
template<class D , typename T = TFromD<D>, typename TI > |
HWY_API void | hwy::HWY_NAMESPACE::ScatterOffset (Vec1< T > v, D d, T *base, Vec1< TI > offset) |
|
template<class D , typename T = TFromD<D>, typename TI > |
HWY_API void | hwy::HWY_NAMESPACE::ScatterIndex (Vec1< T > v, D d, T *HWY_RESTRICT base, Vec1< TI > index) |
|
template<class D , typename T = TFromD<D>, typename TI > |
HWY_API void | hwy::HWY_NAMESPACE::MaskedScatterIndex (Vec1< T > v, Mask1< T > m, D d, T *HWY_RESTRICT base, Vec1< TI > index) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::GatherOffset (D d, const T *base, Vec1< MakeSigned< T > > offset) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::GatherIndex (D d, const T *HWY_RESTRICT base, Vec1< MakeSigned< T > > index) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::MaskedGatherIndex (Mask1< T > m, D d, const T *HWY_RESTRICT base, Vec1< MakeSigned< T > > index) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::MaskedGatherIndexOr (Vec1< T > no, Mask1< T > m, D d, const T *HWY_RESTRICT base, Vec1< MakeSigned< T > > index) |
|
template<class ToT , class FromT > |
HWY_INLINE ToT | hwy::HWY_NAMESPACE::detail::CastValueForF2IConv (FromT val) |
|
template<class ToT , class ToTypeTag , class FromT > |
HWY_INLINE ToT | hwy::HWY_NAMESPACE::detail::CastValueForPromoteTo (ToTypeTag, FromT val) |
|
template<class ToT > |
HWY_INLINE ToT | hwy::HWY_NAMESPACE::detail::CastValueForPromoteTo (hwy::SignedTag, float val) |
|
template<class ToT > |
HWY_INLINE ToT | hwy::HWY_NAMESPACE::detail::CastValueForPromoteTo (hwy::UnsignedTag, float val) |
|
template<class ToT , class FromT > |
HWY_INLINE ToT | hwy::HWY_NAMESPACE::detail::CastValueForInRangeF2IConv (FromT val) |
|
template<class DTo , typename TTo = TFromD<DTo>, typename TFrom > |
HWY_API Vec1< TTo > | hwy::HWY_NAMESPACE::PromoteTo (DTo, Vec1< TFrom > from) |
|
template<class DTo , HWY_IF_UI64_D(DTo) > |
HWY_API VFromD< DTo > | hwy::HWY_NAMESPACE::PromoteInRangeTo (DTo, Vec1< float > from) |
|
template<class D , HWY_IF_F32_D(D) > |
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::DemoteTo (D, Vec1< double > from) |
|
template<class D , HWY_IF_UI32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D, Vec1< double > from) |
|
template<class DTo , typename TTo = TFromD<DTo>, typename TFrom , HWY_IF_SIGNED(TFrom) , HWY_IF_NOT_FLOAT_NOR_SPECIAL(TFromD< DTo >) > |
HWY_API Vec1< TTo > | hwy::HWY_NAMESPACE::DemoteTo (DTo, Vec1< TFrom > from) |
|
template<class D32 , HWY_IF_UI32_D(D32) > |
HWY_API VFromD< D32 > | hwy::HWY_NAMESPACE::DemoteInRangeTo (D32 d32, VFromD< Rebind< double, D32 > > v) |
|
template<class D , HWY_IF_F32_D(D) > |
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::PromoteTo (D, const Vec1< float16_t > v) |
|
template<class D , HWY_IF_F32_D(D) > |
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::PromoteTo (D d, const Vec1< bfloat16_t > v) |
|
template<class DTo , typename TFrom > |
HWY_API VFromD< DTo > | hwy::HWY_NAMESPACE::PromoteEvenTo (DTo d_to, Vec1< TFrom > v) |
|
template<class D , HWY_IF_F16_D(D) > |
HWY_API Vec1< float16_t > | hwy::HWY_NAMESPACE::DemoteTo (D, const Vec1< float > v) |
|
template<class D , HWY_IF_BF16_D(D) > |
HWY_API Vec1< bfloat16_t > | hwy::HWY_NAMESPACE::DemoteTo (D d, const Vec1< float > v) |
|
template<class DTo , typename TTo = TFromD<DTo>, typename TFrom , HWY_IF_FLOAT(TFrom) > |
HWY_API Vec1< TTo > | hwy::HWY_NAMESPACE::ConvertTo (DTo, Vec1< TFrom > from) |
|
template<class DI , HWY_IF_NOT_FLOAT_NOR_SPECIAL_D(DI) , HWY_IF_T_SIZE_ONE_OF_D(DI,(1<< 4)|(1<< 8)) > |
HWY_API VFromD< DI > | hwy::HWY_NAMESPACE::ConvertInRangeTo (DI di, VFromD< RebindToFloat< DI > > v) |
|
HWY_API Vec1< uint8_t > | hwy::HWY_NAMESPACE::U8FromU32 (const Vec1< uint32_t > v) |
|
template<class D , HWY_IF_U8_D(D) > |
HWY_API Vec1< uint8_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec1< uint64_t > v) |
|
template<class D , HWY_IF_U16_D(D) > |
HWY_API Vec1< uint16_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec1< uint64_t > v) |
|
template<class D , HWY_IF_U32_D(D) > |
HWY_API Vec1< uint32_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec1< uint64_t > v) |
|
template<class D , HWY_IF_U8_D(D) > |
HWY_API Vec1< uint8_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec1< uint32_t > v) |
|
template<class D , HWY_IF_U16_D(D) > |
HWY_API Vec1< uint16_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec1< uint32_t > v) |
|
template<class D , HWY_IF_U8_D(D) > |
HWY_API Vec1< uint8_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec1< uint16_t > v) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::LowerHalf (Vec1< T > v) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::LowerHalf (D, Vec1< T > v) |
|
template<typename T > |
HWY_API T | hwy::HWY_NAMESPACE::GetLane (const Vec1< T > v) |
|
template<typename T > |
HWY_API T | hwy::HWY_NAMESPACE::ExtractLane (const Vec1< T > v, size_t i) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::InsertLane (Vec1< T > v, size_t i, T t) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::DupEven (Vec1< T > v) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::OddEven (Vec1< T >, Vec1< T > even) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::OddEvenBlocks (Vec1< T >, Vec1< T > even) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::SwapAdjacentBlocks (Vec1< T > v) |
|
template<class D , typename T = TFromD<D>, typename TI > |
HWY_API Indices1< T > | hwy::HWY_NAMESPACE::IndicesFromVec (D, Vec1< TI > vec) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>, typename TI > |
HWY_API Indices1< T > | hwy::HWY_NAMESPACE::SetTableIndices (D d, const TI *idx) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::TableLookupLanes (const Vec1< T > v, const Indices1< T >) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::TwoTablesLookupLanes (const Vec1< T > a, const Vec1< T > b, const Indices1< T > idx) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::ReverseBlocks (D, const Vec1< T > v) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Reverse (D, const Vec1< T > v) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Reverse2 (D, const Vec1< T > v) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Reverse4 (D, const Vec1< T > v) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Reverse8 (D, const Vec1< T > v) |
|
HWY_API Vec1< uint16_t > | hwy::HWY_NAMESPACE::ReverseLaneBytes (Vec1< uint16_t > v) |
|
HWY_API Vec1< uint32_t > | hwy::HWY_NAMESPACE::ReverseLaneBytes (Vec1< uint32_t > v) |
|
HWY_API Vec1< uint64_t > | hwy::HWY_NAMESPACE::ReverseLaneBytes (Vec1< uint64_t > v) |
|
template<class V , HWY_IF_SIGNED_V(V) , HWY_IF_T_SIZE_ONE_OF_V(V,(1<< 2)|(1<< 4)|(1<< 8)) > |
HWY_API V | hwy::HWY_NAMESPACE::ReverseLaneBytes (V v) |
|
template<class T > |
HWY_INLINE T | hwy::HWY_NAMESPACE::detail::ReverseBitsOfEachByte (T val) |
|
template<class V , HWY_IF_T_SIZE_ONE_OF_V(V,(1<< 2)|(1<< 4)|(1<< 8)) , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::ReverseBits (V v) |
|
template<class V , HWY_IF_T_SIZE_V(V, 1) > |
HWY_API V | hwy::HWY_NAMESPACE::ReverseBits (V v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SlideUpLanes (D d, VFromD< D > v, size_t amt) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SlideDownLanes (D d, VFromD< D > v, size_t amt) |
|
template<int kLane, typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Broadcast (const Vec1< T > v) |
|
template<typename T , typename TI > |
HWY_API Vec1< TI > | hwy::HWY_NAMESPACE::TableLookupBytes (const Vec1< T > in, const Vec1< TI > indices) |
|
template<typename T , typename TI > |
HWY_API Vec1< TI > | hwy::HWY_NAMESPACE::TableLookupBytesOr0 (const Vec1< T > in, const Vec1< TI > indices) |
|
HWY_API Vec1< uint16_t > | hwy::HWY_NAMESPACE::ZipLower (Vec1< uint8_t > a, Vec1< uint8_t > b) |
|
HWY_API Vec1< uint32_t > | hwy::HWY_NAMESPACE::ZipLower (Vec1< uint16_t > a, Vec1< uint16_t > b) |
|
HWY_API Vec1< uint64_t > | hwy::HWY_NAMESPACE::ZipLower (Vec1< uint32_t > a, Vec1< uint32_t > b) |
|
HWY_API Vec1< int16_t > | hwy::HWY_NAMESPACE::ZipLower (Vec1< int8_t > a, Vec1< int8_t > b) |
|
HWY_API Vec1< int32_t > | hwy::HWY_NAMESPACE::ZipLower (Vec1< int16_t > a, Vec1< int16_t > b) |
|
HWY_API Vec1< int64_t > | hwy::HWY_NAMESPACE::ZipLower (Vec1< int32_t > a, Vec1< int32_t > b) |
|
template<class DW , typename TW = TFromD<DW>, typename TN = MakeNarrow<TW>> |
HWY_API Vec1< TW > | hwy::HWY_NAMESPACE::ZipLower (DW, Vec1< TN > a, Vec1< TN > b) |
|
template<class D , typename T = TFromD<D>> |
HWY_API bool | hwy::HWY_NAMESPACE::AllFalse (D, const Mask1< T > mask) |
|
template<class D , typename T = TFromD<D>> |
HWY_API bool | hwy::HWY_NAMESPACE::AllTrue (D, const Mask1< T > mask) |
|
template<class D , HWY_IF_LANES_D(D, 1) , typename T = TFromD<D>> |
HWY_API Mask1< T > | hwy::HWY_NAMESPACE::LoadMaskBits (D, const uint8_t *HWY_RESTRICT bits) |
|
template<class D , HWY_IF_T_SIZE_D(D, 2) > |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::Dup128MaskFromMaskBits (D d, unsigned mask_bits) |
|
template<class D , typename T = TFromD<D>> |
HWY_API size_t | hwy::HWY_NAMESPACE::StoreMaskBits (D d, const Mask1< T > mask, uint8_t *bits) |
|
template<class D , typename T = TFromD<D>> |
HWY_API size_t | hwy::HWY_NAMESPACE::CountTrue (D, const Mask1< T > mask) |
|
template<class D , typename T = TFromD<D>> |
HWY_API intptr_t | hwy::HWY_NAMESPACE::FindFirstTrue (D, const Mask1< T > mask) |
|
template<class D , typename T = TFromD<D>> |
HWY_API size_t | hwy::HWY_NAMESPACE::FindKnownFirstTrue (D, const Mask1< T >) |
|
template<class D , typename T = TFromD<D>> |
HWY_API intptr_t | hwy::HWY_NAMESPACE::FindLastTrue (D, const Mask1< T > mask) |
|
template<class D , typename T = TFromD<D>> |
HWY_API size_t | hwy::HWY_NAMESPACE::FindKnownLastTrue (D, const Mask1< T >) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Compress (Vec1< T > v, const Mask1< T >) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::CompressNot (Vec1< T > v, const Mask1< T >) |
|
template<class D , typename T = TFromD<D>> |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressStore (Vec1< T > v, const Mask1< T > mask, D d, T *HWY_RESTRICT unaligned) |
|
template<class D , typename T = TFromD<D>> |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBlendedStore (Vec1< T > v, const Mask1< T > mask, D d, T *HWY_RESTRICT unaligned) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::CompressBits (Vec1< T > v, const uint8_t *HWY_RESTRICT) |
|
template<class D , typename T = TFromD<D>> |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBitsStore (Vec1< T > v, const uint8_t *HWY_RESTRICT bits, D d, T *HWY_RESTRICT unaligned) |
|
template<typename T > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::Expand (Vec1< T > v, const Mask1< T > mask) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadExpand (MFromD< D > mask, D d, const TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D32 , HWY_IF_F32_D(D32) > |
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::WidenMulPairwiseAdd (D32, Vec1< bfloat16_t > a, Vec1< bfloat16_t > b) |
|
template<class D32 , HWY_IF_I32_D(D32) > |
HWY_API Vec1< int32_t > | hwy::HWY_NAMESPACE::WidenMulPairwiseAdd (D32, Vec1< int16_t > a, Vec1< int16_t > b) |
|
template<class DI32 , HWY_IF_I32_D(DI32) > |
HWY_API VFromD< DI32 > | hwy::HWY_NAMESPACE::SatWidenMulAccumFixedPoint (DI32, VFromD< Rebind< int16_t, DI32 > > a, VFromD< Rebind< int16_t, DI32 > > b, VFromD< DI32 > sum) |
|
template<class DI16 , HWY_IF_I16_D(DI16) > |
HWY_API Vec1< int16_t > | hwy::HWY_NAMESPACE::SatWidenMulPairwiseAdd (DI16, Vec1< uint8_t > a, Vec1< int8_t > b) |
|
template<class D32 , HWY_IF_F32_D(D32) > |
HWY_API Vec1< float > | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (D32, Vec1< bfloat16_t > a, Vec1< bfloat16_t > b, const Vec1< float > sum0, Vec1< float > &) |
|
template<class D32 , HWY_IF_I32_D(D32) > |
HWY_API Vec1< int32_t > | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (D32, Vec1< int16_t > a, Vec1< int16_t > b, const Vec1< int32_t > sum0, Vec1< int32_t > &) |
|
template<class DU32 , HWY_IF_U32_D(DU32) > |
HWY_API Vec1< uint32_t > | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (DU32, Vec1< uint16_t > a, Vec1< uint16_t > b, const Vec1< uint32_t > sum0, Vec1< uint32_t > &) |
|
template<typename TW > |
HWY_API Vec1< TW > | hwy::HWY_NAMESPACE::RearrangeToOddPlusEven (Vec1< TW > sum0, Vec1< TW >) |
|
| HWY_AFTER_NAMESPACE () |
|