|
| HWY_BEFORE_NAMESPACE () |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_NOT_FLOAT3264_D(D) > |
HWY_API Vec128< TFromD< D >, HWY_MAX_LANES_D(D)> | hwy::HWY_NAMESPACE::Zero (D) |
|
HWY_INLINE __v128_u | hwy::HWY_NAMESPACE::detail::BitCastToInteger (__v128_u v) |
|
HWY_INLINE __v128_u | hwy::HWY_NAMESPACE::detail::BitCastToInteger (__f32x4 v) |
|
HWY_INLINE __v128_u | hwy::HWY_NAMESPACE::detail::BitCastToInteger (__f64x2 v) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< uint8_t, N *sizeof(T)> | hwy::HWY_NAMESPACE::detail::BitCastToByte (Vec128< T, N > v) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::detail::BitCastFromByte (D d, Vec128< uint8_t, d.MaxBytes()> v) |
|
template<class D , class FromT > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::BitCast (D d, Vec128< FromT, Repartition< FromT, D >().MaxLanes()> v) |
|
template<class D , class FromV , HWY_IF_V_SIZE_LE_V(FromV, 8) , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ResizeBitCast (D d, FromV v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_T_SIZE_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Set (D, TFromD< D > t) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Undefined (D) |
|
template<class D , typename T2 , HWY_IF_FLOAT_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Iota (const D d, T2 first) |
|
template<class D , HWY_IF_UI8_D(D) , HWY_IF_V_SIZE_LE_D(D, 8) > |
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, TFromD< D >, TFromD< D >, TFromD< D >, TFromD< D >, TFromD< D >, TFromD< D >, TFromD< D >, TFromD< D >) |
|
template<class D , HWY_IF_UI16_D(D) , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Dup128VecFromValues (D d, TFromD< D > t0, TFromD< D > t1, TFromD< D > t2, TFromD< D > t3, TFromD< D >, TFromD< D >, TFromD< D >, TFromD< D >) |
|
template<class D , HWY_IF_UI32_D(D) , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Dup128VecFromValues (D d, TFromD< D > t0, TFromD< D > t1, TFromD< D >, TFromD< D >) |
|
template<class D , HWY_IF_T_SIZE_D(D, 8) , HWY_IF_V_SIZE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Dup128VecFromValues (D d, TFromD< D > t0, TFromD< D >) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::operator+ (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::operator+ (const Vec128< double, N > a, const Vec128< double, N > b) |
|
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) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::operator- (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::operator- (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::operator- (const Vec128< double, N > a, const Vec128< double, N > b) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::Abs (const Vec128< int8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::Abs (const Vec128< int16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::Abs (const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::Abs (const Vec128< int64_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Abs (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Abs (const Vec128< double, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::ShiftLeft (const Vec128< uint16_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< uint16_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::ShiftLeft (const Vec128< uint32_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::ShiftLeft (const Vec128< uint64_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< uint32_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< uint64_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::ShiftLeft (const Vec128< int16_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< int16_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::ShiftLeft (const Vec128< int32_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::ShiftLeft (const Vec128< int64_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< int32_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< int64_t, N > v) |
|
template<int kBits, typename T , size_t N, HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeft (Vec128< T, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< uint8_t, N > v) |
|
template<int kBits, size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< int8_t, N > v) |
|
template<int kBits, typename T , size_t N, HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::RotateRight (const Vec128< T, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec128< uint16_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (const Vec128< uint16_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec128< uint32_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (const Vec128< uint32_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec128< uint64_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (const Vec128< uint64_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec128< int16_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (const Vec128< int16_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec128< int32_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (const Vec128< int32_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec128< int64_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (const Vec128< int64_t, N > v, const int bits) |
|
template<typename T , size_t N, HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (Vec128< T, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (Vec128< uint8_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (Vec128< int8_t, N > v, const int bits) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::Min (Vec128< uint8_t, N > a, Vec128< uint8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::Min (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::Min (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::Min (Vec128< uint64_t, N > a, Vec128< uint64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::Min (Vec128< int8_t, N > a, Vec128< int8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::Min (Vec128< int16_t, N > a, Vec128< int16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::Min (Vec128< int32_t, N > a, Vec128< int32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::Min (Vec128< int64_t, N > a, Vec128< int64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Min (Vec128< float, N > a, Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Min (Vec128< double, N > a, Vec128< double, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::Max (Vec128< uint8_t, N > a, Vec128< uint8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::Max (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::Max (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::Max (Vec128< uint64_t, N > a, Vec128< uint64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::Max (Vec128< int8_t, N > a, Vec128< int8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::Max (Vec128< int16_t, N > a, Vec128< int16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::Max (Vec128< int32_t, N > a, Vec128< int32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::Max (Vec128< int64_t, N > a, Vec128< int64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Max (Vec128< float, N > a, Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Max (Vec128< double, N > a, Vec128< double, N > b) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::MulHigh (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::MulHigh (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::MulHigh (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::MulHigh (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::MulHigh (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::MulHigh (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::MulFixedPoint15 (Vec128< int16_t, N > a, Vec128< int16_t, N > b) |
|
template<class T , size_t N, HWY_IF_T_SIZE_ONE_OF(T,(1<< 1)|(1<< 2)|(1<< 4)) , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec128< MakeWide< T >,(N+1)/2 > | hwy::HWY_NAMESPACE::MulEven (Vec128< T, N > a, Vec128< T, N > b) |
|
template<size_t N> |
HWY_API Vec128< int64_t,(N+1)/2 > | hwy::HWY_NAMESPACE::MulEven (Vec128< int32_t, N > a, Vec128< int32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint64_t,(N+1)/2 > | hwy::HWY_NAMESPACE::MulEven (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b) |
|
template<class T , size_t N, HWY_IF_T_SIZE_ONE_OF(T,(1<< 1)|(1<< 2)|(1<< 4)) , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec128< MakeWide< T >,(N+1)/2 > | hwy::HWY_NAMESPACE::MulOdd (Vec128< T, N > a, Vec128< T, N > b) |
|
template<class T , size_t N, HWY_IF_UI32(T) > |
HWY_API Vec128< MakeWide< T >,(N+1)/2 > | hwy::HWY_NAMESPACE::MulOdd (const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<typename T , size_t N, HWY_IF_SIGNED(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Neg (Vec128< T, N > v) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::Neg (const Vec128< int8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::Neg (const Vec128< int16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::Neg (const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::Neg (const Vec128< int64_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::operator* (Vec128< float, N > a, Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::operator* (Vec128< double, N > a, Vec128< double, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::operator/ (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::operator/ (const Vec128< double, N > a, const Vec128< double, N > b) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ApproximateReciprocal (const Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::AbsDiff (Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::MulAdd (Vec128< T, N > mul, Vec128< T, N > x, Vec128< T, N > add) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::NegMulAdd (Vec128< T, N > mul, Vec128< T, N > x, Vec128< T, N > add) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::MulSub (Vec128< T, N > mul, Vec128< T, N > x, Vec128< T, N > sub) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::NegMulSub (Vec128< T, N > mul, Vec128< T, N > x, Vec128< T, N > sub) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Sqrt (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Sqrt (const Vec128< double, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt (const Vec128< T, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Round (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Round (Vec128< double, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Trunc (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Trunc (const Vec128< double, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Ceil (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Ceil (const Vec128< double, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Floor (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Floor (const Vec128< double, N > v) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::IsNaN (const Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::IsInf (const Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::IsFinite (const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::MaskFromVec (const Vec128< T, N > v) |
|
template<typename TFrom , size_t NFrom, class DTo > |
HWY_API MFromD< DTo > | hwy::HWY_NAMESPACE::RebindMask (DTo, Mask128< TFrom, NFrom > m) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::TestBit (Vec128< T, N > v, Vec128< T, N > bit) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<size_t N> |
HWY_API Mask128< int16_t, N > | hwy::HWY_NAMESPACE::operator== (Vec128< int16_t, N > a, Vec128< int16_t, N > b) |
|
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) |
|
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) |
|
template<size_t N> |
HWY_API Mask128< float, N > | hwy::HWY_NAMESPACE::operator== (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Mask128< double, N > | hwy::HWY_NAMESPACE::operator== (const Vec128< double, N > a, const Vec128< double, N > b) |
|
template<size_t N> |
HWY_API Mask128< uint8_t, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< uint8_t, N > a, Vec128< uint8_t, N > b) |
|
template<size_t N> |
HWY_API Mask128< uint16_t, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b) |
|
template<size_t N> |
HWY_API Mask128< uint32_t, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b) |
|
template<size_t N> |
HWY_API Mask128< uint64_t, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< uint64_t, N > a, Vec128< uint64_t, N > b) |
|
template<size_t N> |
HWY_API Mask128< int8_t, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< int8_t, N > a, Vec128< int8_t, N > b) |
|
template<size_t N> |
HWY_API Mask128< int16_t, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< int16_t, N > a, Vec128< int16_t, N > b) |
|
template<size_t N> |
HWY_API Mask128< int32_t, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< int32_t, N > a, Vec128< int32_t, N > b) |
|
template<size_t N> |
HWY_API Mask128< int64_t, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< int64_t, N > a, Vec128< int64_t, N > b) |
|
template<size_t N> |
HWY_API Mask128< float, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< float, N > a, Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Mask128< double, N > | hwy::HWY_NAMESPACE::operator!= (Vec128< double, N > a, Vec128< double, N > b) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<size_t N> |
HWY_API Mask128< float, N > | hwy::HWY_NAMESPACE::operator> (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Mask128< double, N > | hwy::HWY_NAMESPACE::operator> (const Vec128< double, N > a, const Vec128< double, N > b) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::operator< (Vec128< T, N > a, Vec128< T, N > b) |
|
template<size_t N> |
HWY_API Mask128< float, N > | hwy::HWY_NAMESPACE::operator>= (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Mask128< double, N > | hwy::HWY_NAMESPACE::operator>= (const Vec128< double, N > a, const Vec128< double, N > b) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::operator<= (Vec128< T, N > a, Vec128< T, N > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::FirstN (D d, size_t num) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Not (Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::And (Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::AndNot (Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Or (Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Xor (Vec128< T, N > a, Vec128< T, N > b) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::CopySign (Vec128< T, N > magn, Vec128< T, N > sign) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::CopySignToAbs (Vec128< T, N > abs, Vec128< T, N > sign) |
|
template<typename T , size_t N, HWY_IF_SIGNED(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec128< T, N > v) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec128< int8_t, N > v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::VecFromMask (D d, const MFromD< D > m) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::IfThenElse (Mask128< T, N > mask, Vec128< T, N > yes, Vec128< T, N > no) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::IfThenElseZero (Mask128< T, N > mask, Vec128< T, N > yes) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::IfThenZeroElse (Mask128< T, N > mask, Vec128< T, N > no) |
|
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) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::Not (const Mask128< T, N > m) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::And (const Mask128< T, N > a, Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::AndNot (const Mask128< T, N > a, Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::Or (const Mask128< T, N > a, Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::Xor (const Mask128< T, N > a, Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::ExclusiveNeither (const Mask128< T, N > a, Mask128< T, N > b) |
|
template<typename T , size_t N, HWY_IF_NOT_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::operator<< (Vec128< T, N > v, Vec128< T, N > bits) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 2) , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::operator<< (Vec128< T, N > v, const Vec128< T, N > bits) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::operator>> (Vec128< T, N > v, const Vec128< T, N > bits) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 2) , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::operator>> (Vec128< T, N > v, const Vec128< T, N > bits) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , typename T = TFromD<D>> |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Load (D, const T *HWY_RESTRICT aligned) |
|
template<class D , HWY_RVV_IF_EMULATED_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Load (D d, const TFromD< D > *HWY_RESTRICT p) |
|
template<class D , HWY_NEON_IF_EMULATED_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadU (D d, const TFromD< D > *HWY_RESTRICT p) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadDup128 (D d, const TFromD< D > *HWY_RESTRICT p) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::MaskedLoad (MFromD< D > m, D d, const T *HWY_RESTRICT p) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::MaskedLoadOr (VFromD< D > v, MFromD< D > m, D d, const T *HWY_RESTRICT p) |
|
template<size_t kLane, typename T , size_t N, HWY_IF_T_SIZE(T, 1) > |
HWY_INLINE T | hwy::HWY_NAMESPACE::detail::ExtractLane (const Vec128< T, N > v) |
|
template<size_t kLane, typename T , size_t N, HWY_IF_T_SIZE(T, 2) , HWY_IF_NOT_SPECIAL_FLOAT(T) > |
HWY_INLINE T | hwy::HWY_NAMESPACE::detail::ExtractLane (const Vec128< T, N > v) |
|
template<size_t kLane, size_t N> |
HWY_INLINE float | hwy::HWY_NAMESPACE::detail::ExtractLane (const Vec128< float, N > v) |
|
template<size_t kLane, size_t N> |
HWY_INLINE double | hwy::HWY_NAMESPACE::detail::ExtractLane (const Vec128< double, N > v) |
|
template<class D , HWY_RVV_IF_EMULATED_D(D) > |
HWY_API void | hwy::HWY_NAMESPACE::Store (VFromD< D > v, D d, TFromD< D > *HWY_RESTRICT p) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_LANES_GT_D(D, 1) > |
HWY_API void | hwy::HWY_NAMESPACE::Store (VFromD< D > v, D d, TFromD< D > *HWY_RESTRICT p) |
|
template<class D > |
HWY_API void | hwy::HWY_NAMESPACE::StoreU (VFromD< D > v, D d, TFromD< D > *HWY_RESTRICT p) |
|
template<class D > |
HWY_API void | hwy::HWY_NAMESPACE::BlendedStore (VFromD< D > v, MFromD< D > m, D d, TFromD< D > *HWY_RESTRICT p) |
|
template<class D > |
HWY_API void | hwy::HWY_NAMESPACE::Stream (const VFromD< D > v, D d, TFromD< D > *HWY_RESTRICT aligned) |
|
template<typename T > |
HWY_API T | hwy::HWY_NAMESPACE::ExtractLane (const Vec128< T, 1 > v, size_t i) |
|
template<typename T > |
HWY_API T | hwy::HWY_NAMESPACE::ExtractLane (const Vec128< T, 2 > v, size_t i) |
|
template<typename T > |
HWY_API T | hwy::HWY_NAMESPACE::ExtractLane (const Vec128< T, 4 > v, size_t i) |
|
template<typename T > |
HWY_API T | hwy::HWY_NAMESPACE::ExtractLane (const Vec128< T, 8 > v, size_t i) |
|
template<typename T > |
HWY_API T | hwy::HWY_NAMESPACE::ExtractLane (const Vec128< T, 16 > v, size_t i) |
|
template<typename T , size_t N> |
HWY_API T | hwy::HWY_NAMESPACE::GetLane (Vec128< T, N > v) |
|
template<size_t kLane, typename T , size_t N, HWY_IF_T_SIZE(T, 1) > |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::InsertLane (const Vec128< T, N > v, T t) |
|
template<size_t kLane, size_t N> |
HWY_INLINE Vec128< float, N > | hwy::HWY_NAMESPACE::detail::InsertLane (const Vec128< float, N > v, float t) |
|
template<size_t kLane, size_t N> |
HWY_INLINE Vec128< double, N > | hwy::HWY_NAMESPACE::detail::InsertLane (const Vec128< double, N > v, double t) |
|
template<typename T > |
HWY_API Vec128< T, 1 > | hwy::HWY_NAMESPACE::InsertLane (const Vec128< T, 1 > v, size_t i, T t) |
|
template<typename T > |
HWY_API Vec128< T, 2 > | hwy::HWY_NAMESPACE::InsertLane (const Vec128< T, 2 > v, size_t i, T t) |
|
template<typename T > |
HWY_API Vec128< T, 4 > | hwy::HWY_NAMESPACE::InsertLane (const Vec128< T, 4 > v, size_t i, T t) |
|
template<typename T > |
HWY_API Vec128< T, 8 > | hwy::HWY_NAMESPACE::InsertLane (const Vec128< T, 8 > v, size_t i, T t) |
|
template<typename T > |
HWY_API Vec128< T, 16 > | hwy::HWY_NAMESPACE::InsertLane (const Vec128< T, 16 > v, size_t i, T t) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LowerHalf (D, VFromD< Twice< D > > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N/2 > | hwy::HWY_NAMESPACE::LowerHalf (Vec128< T, N > v) |
|
template<int kBytes, class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ShiftLeftBytes (D d, VFromD< D > v) |
|
template<int kBytes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeftBytes (Vec128< T, N > v) |
|
template<int kLanes, class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ShiftLeftLanes (D d, VFromD< D > v) |
|
template<int kLanes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeftLanes (Vec128< T, N > v) |
|
template<int kBytes, typename T , size_t N> |
HWY_API __i8x16 | hwy::HWY_NAMESPACE::detail::ShrBytes (const Vec128< T, N > v) |
|
template<int kBytes, class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ShiftRightBytes (D d, VFromD< D > v) |
|
template<int kLanes, class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ShiftRightLanes (D d, VFromD< D > v) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec64< T > | hwy::HWY_NAMESPACE::UpperHalf (D, const Vec128< T > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::UpperHalf (D d, VFromD< Twice< D > > v) |
|
template<int kBytes, class D , typename T = TFromD<D>> |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::CombineShiftRightBytes (D d, Vec128< T > hi, Vec128< T > lo) |
|
template<int kBytes, class D , HWY_IF_V_SIZE_LE_D(D, 4) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::CombineShiftRightBytes (D d, VFromD< D > hi, VFromD< D > lo) |
|
template<int kLane, typename T , size_t N, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< T, N > v) |
|
template<typename T , size_t N, typename TI , size_t NI> |
HWY_API Vec128< TI, NI > | hwy::HWY_NAMESPACE::TableLookupBytes (Vec128< T, N > v, Vec128< TI, NI > indices) |
|
template<typename T , size_t N, typename TI , size_t NI> |
HWY_API Vec128< TI, NI > | hwy::HWY_NAMESPACE::TableLookupBytesOr0 (Vec128< T, N > v, Vec128< TI, NI > indices) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Shuffle2301 (Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::detail::ShuffleTwo2301 (const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::detail::ShuffleTwo1230 (const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::detail::ShuffleTwo3012 (const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Shuffle01 (Vec128< T > v) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Shuffle1032 (Vec128< T > v) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Shuffle0321 (Vec128< T > v) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Shuffle2103 (Vec128< T > v) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Shuffle0123 (Vec128< T > v) |
|
template<class D , HWY_IF_T_SIZE_D(D, 1) > |
HWY_INLINE VFromD< Repartition< uint8_t, D > > | hwy::HWY_NAMESPACE::detail::IndicesFromVecBroadcastLaneBytes (D d) |
|
template<class D , HWY_IF_T_SIZE_D(D, 1) > |
HWY_INLINE VFromD< Repartition< uint8_t, D > > | hwy::HWY_NAMESPACE::detail::IndicesFromVecByteOffsets (D d) |
|
template<class D , typename TI , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_T_SIZE_D(D, 1) > |
HWY_API Indices128< TFromD< D >, MaxLanes(D())> | hwy::HWY_NAMESPACE::IndicesFromVec (D d, Vec128< TI, MaxLanes(D())> vec) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , typename TI > |
HWY_API Indices128< TFromD< D >, HWY_MAX_LANES_D(D)> | hwy::HWY_NAMESPACE::SetTableIndices (D d, const TI *idx) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::TableLookupLanes (Vec128< T, N > v, Indices128< T, N > idx) |
|
template<typename T , size_t N, HWY_IF_V_SIZE_LE(T, N, 4) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::TwoTablesLookupLanes (Vec128< T, N > a, Vec128< T, N > b, Indices128< T, N > idx) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::TwoTablesLookupLanes (Vec128< T > a, Vec128< T > b, Indices128< T > idx) |
|
template<class D , typename T = TFromD<D>, HWY_IF_LANES_D(D, 1) > |
HWY_API Vec128< T, 1 > | hwy::HWY_NAMESPACE::Reverse (D, Vec128< T, 1 > v) |
|
template<class D , typename T = TFromD<D>, HWY_IF_T_SIZE(T, 4) > |
HWY_API Vec64< T > | hwy::HWY_NAMESPACE::Reverse (D, Vec64< T > v) |
|
template<class D , typename T = TFromD<D>, HWY_IF_LANES_D(D, 16) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Reverse (D d, Vec128< T > v) |
|
template<class D , HWY_IF_T_SIZE_ONE_OF_D(D,(1<< 2)|(1<< 4)|(1<< 8)) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse (D, VFromD< D > v) |
|
template<class D , HWY_IF_T_SIZE_D(D, 1) , HWY_IF_POW2_LE_D(D, 2) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse (D d, VFromD< D > v) |
|
template<class D , HWY_IF_T_SIZE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse2 (D d, VFromD< D > v) |
|
template<class D , HWY_IF_T_SIZE_D(D, 4) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse4 (D d, VFromD< D > v) |
|
template<class D , HWY_IF_T_SIZE_D(D, 2) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse8 (D d, VFromD< D > v) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< uint8_t, N > a, Vec128< uint8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< uint64_t, N > a, Vec128< uint64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< int8_t, N > a, Vec128< int8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< int16_t, N > a, Vec128< int16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< int32_t, N > a, Vec128< int32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< int64_t, N > a, Vec128< int64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< float, N > a, Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< double, N > a, Vec128< double, N > b) |
|
template<class T , size_t N, HWY_IF_T_SIZE(T, 2) , HWY_IF_SPECIAL_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::InterleaveLower (Vec128< T, N > a, Vec128< T, N > b) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::InterleaveLower (D, VFromD< D > a, VFromD< D > b) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< uint8_t, N > a, Vec128< uint8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< uint16_t, N > a, Vec128< uint16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< uint32_t, N > a, Vec128< uint32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< uint64_t, N > a, Vec128< uint64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< int8_t, N > a, Vec128< int8_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< int16_t, N > a, Vec128< int16_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< int32_t, N > a, Vec128< int32_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< int64_t, N > a, Vec128< int64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< float, N > a, Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< double, N > a, Vec128< double, N > b) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::InterleaveUpper (D, Vec128< T > a, Vec128< T > b) |
|
template<class D , HWY_IF_V_SIZE_GT_D(D, 4) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::InterleaveUpper (D, VFromD< D > a, VFromD< D > b) |
|
template<class V , class DW = RepartitionToWide<DFromV<V>>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipLower (V a, V b) |
|
template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipLower (DW dw, V a, V b) |
|
template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipUpper (DW dw, V a, V b) |
|
template<size_t kIdx3210, size_t kVectSize, class V , HWY_IF_LANES_LE(kVectSize, 16) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::Per4LaneBlockShuffle (hwy::SizeTag< kIdx3210 >, hwy::SizeTag< 1 >, hwy::SizeTag< kVectSize >, V v) |
|
template<size_t kIdx3210, size_t kVectSize, class V , HWY_IF_LANES_LE(kVectSize, 16) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::Per4LaneBlockShuffle (hwy::SizeTag< kIdx3210 >, hwy::SizeTag< 2 >, hwy::SizeTag< kVectSize >, V v) |
|
template<size_t kIdx3210, size_t kVectSize, class V , HWY_IF_LANES_LE(kVectSize, 16) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::Per4LaneBlockShuffle (hwy::SizeTag< kIdx3210 >, hwy::SizeTag< 4 >, hwy::SizeTag< kVectSize >, V v) |
|
template<class V , HWY_IF_V_SIZE_LE_V(V, 8) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::SlideUpLanes (V v, size_t amt) |
|
template<class D , HWY_IF_LANES_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SlideUpLanes (D, VFromD< D > v, size_t) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_LANES_D(D, 2) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SlideUpLanes (D d, VFromD< D > v, size_t amt) |
|
template<class V , HWY_IF_V_SIZE_LE_V(V, 8) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::SlideDownLanes (V v, size_t amt) |
|
template<class D , HWY_IF_LANES_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SlideDownLanes (D, VFromD< D > v, size_t) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_LANES_D(D, 2) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SlideDownLanes (D d, VFromD< D > v, size_t amt) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , class VH = VFromD<Half<D>>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Combine (D d, VH hi_half, VH lo_half) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ZeroExtendVector (D d, VFromD< Half< D > > lo) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatLowerLower (D d, Vec128< T > hi, Vec128< T > lo) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatUpperUpper (D d, Vec128< T > hi, Vec128< T > lo) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatLowerUpper (D d, Vec128< T > hi, Vec128< T > lo) |
|
template<class D , typename T = TFromD<D>> |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatUpperLower (D, Vec128< T > hi, Vec128< T > lo) |
|
template<class D , HWY_IF_V_SIZE_GT_D(D, 4) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConcatLowerLower (D d, VFromD< D > hi, VFromD< D > lo) |
|
template<class D , HWY_IF_V_SIZE_GT_D(D, 4) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConcatUpperUpper (D d, VFromD< D > hi, VFromD< D > lo) |
|
template<class D , HWY_IF_V_SIZE_GT_D(D, 4) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConcatLowerUpper (D d, VFromD< D > hi, VFromD< D > lo) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConcatUpperLower (D d, VFromD< D > hi, VFromD< D > lo) |
|
template<class D , typename T = TFromD<D>, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatOdd (D d, Vec128< T > hi, Vec128< T > lo) |
|
template<class D , typename T = TFromD<D>, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec64< T > | hwy::HWY_NAMESPACE::ConcatOdd (D, Vec64< T > hi, Vec64< T > lo) |
|
template<class D , typename T = TFromD<D>, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec32< T > | hwy::HWY_NAMESPACE::ConcatOdd (D d, Vec32< T > hi, Vec32< T > lo) |
|
template<class D , HWY_IF_LANES_D(D, 2) , typename T = TFromD<D>> |
HWY_API Vec128< T, 2 > | hwy::HWY_NAMESPACE::ConcatOdd (D d, Vec128< T, 2 > hi, Vec128< T, 2 > lo) |
|
template<class D , typename T = TFromD<D>, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatEven (D d, Vec128< T > hi, Vec128< T > lo) |
|
template<class D , typename T = TFromD<D>, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec64< T > | hwy::HWY_NAMESPACE::ConcatEven (D, Vec64< T > hi, Vec64< T > lo) |
|
template<class D , typename T = TFromD<D>, HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec32< T > | hwy::HWY_NAMESPACE::ConcatEven (D d, Vec32< T > hi, Vec32< T > lo) |
|
template<class D , HWY_IF_LANES_D(D, 2) , typename T = TFromD<D>> |
HWY_API Vec128< T, 2 > | hwy::HWY_NAMESPACE::ConcatEven (D d, Vec128< T, 2 > hi, Vec128< T, 2 > lo) |
|
template<typename T , size_t N, HWY_IF_T_SIZE_ONE_OF(T,(1<< 1)|(1<< 2)|(1<< 4)) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::DupEven (Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_T_SIZE_ONE_OF(T,(1<< 1)|(1<< 2)|(1<< 4)) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::DupOdd (Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::OddEven (hwy::SizeTag< 1 >, const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::OddEven (hwy::SizeTag< 2 >, const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::OddEven (hwy::SizeTag< 4 >, const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::OddEven (hwy::SizeTag< 8 >, const Vec128< T, N > a, const Vec128< T, N > b) |
|
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) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::OddEven (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_T_SIZE_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::InterleaveEven (D, VFromD< D > a, VFromD< D > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_T_SIZE_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::InterleaveOdd (D, VFromD< D > a, VFromD< D > b) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::OddEvenBlocks (Vec128< T, N >, Vec128< T, N > even) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::SwapAdjacentBlocks (Vec128< T, N > v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReverseBlocks (D, VFromD< D > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_U16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D, VFromD< Rebind< uint8_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_U32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D, VFromD< Rebind< uint16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_U64_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D, VFromD< Rebind< uint32_t, D > > v) |
|
template<class D , class V , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_UI64_D(D) , HWY_IF_LANES_D(D, HWY_MAX_LANES_V(V)) , HWY_IF_UNSIGNED_V(V) , HWY_IF_T_SIZE_ONE_OF_V(V,(1<< 1)|(1<< 2)) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D d, V v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_I16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D, VFromD< Rebind< int8_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_I32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D, VFromD< Rebind< int16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_I64_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D, VFromD< Rebind< int32_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_F32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D df32, VFromD< Rebind< bfloat16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_F64_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D, VFromD< Rebind< float, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_U16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D, VFromD< Repartition< uint8_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_U32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D, VFromD< Repartition< uint16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_U64_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D, VFromD< Repartition< uint32_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_I16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D, VFromD< Repartition< int8_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_I32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D, VFromD< Repartition< int16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_I64_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D, VFromD< Repartition< int32_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_F32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D df32, VFromD< Repartition< float16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_F32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D df32, VFromD< Repartition< bfloat16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_F64_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D dd, VFromD< Repartition< float, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , class V > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteUpperTo (D d, V v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 4) , HWY_IF_U16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D, VFromD< Rebind< int32_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 4) , HWY_IF_U8_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D, VFromD< Rebind< int16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 4) , HWY_IF_U16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D, VFromD< Rebind< uint32_t, D > > v) |
|
template<class D , HWY_IF_U8_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D du8, VFromD< Rebind< uint16_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 4) , HWY_IF_F16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D df16, VFromD< Rebind< double, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_F32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D df32, VFromD< Rebind< int64_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_F32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D df32, VFromD< Rebind< uint64_t, D > > v) |
|
template<class D , HWY_IF_I16_D(D) > |
HWY_API Vec32< int16_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D, Vec32< int32_t > a, Vec32< int32_t > b) |
|
template<class D , HWY_IF_I16_D(D) > |
HWY_API Vec64< int16_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D, Vec64< int32_t > a, Vec64< int32_t > b) |
|
template<class D , HWY_IF_I16_D(D) > |
HWY_API Vec128< int16_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D d16, Vec128< int32_t > a, Vec128< int32_t > b) |
|
template<class D , HWY_IF_U16_D(D) > |
HWY_API Vec32< uint16_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D, Vec32< int32_t > a, Vec32< int32_t > b) |
|
template<class D , HWY_IF_U16_D(D) > |
HWY_API Vec64< uint16_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D, Vec64< int32_t > a, Vec64< int32_t > b) |
|
template<class D , HWY_IF_U16_D(D) > |
HWY_API Vec128< uint16_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D d16, Vec128< int32_t > a, Vec128< int32_t > b) |
|
template<class D , HWY_IF_U16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, Vec128< uint32_t > a, Vec128< uint32_t > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_U16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, VFromD< Repartition< uint32_t, D > > a, VFromD< Repartition< uint32_t, D > > b) |
|
template<class D , HWY_IF_I8_D(D) , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReorderDemote2To (D d8, VFromD< Repartition< int16_t, D > > a, VFromD< Repartition< int16_t, D > > b) |
|
template<class D , HWY_IF_I8_D(D) > |
HWY_API Vec64< int8_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, Vec64< int16_t > a, Vec64< int16_t > b) |
|
template<class D , HWY_IF_I8_D(D) > |
HWY_API Vec128< int8_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D d8, Vec128< int16_t > a, Vec128< int16_t > b) |
|
template<class D , HWY_IF_U8_D(D) > |
HWY_API Vec64< uint8_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, Vec64< int16_t > a, Vec64< int16_t > b) |
|
template<class D , HWY_IF_U8_D(D) > |
HWY_API Vec128< uint8_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D d8, Vec128< int16_t > a, Vec128< int16_t > b) |
|
template<class D , HWY_IF_U8_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, Vec128< uint16_t > a, Vec128< uint16_t > b) |
|
template<class D , HWY_IF_U8_D(D) , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReorderDemote2To (D d8, VFromD< Repartition< uint16_t, D > > a, VFromD< Repartition< uint16_t, D > > b) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::U8FromU32 (Vec128< uint32_t, N > v) |
|
template<typename From , class DTo , HWY_IF_LANES_D(DTo, 1) > |
HWY_API VFromD< DTo > | hwy::HWY_NAMESPACE::TruncateTo (DTo, Vec128< From, 1 > v) |
|
template<class D , HWY_IF_U8_D(D) > |
HWY_API Vec16< uint8_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec128< uint64_t > v) |
|
template<class D , HWY_IF_U16_D(D) > |
HWY_API Vec32< uint16_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec128< uint64_t > v) |
|
template<class D , HWY_IF_U32_D(D) > |
HWY_API Vec64< uint32_t > | hwy::HWY_NAMESPACE::TruncateTo (D, Vec128< uint64_t > v) |
|
template<class D , HWY_IF_U8_D(D) , HWY_IF_LANES_GT_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::TruncateTo (D, VFromD< Rebind< uint32_t, D > > v) |
|
template<class D , HWY_IF_U8_D(D) , HWY_IF_LANES_GT_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::TruncateTo (D, VFromD< Rebind< uint16_t, D > > v) |
|
template<class D , HWY_IF_UNSIGNED_D(D) > |
HWY_INLINE VFromD< Rebind< uint64_t, D > > | hwy::HWY_NAMESPACE::detail::DemoteFromU64MaskOutResult (D, VFromD< Rebind< uint64_t, D > > v) |
|
template<class D > |
HWY_INLINE VFromD< Rebind< uint64_t, D > > | hwy::HWY_NAMESPACE::detail::DemoteFromU64Saturate (D dn, VFromD< Rebind< uint64_t, D > > v) |
|
template<class D , class V > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::detail::ReorderDemote2From64To32Combine (D dn, V a, V b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) , HWY_IF_T_SIZE_D(D, 4) , HWY_IF_NOT_FLOAT_NOR_SPECIAL(TFromD< D >) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, VFromD< Repartition< int64_t, D > > a, VFromD< Repartition< int64_t, D > > b) |
|
template<class D , HWY_IF_U32_D(D) , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReorderDemote2To (D d32, VFromD< Repartition< uint64_t, D > > a, VFromD< Repartition< uint64_t, D > > b) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_I32_D(D) > |
HWY_API Vec128< int32_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, Vec128< int64_t > a, Vec128< int64_t > b) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_U32_D(D) > |
HWY_API Vec128< uint32_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, Vec128< int64_t > a, Vec128< int64_t > b) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) , HWY_IF_U32_D(D) > |
HWY_API Vec128< uint32_t > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dn, Vec128< uint64_t > a, Vec128< uint64_t > b) |
|
template<class D , HWY_IF_NOT_FLOAT_NOR_SPECIAL(TFromD< D >) , class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) , HWY_IF_T_SIZE_V(V, sizeof(TFromD< D >) *2) , HWY_IF_LANES_D(D, HWY_MAX_LANES_D(DFromV< V >) *2) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::OrderedDemote2To (D d, V a, V b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_F32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConvertTo (D, VFromD< Rebind< int32_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_F32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConvertTo (D, VFromD< Rebind< uint32_t, D > > v) |
|
template<class D , HWY_IF_F64_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConvertTo (D dd, VFromD< Rebind< int64_t, D > > v) |
|
template<class VW > |
HWY_INLINE VFromD< Rebind< double, DFromV< VW > > > | hwy::HWY_NAMESPACE::detail::U64ToF64VecFast (VW w) |
|
template<class D , HWY_IF_F64_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConvertTo (D dd, VFromD< Rebind< uint64_t, D > > v) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_I32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConvertTo (D, VFromD< Rebind< float, D > > v) |
|
template<class DI , HWY_IF_I64_D(DI) > |
HWY_API VFromD< DI > | hwy::HWY_NAMESPACE::ConvertTo (DI di, VFromD< Rebind< double, DI > > v) |
|
template<class DU , HWY_IF_U64_D(DU) > |
HWY_API VFromD< DU > | hwy::HWY_NAMESPACE::ConvertTo (DU du, VFromD< Rebind< double, DU > > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::NearestInt (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint64_t, N/8 > | hwy::HWY_NAMESPACE::SumsOf8 (const Vec128< uint8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N/8 > | hwy::HWY_NAMESPACE::SumsOf8 (const Vec128< int8_t, N > v) |
|
template<class D , HWY_IF_T_SIZE_D(D, 1) > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::detail::LoadMaskBits (D d, uint64_t mask_bits) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::LoadMaskBits (D 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<typename T > |
HWY_INLINE uint64_t | hwy::HWY_NAMESPACE::detail::BitsFromMask (hwy::SizeTag< 1 >, Mask128< T > mask) |
|
template<typename T > |
HWY_INLINE uint64_t | hwy::HWY_NAMESPACE::detail::BitsFromMask (hwy::SizeTag< 1 >, const Mask128< T, 8 > mask) |
|
template<typename T , size_t N, HWY_IF_V_SIZE_LE(T, N, 8) > |
HWY_INLINE uint64_t | hwy::HWY_NAMESPACE::detail::BitsFromMask (hwy::SizeTag< 1 >, Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_INLINE uint64_t | hwy::HWY_NAMESPACE::detail::BitsFromMask (hwy::SizeTag< 2 >, Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_INLINE uint64_t | hwy::HWY_NAMESPACE::detail::BitsFromMask (hwy::SizeTag< 4 >, Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_INLINE uint64_t | hwy::HWY_NAMESPACE::detail::BitsFromMask (hwy::SizeTag< 8 >, Mask128< T, N > mask) |
|
template<typename T , size_t N> |
constexpr uint64_t | hwy::HWY_NAMESPACE::detail::OnlyActive (uint64_t bits) |
|
template<size_t N> |
constexpr __i8x16 | hwy::HWY_NAMESPACE::detail::BytesAbove () |
|
template<typename T , size_t N> |
HWY_INLINE uint64_t | hwy::HWY_NAMESPACE::detail::BitsFromMask (Mask128< T, N > mask) |
|
template<typename T > |
HWY_INLINE size_t | hwy::HWY_NAMESPACE::detail::CountTrue (hwy::SizeTag< 1 >, Mask128< T > mask) |
|
template<typename T > |
HWY_INLINE size_t | hwy::HWY_NAMESPACE::detail::CountTrue (hwy::SizeTag< 2 >, Mask128< T > mask) |
|
template<typename T > |
HWY_INLINE size_t | hwy::HWY_NAMESPACE::detail::CountTrue (hwy::SizeTag< 4 >, Mask128< T > mask) |
|
template<typename T > |
HWY_INLINE size_t | hwy::HWY_NAMESPACE::detail::CountTrue (hwy::SizeTag< 8 >, Mask128< T > mask) |
|
template<class D > |
HWY_API size_t | hwy::HWY_NAMESPACE::StoreMaskBits (D d, MFromD< D > mask, uint8_t *bits) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CountTrue (D d, MFromD< D > mask) |
|
template<class D , typename T = TFromD<D>, HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CountTrue (D d, MFromD< D > m) |
|
template<class D , HWY_IF_V_SIZE_D(D, 16) > |
HWY_API bool | hwy::HWY_NAMESPACE::AllFalse (D d, MFromD< D > mask) |
|
template<typename T > |
HWY_INLINE bool | hwy::HWY_NAMESPACE::detail::AllTrue (hwy::SizeTag< 1 >, const Mask128< T > m) |
|
template<typename T > |
HWY_INLINE bool | hwy::HWY_NAMESPACE::detail::AllTrue (hwy::SizeTag< 2 >, const Mask128< T > m) |
|
template<typename T > |
HWY_INLINE bool | hwy::HWY_NAMESPACE::detail::AllTrue (hwy::SizeTag< 4 >, const Mask128< T > m) |
|
template<typename T > |
HWY_INLINE bool | hwy::HWY_NAMESPACE::detail::AllTrue (hwy::SizeTag< 8 >, const Mask128< T > m) |
|
template<class D , typename T = TFromD<D>> |
HWY_API bool | hwy::HWY_NAMESPACE::AllTrue (D d, Mask128< T > m) |
|
template<class D , typename T = TFromD<D>, HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API bool | hwy::HWY_NAMESPACE::AllFalse (D d, const MFromD< D > m) |
|
template<class D , typename T = TFromD<D>, HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API bool | hwy::HWY_NAMESPACE::AllTrue (D d, const MFromD< D > m) |
|
template<class D > |
HWY_API size_t | hwy::HWY_NAMESPACE::FindKnownFirstTrue (D d, MFromD< D > mask) |
|
template<class D > |
HWY_API intptr_t | hwy::HWY_NAMESPACE::FindFirstTrue (D d, MFromD< D > mask) |
|
template<class D > |
HWY_API size_t | hwy::HWY_NAMESPACE::FindKnownLastTrue (D d, MFromD< D > mask) |
|
template<class D > |
HWY_API intptr_t | hwy::HWY_NAMESPACE::FindLastTrue (D d, MFromD< D > mask) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 2) > |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IdxFromBits (const uint64_t mask_bits) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 2) > |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IdxFromNotBits (const uint64_t mask_bits) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::Compress (Vec128< T, N > v, uint64_t mask_bits) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::CompressNot (Vec128< T, N > v, uint64_t mask_bits) |
|
template<typename T > |
HWY_API Vec128< T, 1 > | hwy::HWY_NAMESPACE::Compress (Vec128< T, 1 > v, Mask128< T, 1 >) |
|
template<typename T , HWY_IF_T_SIZE(T, 8) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Compress (Vec128< T > v, Mask128< T > mask) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 8) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Compress (Vec128< T, N > v, Mask128< T, N > mask) |
|
template<typename T > |
HWY_API Vec128< T, 1 > | hwy::HWY_NAMESPACE::CompressNot (Vec128< T, 1 > v, Mask128< T, 1 >) |
|
template<typename T , HWY_IF_T_SIZE(T, 8) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::CompressNot (Vec128< T > v, Mask128< T > mask) |
|
template<typename T , size_t N, HWY_IF_T_SIZE_ONE_OF(T,(1<< 2)|(1<< 4)) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::CompressNot (Vec128< T, N > v, Mask128< T, N > mask) |
|
HWY_API Vec128< uint64_t > | hwy::HWY_NAMESPACE::CompressBlocksNot (Vec128< uint64_t > v, Mask128< uint64_t >) |
|
template<typename T , size_t N, HWY_IF_NOT_T_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::CompressBits (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits) |
|
template<class D , HWY_IF_NOT_T_SIZE_D(D, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressStore (VFromD< D > v, MFromD< D > mask, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_NOT_T_SIZE_D(D, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBlendedStore (VFromD< D > v, MFromD< D > m, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_NOT_T_SIZE_D(D, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBitsStore (VFromD< D > v, const uint8_t *HWY_RESTRICT bits, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class T > |
HWY_API Mask128< T, 1 > | hwy::HWY_NAMESPACE::SetAtOrAfterFirst (Mask128< T, 1 > mask) |
|
template<class T > |
HWY_API Mask128< T, 2 > | hwy::HWY_NAMESPACE::SetAtOrAfterFirst (Mask128< T, 2 > mask) |
|
template<class T , size_t N, HWY_IF_LANES_GT(N, 2) , HWY_IF_V_SIZE_LE(T, N, 8) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::SetAtOrAfterFirst (Mask128< T, N > mask) |
|
template<class T , HWY_IF_NOT_T_SIZE(T, 8) > |
HWY_API Mask128< T > | hwy::HWY_NAMESPACE::SetAtOrAfterFirst (Mask128< T > mask) |
|
template<class T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::SetBeforeFirst (Mask128< T, N > mask) |
|
template<class T > |
HWY_API Mask128< T, 1 > | hwy::HWY_NAMESPACE::SetOnlyFirst (Mask128< T, 1 > mask) |
|
template<class T > |
HWY_API Mask128< T, 2 > | hwy::HWY_NAMESPACE::SetOnlyFirst (Mask128< T, 2 > mask) |
|
template<class T , size_t N, HWY_IF_LANES_GT(N, 2) , HWY_IF_V_SIZE_LE(T, N, 8) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::SetOnlyFirst (Mask128< T, N > mask) |
|
template<class T , HWY_IF_NOT_T_SIZE(T, 8) > |
HWY_API Mask128< T > | hwy::HWY_NAMESPACE::SetOnlyFirst (Mask128< T > mask) |
|
template<class T > |
HWY_API Mask128< T, 1 > | hwy::HWY_NAMESPACE::SetAtOrBeforeFirst (Mask128< T, 1 >) |
|
template<class T , size_t N, HWY_IF_LANES_GT(N, 1) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::SetAtOrBeforeFirst (Mask128< T, N > mask) |
|
template<class T , HWY_IF_UI64(T) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::MulEven (Vec128< T > a, Vec128< T > b) |
|
template<class T , HWY_IF_UI64(T) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::MulOdd (Vec128< T > a, Vec128< T > b) |
|
template<class T , HWY_IF_UI64(T) > |
HWY_API Vec64< T > | hwy::HWY_NAMESPACE::MulHigh (Vec64< T > a, Vec64< T > b) |
|
template<class T , HWY_IF_UI64(T) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::MulHigh (Vec128< T > a, Vec128< T > b) |
|
template<class D32 , HWY_IF_F32_D(D32) , class V16 = VFromD<Repartition<bfloat16_t, D32>>> |
HWY_API VFromD< D32 > | hwy::HWY_NAMESPACE::WidenMulPairwiseAdd (D32 df32, V16 a, V16 b) |
|
template<class D32 , HWY_IF_F32_D(D32) , class V16 = VFromD<Repartition<bfloat16_t, D32>>> |
HWY_API VFromD< D32 > | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (D32 df32, V16 a, V16 b, const VFromD< D32 > sum0, VFromD< D32 > &sum1) |
|
template<class D32 , HWY_IF_I32_D(D32) , HWY_IF_V_SIZE_LE_D(D32, 16) , class V16 = VFromD<RepartitionToNarrow<D32>>> |
HWY_API VFromD< D32 > | hwy::HWY_NAMESPACE::WidenMulPairwiseAdd (D32, V16 a, V16 b) |
|
template<class DU32 , HWY_IF_U32_D(DU32) , HWY_IF_V_SIZE_LE_D(DU32, 16) , class VU16 = VFromD<RepartitionToNarrow<DU32>>> |
HWY_API VFromD< DU32 > | hwy::HWY_NAMESPACE::WidenMulPairwiseAdd (DU32 du32, VU16 a, VU16 b) |
|
template<class D32 , HWY_IF_I32_D(D32) , HWY_IF_V_SIZE_LE_D(D32, 16) , class V16 = VFromD<RepartitionToNarrow<D32>>> |
HWY_API VFromD< D32 > | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (D32 d, V16 a, V16 b, const VFromD< D32 > sum0, VFromD< D32 > &) |
|
template<class DU32 , HWY_IF_U32_D(DU32) , HWY_IF_V_SIZE_LE_D(DU32, 16) , class VU16 = VFromD<RepartitionToNarrow<DU32>>> |
HWY_API VFromD< DU32 > | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (DU32 d, VU16 a, VU16 b, const VFromD< DU32 > sum0, VFromD< DU32 > &) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::RearrangeToOddPlusEven (Vec128< int32_t, N > sum0, Vec128< int32_t, N >) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::RearrangeToOddPlusEven (Vec128< uint32_t, N > sum0, Vec128< uint32_t, N >) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::RearrangeToOddPlusEven (Vec128< float, N > sum0, Vec128< float, N > sum1) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_U64_D(D) > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::Lt128 (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::Lt128Upper (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_U64_D(D) > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::Eq128 (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::Eq128Upper (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) , HWY_IF_U64_D(D) > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::Ne128 (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::Ne128Upper (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::Min128 (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::Max128 (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::Min128Upper (D d, VFromD< D > a, VFromD< D > b) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::Max128Upper (D d, VFromD< D > a, VFromD< D > b) |
|
| HWY_AFTER_NAMESPACE () |
|