|
| HWY_BEFORE_NAMESPACE () |
|
HWY_INLINE __m128i | hwy::HWY_NAMESPACE::detail::BitCastToInteger (__m128i v) |
|
HWY_INLINE __m128i | hwy::HWY_NAMESPACE::detail::BitCastToInteger (__m128 v) |
|
HWY_INLINE __m128i | hwy::HWY_NAMESPACE::detail::BitCastToInteger (__m128d 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<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::BitCastFromByte (Simd< T, N >, Vec128< uint8_t, N *sizeof(T)> v) |
|
template<typename T , size_t N, typename FromT > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::BitCast (Simd< T, N > d, Vec128< FromT, N *sizeof(T)/sizeof(FromT)> v) |
|
template<typename T , size_t N, HWY_IF_LE128(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Zero (Simd< T, N >) |
|
template<size_t N, HWY_IF_LE128(float, N) > |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Zero (Simd< float, N >) |
|
template<size_t N, HWY_IF_LE128(double, N) > |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Zero (Simd< double, N >) |
|
template<size_t N, HWY_IF_LE128(uint8_t, N) > |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::Set (Simd< uint8_t, N >, const uint8_t t) |
|
template<size_t N, HWY_IF_LE128(uint16_t, N) > |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::Set (Simd< uint16_t, N >, const uint16_t t) |
|
template<size_t N, HWY_IF_LE128(uint32_t, N) > |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::Set (Simd< uint32_t, N >, const uint32_t t) |
|
template<size_t N, HWY_IF_LE128(uint64_t, N) > |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::Set (Simd< uint64_t, N >, const uint64_t t) |
|
template<size_t N, HWY_IF_LE128(int8_t, N) > |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::Set (Simd< int8_t, N >, const int8_t t) |
|
template<size_t N, HWY_IF_LE128(int16_t, N) > |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::Set (Simd< int16_t, N >, const int16_t t) |
|
template<size_t N, HWY_IF_LE128(int32_t, N) > |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::Set (Simd< int32_t, N >, const int32_t t) |
|
template<size_t N, HWY_IF_LE128(int64_t, N) > |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::Set (Simd< int64_t, N >, const int64_t t) |
|
template<size_t N, HWY_IF_LE128(float, N) > |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Set (Simd< float, N >, const float t) |
|
template<size_t N, HWY_IF_LE128(double, N) > |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Set (Simd< double, N >, const double t) |
|
template<typename T , size_t N, HWY_IF_LE128(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Undefined (Simd< T, N > d) |
|
template<size_t N, HWY_IF_LE128(float, N) > |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Undefined (Simd< float, N >) |
|
template<size_t N, HWY_IF_LE128(double, N) > |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Undefined (Simd< double, N >) |
|
template<size_t N> |
HWY_API uint8_t | hwy::HWY_NAMESPACE::GetLane (const Vec128< uint8_t, N > v) |
|
template<size_t N> |
HWY_API int8_t | hwy::HWY_NAMESPACE::GetLane (const Vec128< int8_t, N > v) |
|
template<size_t N> |
HWY_API uint16_t | hwy::HWY_NAMESPACE::GetLane (const Vec128< uint16_t, N > v) |
|
template<size_t N> |
HWY_API int16_t | hwy::HWY_NAMESPACE::GetLane (const Vec128< int16_t, N > v) |
|
template<size_t N> |
HWY_API uint32_t | hwy::HWY_NAMESPACE::GetLane (const Vec128< uint32_t, N > v) |
|
template<size_t N> |
HWY_API int32_t | hwy::HWY_NAMESPACE::GetLane (const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API float | hwy::HWY_NAMESPACE::GetLane (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API uint64_t | hwy::HWY_NAMESPACE::GetLane (const Vec128< uint64_t, N > v) |
|
template<size_t N> |
HWY_API int64_t | hwy::HWY_NAMESPACE::GetLane (const Vec128< int64_t, N > v) |
|
template<size_t N> |
HWY_API double | hwy::HWY_NAMESPACE::GetLane (const Vec128< double, 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<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::And (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::And (const Vec128< double, N > a, const Vec128< double, N > b) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::AndNot (Vec128< T, N > not_mask, Vec128< T, N > mask) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::AndNot (const Vec128< float, N > not_mask, const Vec128< float, N > mask) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::AndNot (const Vec128< double, N > not_mask, const Vec128< double, N > mask) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Or (Vec128< T, N > a, Vec128< T, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Or (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Or (const Vec128< double, N > a, const Vec128< double, 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<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Xor (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Xor (const Vec128< double, N > a, const Vec128< double, N > b) |
|
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::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_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::PopulationCount (hwy::SizeTag< 1 >, Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::PopulationCount (hwy::SizeTag< 2 >, Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::PopulationCount (hwy::SizeTag< 4 >, Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::PopulationCount (hwy::SizeTag< 8 >, Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::PopulationCount (Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Neg (const Vec128< T, N > v) |
|
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< 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<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::CopySign (const Vec128< T, N > magn, const Vec128< T, N > sign) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::CopySignToAbs (const Vec128< T, N > abs, const Vec128< T, N > sign) |
|
template<typename T , size_t N, HWY_IF_LE128(T, N) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::FirstN (const Simd< T, N >, size_t n) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenElse (hwy::SizeTag< 1 >, Mask128< T, N > mask, Vec128< T, N > yes, Vec128< T, N > no) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenElse (hwy::SizeTag< 2 >, Mask128< T, N > mask, Vec128< T, N > yes, Vec128< T, N > no) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenElse (hwy::SizeTag< 4 >, Mask128< T, N > mask, Vec128< T, N > yes, Vec128< T, N > no) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenElse (hwy::SizeTag< 8 >, 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::IfThenElse (Mask128< T, N > mask, Vec128< T, N > yes, Vec128< T, N > no) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::IfThenElse (Mask128< float, N > mask, Vec128< float, N > yes, Vec128< float, N > no) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::IfThenElse (Mask128< double, N > mask, Vec128< double, N > yes, Vec128< double, N > no) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenElseZero (hwy::SizeTag< 1 >, Mask128< T, N > mask, Vec128< T, N > yes) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenElseZero (hwy::SizeTag< 2 >, Mask128< T, N > mask, Vec128< T, N > yes) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenElseZero (hwy::SizeTag< 4 >, Mask128< T, N > mask, Vec128< T, N > yes) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenElseZero (hwy::SizeTag< 8 >, Mask128< T, N > mask, Vec128< T, N > yes) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::IfThenElseZero (const Mask128< T, N > mask, const Vec128< T, N > yes) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::IfThenElseZero (Mask128< float, N > mask, Vec128< float, N > yes) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::IfThenElseZero (Mask128< double, N > mask, Vec128< double, N > yes) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenZeroElse (hwy::SizeTag< 1 >, Mask128< T, N > mask, Vec128< T, N > no) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenZeroElse (hwy::SizeTag< 2 >, Mask128< T, N > mask, Vec128< T, N > no) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenZeroElse (hwy::SizeTag< 4 >, Mask128< T, N > mask, Vec128< T, N > no) |
|
template<typename T , size_t N> |
HWY_INLINE Vec128< T, N > | hwy::HWY_NAMESPACE::detail::IfThenZeroElse (hwy::SizeTag< 8 >, Mask128< T, N > mask, Vec128< T, N > no) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::IfThenZeroElse (const Mask128< T, N > mask, const Vec128< T, N > no) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::IfThenZeroElse (Mask128< float, N > mask, Vec128< float, N > no) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::IfThenZeroElse (Mask128< double, N > mask, Vec128< double, N > no) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::And (hwy::SizeTag< 1 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::And (hwy::SizeTag< 2 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::And (hwy::SizeTag< 4 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::And (hwy::SizeTag< 8 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::AndNot (hwy::SizeTag< 1 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::AndNot (hwy::SizeTag< 2 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::AndNot (hwy::SizeTag< 4 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::AndNot (hwy::SizeTag< 8 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::Or (hwy::SizeTag< 1 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::Or (hwy::SizeTag< 2 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::Or (hwy::SizeTag< 4 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::Or (hwy::SizeTag< 8 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::Xor (hwy::SizeTag< 1 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::Xor (hwy::SizeTag< 2 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::Xor (hwy::SizeTag< 4 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::Xor (hwy::SizeTag< 8 >, const Mask128< T, N > a, const Mask128< T, N > b) |
|
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::Not (const Mask128< T, N > m) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::Shuffle2301 (const Vec128< uint32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::Shuffle2301 (const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Shuffle2301 (const Vec128< float, N > v) |
|
HWY_API Vec128< uint32_t > | hwy::HWY_NAMESPACE::Shuffle1032 (const Vec128< uint32_t > v) |
|
HWY_API Vec128< int32_t > | hwy::HWY_NAMESPACE::Shuffle1032 (const Vec128< int32_t > v) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::Shuffle1032 (const Vec128< float > v) |
|
HWY_API Vec128< uint64_t > | hwy::HWY_NAMESPACE::Shuffle01 (const Vec128< uint64_t > v) |
|
HWY_API Vec128< int64_t > | hwy::HWY_NAMESPACE::Shuffle01 (const Vec128< int64_t > v) |
|
HWY_API Vec128< double > | hwy::HWY_NAMESPACE::Shuffle01 (const Vec128< double > v) |
|
HWY_API Vec128< uint32_t > | hwy::HWY_NAMESPACE::Shuffle0321 (const Vec128< uint32_t > v) |
|
HWY_API Vec128< int32_t > | hwy::HWY_NAMESPACE::Shuffle0321 (const Vec128< int32_t > v) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::Shuffle0321 (const Vec128< float > v) |
|
HWY_API Vec128< uint32_t > | hwy::HWY_NAMESPACE::Shuffle2103 (const Vec128< uint32_t > v) |
|
HWY_API Vec128< int32_t > | hwy::HWY_NAMESPACE::Shuffle2103 (const Vec128< int32_t > v) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::Shuffle2103 (const Vec128< float > v) |
|
HWY_API Vec128< uint32_t > | hwy::HWY_NAMESPACE::Shuffle0123 (const Vec128< uint32_t > v) |
|
HWY_API Vec128< int32_t > | hwy::HWY_NAMESPACE::Shuffle0123 (const Vec128< int32_t > v) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::Shuffle0123 (const Vec128< float > v) |
|
template<typename TFrom , size_t NFrom, typename TTo , size_t NTo> |
HWY_API Mask128< TTo, NTo > | hwy::HWY_NAMESPACE::RebindMask (Simd< TTo, NTo >, Mask128< TFrom, NFrom > m) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::TestBit (hwy::SizeTag< 1 >, const Vec128< T, N > v, const Vec128< T, N > bit) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::TestBit (hwy::SizeTag< 2 >, const Vec128< T, N > v, const Vec128< T, N > bit) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::TestBit (hwy::SizeTag< 4 >, const Vec128< T, N > v, const Vec128< T, N > bit) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::TestBit (hwy::SizeTag< 8 >, const Vec128< T, N > v, const Vec128< T, N > bit) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::TestBit (Vec128< T, N > v, Vec128< T, N > bit) |
|
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::operator== (const Vec128< T, N > a, const Vec128< T, N > b) |
|
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== (Vec128< double, N > a, Vec128< double, N > b) |
|
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::operator!= (const Vec128< T, N > a, const Vec128< T, N > b) |
|
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!= (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< 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> (Vec128< double, N > a, Vec128< double, 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>= (Vec128< double, N > a, Vec128< double, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::MaskFromVec (hwy::SizeTag< 1 >, const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::MaskFromVec (hwy::SizeTag< 2 >, const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::MaskFromVec (hwy::SizeTag< 4 >, const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::MaskFromVec (hwy::SizeTag< 8 >, 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<size_t N> |
HWY_API Mask128< float, N > | hwy::HWY_NAMESPACE::MaskFromVec (const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Mask128< double, N > | hwy::HWY_NAMESPACE::MaskFromVec (const Vec128< double, N > v) |
|
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::VecFromMask (const Mask128< T, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::VecFromMask (const Mask128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::VecFromMask (const Mask128< double, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::VecFromMask (Simd< T, N > d, const Mask128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::operator< (const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<typename T , size_t N> |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::operator<= (Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Load (Full128< T >, const T *HWY_RESTRICT aligned) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::Load (Full128< float >, const float *HWY_RESTRICT aligned) |
|
HWY_API Vec128< double > | hwy::HWY_NAMESPACE::Load (Full128< double >, const double *HWY_RESTRICT aligned) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::LoadU (Full128< T >, const T *HWY_RESTRICT p) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::LoadU (Full128< float >, const float *HWY_RESTRICT unaligned) |
|
HWY_API Vec128< double > | hwy::HWY_NAMESPACE::LoadU (Full128< double >, const double *HWY_RESTRICT p) |
|
template<typename T > |
HWY_API Vec128< T, 8/sizeof(T)> | hwy::HWY_NAMESPACE::Load (Simd< T, 8/sizeof(T)>, const T *HWY_RESTRICT p) |
|
HWY_API Vec128< float, 2 > | hwy::HWY_NAMESPACE::Load (Simd< float, 2 >, const float *HWY_RESTRICT p) |
|
HWY_API Vec128< double, 1 > | hwy::HWY_NAMESPACE::Load (Simd< double, 1 >, const double *HWY_RESTRICT p) |
|
HWY_API Vec128< float, 1 > | hwy::HWY_NAMESPACE::Load (Simd< float, 1 >, const float *HWY_RESTRICT p) |
|
template<typename T , size_t N, HWY_IF_LE64(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Load (Simd< T, N >, const T *HWY_RESTRICT p) |
|
template<typename T , size_t N, HWY_IF_LE64(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::LoadU (Simd< T, N > d, const T *HWY_RESTRICT p) |
|
template<typename T , size_t N, HWY_IF_LE128(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::LoadDup128 (Simd< T, N > d, const T *const HWY_RESTRICT p) |
|
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 4) , HWY_IF_LE128(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::MaskedLoad (Mask128< T, N > m, Simd< T, N >, const T *HWY_RESTRICT aligned) |
|
template<size_t N, HWY_IF_LE128(float, N) > |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::MaskedLoad (Mask128< float, N > m, Simd< float, N >, const float *HWY_RESTRICT aligned) |
|
template<size_t N, HWY_IF_LE128(double, N) > |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::MaskedLoad (Mask128< double, N > m, Simd< double, N >, const double *HWY_RESTRICT aligned) |
|
template<typename T > |
HWY_API void | hwy::HWY_NAMESPACE::Store (Vec128< T > v, Full128< T >, T *HWY_RESTRICT aligned) |
|
HWY_API void | hwy::HWY_NAMESPACE::Store (const Vec128< float > v, Full128< float >, float *HWY_RESTRICT aligned) |
|
HWY_API void | hwy::HWY_NAMESPACE::Store (const Vec128< double > v, Full128< double >, double *HWY_RESTRICT aligned) |
|
template<typename T > |
HWY_API void | hwy::HWY_NAMESPACE::StoreU (Vec128< T > v, Full128< T >, T *HWY_RESTRICT p) |
|
HWY_API void | hwy::HWY_NAMESPACE::StoreU (const Vec128< float > v, Full128< float >, float *HWY_RESTRICT unaligned) |
|
HWY_API void | hwy::HWY_NAMESPACE::StoreU (const Vec128< double > v, Full128< double >, double *HWY_RESTRICT p) |
|
template<typename T > |
HWY_API void | hwy::HWY_NAMESPACE::Store (Vec128< T, 8/sizeof(T)> v, Simd< T, 8/sizeof(T)>, T *HWY_RESTRICT p) |
|
HWY_API void | hwy::HWY_NAMESPACE::Store (const Vec128< float, 2 > v, Simd< float, 2 >, float *HWY_RESTRICT p) |
|
HWY_API void | hwy::HWY_NAMESPACE::Store (const Vec128< double, 1 > v, Simd< double, 1 >, double *HWY_RESTRICT p) |
|
template<typename T , size_t N, HWY_IF_LE64(T, N) > |
HWY_API void | hwy::HWY_NAMESPACE::Store (Vec128< T, N > v, Simd< T, N >, T *HWY_RESTRICT p) |
|
HWY_API void | hwy::HWY_NAMESPACE::Store (const Vec128< float, 1 > v, Simd< float, 1 >, float *HWY_RESTRICT p) |
|
template<typename T , size_t N, HWY_IF_LE64(T, N) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreU (const Vec128< T, N > v, Simd< T, N > d, T *HWY_RESTRICT p) |
|
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< 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< 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< 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< uint64_t,(N+1)/2 > | hwy::HWY_NAMESPACE::MulEven (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b) |
|
template<size_t N, HWY_IF_LE64(int32_t, N) > |
HWY_API Vec128< int64_t,(N+1)/2 > | hwy::HWY_NAMESPACE::MulEven (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b) |
|
HWY_API Vec128< int64_t > | hwy::HWY_NAMESPACE::MulEven (Vec128< int32_t > a, Vec128< int32_t > 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< int32_t, N > | hwy::HWY_NAMESPACE::operator* (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b) |
|
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< 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< int16_t, N > | hwy::HWY_NAMESPACE::ShiftLeft (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, typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeft (const Vec128< T, N > v) |
|
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::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< uint8_t, N > | hwy::HWY_NAMESPACE::ShiftRight (const Vec128< uint8_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::ShiftRight (const Vec128< int32_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<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec128< int8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec128< int16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec128< int64_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::Abs (const Vec128< int64_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<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ZeroIfNegative (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< uint32_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (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< int16_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (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< int64_t, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec128< int64_t, N > v, const int bits) |
|
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 1) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeftSame (const Vec128< 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::ShiftRightSame (const Vec128< uint32_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< uint8_t, N > | hwy::HWY_NAMESPACE::ShiftRightSame (Vec128< uint8_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::ShiftRightSame (const Vec128< int32_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<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< float, N > | hwy::HWY_NAMESPACE::operator* (Vec128< float, N > a, Vec128< float, N > b) |
|
HWY_API Vec128< float, 1 > | hwy::HWY_NAMESPACE::operator* (const Vec128< float, 1 > a, const Vec128< float, 1 > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::operator* (const Vec128< double, N > a, const Vec128< double, N > b) |
|
HWY_API Vec128< double, 1 > | hwy::HWY_NAMESPACE::operator* (const Vec128< double, 1 > a, const Vec128< double, 1 > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::operator/ (const Vec128< float, N > a, const Vec128< float, N > b) |
|
HWY_API Vec128< float, 1 > | hwy::HWY_NAMESPACE::operator/ (const Vec128< float, 1 > a, const Vec128< float, 1 > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::operator/ (const Vec128< double, N > a, const Vec128< double, N > b) |
|
HWY_API Vec128< double, 1 > | hwy::HWY_NAMESPACE::operator/ (const Vec128< double, 1 > a, const Vec128< double, 1 > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::ApproximateReciprocal (const Vec128< float, N > v) |
|
HWY_API Vec128< float, 1 > | hwy::HWY_NAMESPACE::ApproximateReciprocal (const Vec128< float, 1 > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::AbsDiff (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::MulAdd (const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > add) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::MulAdd (const Vec128< double, N > mul, const Vec128< double, N > x, const Vec128< double, N > add) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::NegMulAdd (const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > add) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::NegMulAdd (const Vec128< double, N > mul, const Vec128< double, N > x, const Vec128< double, N > add) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::MulSub (const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > sub) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::MulSub (const Vec128< double, N > mul, const Vec128< double, N > x, const Vec128< double, N > sub) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::NegMulSub (const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > sub) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::NegMulSub (const Vec128< double, N > mul, const Vec128< double, N > x, const Vec128< double, N > sub) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Sqrt (const Vec128< float, N > v) |
|
HWY_API Vec128< float, 1 > | hwy::HWY_NAMESPACE::Sqrt (const Vec128< float, 1 > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Sqrt (const Vec128< double, N > v) |
|
HWY_API Vec128< double, 1 > | hwy::HWY_NAMESPACE::Sqrt (const Vec128< double, 1 > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt (const Vec128< float, N > v) |
|
HWY_API Vec128< float, 1 > | hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt (const Vec128< float, 1 > v) |
|
template<typename T , size_t N> |
HWY_INLINE HWY_MAYBE_UNUSED Vec128< T, N > | hwy::HWY_NAMESPACE::detail::MinU (const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::Min (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::Min (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::Min (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::Min (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::Min (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::Min (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::Min (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::Min (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Min (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Min (const Vec128< double, N > a, const Vec128< double, N > b) |
|
template<typename T , size_t N> |
HWY_INLINE HWY_MAYBE_UNUSED Vec128< T, N > | hwy::HWY_NAMESPACE::detail::MaxU (const Vec128< T, N > a, const Vec128< T, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::Max (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::Max (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::Max (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::Max (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::Max (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::Max (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::Max (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::Max (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Max (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Max (const Vec128< double, N > a, const Vec128< double, N > b) |
|
template<typename T , size_t N> |
HWY_API void | hwy::HWY_NAMESPACE::Stream (const Vec128< T, N > v, Simd< T, N > d, T *HWY_RESTRICT aligned) |
|
template<size_t N> |
HWY_API void | hwy::HWY_NAMESPACE::Stream (const Vec128< float, N > v, Simd< float, N >, float *HWY_RESTRICT aligned) |
|
template<size_t N> |
HWY_API void | hwy::HWY_NAMESPACE::Stream (const Vec128< double, N > v, Simd< double, N >, double *HWY_RESTRICT aligned) |
|
template<typename T , size_t N> |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::ScatterOffset (hwy::SizeTag< 4 >, Vec128< T, N > v, Simd< T, N >, T *HWY_RESTRICT base, const Vec128< int32_t, N > offset) |
|
template<typename T , size_t N> |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::ScatterIndex (hwy::SizeTag< 4 >, Vec128< T, N > v, Simd< T, N >, T *HWY_RESTRICT base, const Vec128< int32_t, N > index) |
|
template<typename T , size_t N> |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::ScatterOffset (hwy::SizeTag< 8 >, Vec128< T, N > v, Simd< T, N >, T *HWY_RESTRICT base, const Vec128< int64_t, N > offset) |
|
template<typename T , size_t N> |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::ScatterIndex (hwy::SizeTag< 8 >, Vec128< T, N > v, Simd< T, N >, T *HWY_RESTRICT base, const Vec128< int64_t, N > index) |
|
template<typename T , size_t N, typename Offset > |
HWY_API void | hwy::HWY_NAMESPACE::ScatterOffset (Vec128< T, N > v, Simd< T, N > d, T *HWY_RESTRICT base, const Vec128< Offset, N > offset) |
|
template<typename T , size_t N, typename Index > |
HWY_API void | hwy::HWY_NAMESPACE::ScatterIndex (Vec128< T, N > v, Simd< T, N > d, T *HWY_RESTRICT base, const Vec128< Index, N > index) |
|
template<size_t N> |
HWY_API void | hwy::HWY_NAMESPACE::ScatterOffset (Vec128< float, N > v, Simd< float, N >, float *HWY_RESTRICT base, const Vec128< int32_t, N > offset) |
|
template<size_t N> |
HWY_API void | hwy::HWY_NAMESPACE::ScatterIndex (Vec128< float, N > v, Simd< float, N >, float *HWY_RESTRICT base, const Vec128< int32_t, N > index) |
|
template<size_t N> |
HWY_API void | hwy::HWY_NAMESPACE::ScatterOffset (Vec128< double, N > v, Simd< double, N >, double *HWY_RESTRICT base, const Vec128< int64_t, N > offset) |
|
template<size_t N> |
HWY_API void | hwy::HWY_NAMESPACE::ScatterIndex (Vec128< double, N > v, Simd< double, N >, double *HWY_RESTRICT base, const Vec128< int64_t, N > index) |
|
template<typename T , size_t N, typename Offset > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::GatherOffset (const Simd< T, N > d, const T *HWY_RESTRICT base, const Vec128< Offset, N > offset) |
|
template<typename T , size_t N, typename Index > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::GatherIndex (const Simd< T, N > d, const T *HWY_RESTRICT base, const Vec128< Index, N > index) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N/2 > | hwy::HWY_NAMESPACE::LowerHalf (Simd< T, N/2 >, Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N/2 > | hwy::HWY_NAMESPACE::LowerHalf (Vec128< T, N > v) |
|
template<int kBytes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeftBytes (Simd< T, N >, Vec128< T, N > v) |
|
template<int kBytes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeftBytes (const Vec128< T, N > v) |
|
template<int kLanes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeftLanes (Simd< T, N > d, const Vec128< T, N > v) |
|
template<int kLanes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftLeftLanes (const Vec128< T, N > v) |
|
template<int kBytes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftRightBytes (Simd< T, N >, Vec128< T, N > v) |
|
template<int kLanes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftRightLanes (Simd< T, N > d, const Vec128< T, N > v) |
|
template<typename T > |
HWY_API Vec128< T, 8/sizeof(T)> | hwy::HWY_NAMESPACE::UpperHalf (Half< Full128< T >>, const Vec128< T > v) |
|
HWY_API Vec128< float, 2 > | hwy::HWY_NAMESPACE::UpperHalf (Simd< float, 2 >, const Vec128< float > v) |
|
HWY_API Vec128< double, 1 > | hwy::HWY_NAMESPACE::UpperHalf (Simd< double, 1 >, Vec128< double > v) |
|
template<typename T , size_t N, HWY_IF_LE64(T, N) > |
HWY_API Vec128< T,(N+1)/2 > | hwy::HWY_NAMESPACE::UpperHalf (Half< Simd< T, N >>, Vec128< T, N > v) |
|
template<int kBytes, typename T , class V = Vec128<T>> |
HWY_API V | hwy::HWY_NAMESPACE::CombineShiftRightBytes (Full128< T >, V hi, V lo) |
|
template<int kBytes, typename T , size_t N, HWY_IF_LE64(T, N) , class V = Vec128<T, N>> |
HWY_API V | hwy::HWY_NAMESPACE::CombineShiftRightBytes (Simd< T, N > d, V hi, V lo) |
|
template<int kLane, size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< uint16_t, N > v) |
|
template<int kLane, size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< uint32_t, N > v) |
|
template<int kLane, size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< uint64_t, N > v) |
|
template<int kLane, size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< int16_t, N > v) |
|
template<int kLane, size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< int32_t, N > v) |
|
template<int kLane, size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< int64_t, N > v) |
|
template<int kLane, size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< float, N > v) |
|
template<int kLane, size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Broadcast (const Vec128< double, N > v) |
|
template<typename T , size_t N, typename TI , size_t NI> |
HWY_API Vec128< TI, NI > | hwy::HWY_NAMESPACE::TableLookupBytes (const Vec128< T, N > bytes, const Vec128< TI, NI > from) |
|
template<class V , class VI > |
HWY_API VI | hwy::HWY_NAMESPACE::TableLookupBytesOr0 (const V bytes, const VI from) |
|
template<typename T , size_t N, HWY_IF_LE128(T, N) > |
HWY_API Indices128< T, N > | hwy::HWY_NAMESPACE::SetTableIndices (Simd< T, N > d, const int32_t *idx) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::TableLookupLanes (const Vec128< uint32_t, N > v, const Indices128< uint32_t, N > idx) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::TableLookupLanes (const Vec128< int32_t, N > v, const Indices128< int32_t, N > idx) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::TableLookupLanes (const Vec128< float, N > v, const Indices128< float, N > idx) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Reverse (Full128< T >, const Vec128< T > v) |
|
template<typename T > |
HWY_API Vec128< T, 2 > | hwy::HWY_NAMESPACE::Reverse (Simd< T, 2 >, const Vec128< T, 2 > v) |
|
template<typename T > |
HWY_API Vec128< T, 1 > | hwy::HWY_NAMESPACE::Reverse (Simd< T, 1 >, const Vec128< T, 1 > v) |
|
template<size_t N, HWY_IF_LE128(uint8_t, N) > |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< uint8_t, N > a, const Vec128< uint8_t, N > b) |
|
template<size_t N, HWY_IF_LE128(uint16_t, N) > |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< uint16_t, N > a, const Vec128< uint16_t, N > b) |
|
template<size_t N, HWY_IF_LE128(uint32_t, N) > |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< uint32_t, N > a, const Vec128< uint32_t, N > b) |
|
template<size_t N, HWY_IF_LE128(uint64_t, N) > |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< uint64_t, N > a, const Vec128< uint64_t, N > b) |
|
template<size_t N, HWY_IF_LE128(int8_t, N) > |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< int8_t, N > a, const Vec128< int8_t, N > b) |
|
template<size_t N, HWY_IF_LE128(int16_t, N) > |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< int16_t, N > a, const Vec128< int16_t, N > b) |
|
template<size_t N, HWY_IF_LE128(int32_t, N) > |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< int32_t, N > a, const Vec128< int32_t, N > b) |
|
template<size_t N, HWY_IF_LE128(int64_t, N) > |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< int64_t, N > a, const Vec128< int64_t, N > b) |
|
template<size_t N, HWY_IF_LE64(float, N) > |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< float, N > a, const Vec128< float, N > b) |
|
template<size_t N, HWY_IF_LE128(double, N) > |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::InterleaveLower (const Vec128< double, N > a, const Vec128< double, N > b) |
|
template<typename T , size_t N, HWY_IF_LE128(T, N) , class V = Vec128<T, N>> |
HWY_API V | hwy::HWY_NAMESPACE::InterleaveLower (Simd< T, N >, V a, V b) |
|
HWY_API Vec128< uint8_t > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (const Vec128< uint8_t > a, const Vec128< uint8_t > b) |
|
HWY_API Vec128< uint16_t > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (const Vec128< uint16_t > a, const Vec128< uint16_t > b) |
|
HWY_API Vec128< uint32_t > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (const Vec128< uint32_t > a, const Vec128< uint32_t > b) |
|
HWY_API Vec128< uint64_t > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (const Vec128< uint64_t > a, const Vec128< uint64_t > b) |
|
HWY_API Vec128< int8_t > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (const Vec128< int8_t > a, const Vec128< int8_t > b) |
|
HWY_API Vec128< int16_t > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (const Vec128< int16_t > a, const Vec128< int16_t > b) |
|
HWY_API Vec128< int32_t > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (const Vec128< int32_t > a, const Vec128< int32_t > b) |
|
HWY_API Vec128< int64_t > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< int64_t > a, Vec128< int64_t > b) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (Vec128< float > a, Vec128< float > b) |
|
HWY_API Vec128< double > | hwy::HWY_NAMESPACE::detail::InterleaveUpper (const Vec128< double > a, const Vec128< double > b) |
|
template<typename T , class V = Vec128<T>> |
HWY_API V | hwy::HWY_NAMESPACE::InterleaveUpper (Full128< T >, V a, V b) |
|
template<typename T , size_t N, HWY_IF_GE64(T, N) , class V = Vec128<T, N>> |
HWY_API V | hwy::HWY_NAMESPACE::InterleaveUpper (Simd< T, N >, V a, V b) |
|
template<typename T , size_t N, class DW = RepartitionToWide<Simd<T, N>>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipLower (Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N, class D = Simd<T, N>, class DW = RepartitionToWide<D>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipLower (DW dw, Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N, class D = Simd<T, N>, class DW = RepartitionToWide<D>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipUpper (DW dw, Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N, HWY_IF_LE64(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Combine (Simd< T, N > d, Vec128< T, N/2 > hi, Vec128< T, N/2 > lo) |
|
template<typename T , HWY_IF_NOT_FLOAT(T) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ZeroExtendVector (Full128< T >, Vec128< T, 8/sizeof(T)> lo) |
|
template<typename T , size_t N, HWY_IF_LE64(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ZeroExtendVector (Simd< T, N > d, Vec128< T, N/2 > lo) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatLowerLower (Full128< T >, const Vec128< T > hi, const Vec128< T > lo) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatUpperUpper (Full128< T >, const Vec128< T > hi, const Vec128< T > lo) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatLowerUpper (Full128< T > d, const Vec128< T > hi, const Vec128< T > lo) |
|
template<typename T > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatUpperLower (Full128< T > d, Vec128< T > hi, Vec128< T > lo) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::ConcatUpperLower (Full128< float >, const Vec128< float > hi, const Vec128< float > lo) |
|
HWY_API Vec128< double > | hwy::HWY_NAMESPACE::ConcatUpperLower (Full128< double >, const Vec128< double > hi, const Vec128< double > lo) |
|
template<typename T , size_t N, HWY_IF_GE64(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ConcatLowerLower (const Simd< T, N > d, Vec128< T, N > hi, Vec128< T, N > lo) |
|
template<typename T , size_t N, HWY_IF_GE64(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ConcatUpperUpper (const Simd< T, N > d, Vec128< T, N > hi, Vec128< T, N > lo) |
|
template<typename T , size_t N, HWY_IF_GE64(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ConcatLowerUpper (const Simd< T, N > d, Vec128< T, N > hi, Vec128< T, N > lo) |
|
template<typename T , size_t N, HWY_IF_LE64(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ConcatUpperLower (Simd< T, N > d, Vec128< T, N > hi, Vec128< T, N > lo) |
|
template<typename T , HWY_IF_LANE_SIZE(T, 8) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatOdd (Full128< T > d, Vec128< T > hi, Vec128< T > lo) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::ConcatOdd (Full128< float >, Vec128< float > hi, Vec128< float > lo) |
|
template<typename T , HWY_IF_LANE_SIZE(T, 4) > |
HWY_API Vec128< T, 2 > | hwy::HWY_NAMESPACE::ConcatOdd (Simd< T, 2 >, Vec128< T, 2 > hi, Vec128< T, 2 > lo) |
|
template<typename T , HWY_IF_LANE_SIZE(T, 8) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::ConcatEven (Full128< T > d, Vec128< T > hi, Vec128< T > lo) |
|
HWY_API Vec128< float > | hwy::HWY_NAMESPACE::ConcatEven (Full128< float >, Vec128< float > hi, Vec128< float > lo) |
|
template<typename T , HWY_IF_LANE_SIZE(T, 4) > |
HWY_API Vec128< T, 2 > | hwy::HWY_NAMESPACE::ConcatEven (Simd< T, 2 >, Vec128< T, 2 > hi, Vec128< T, 2 > lo) |
|
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<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::OddEven (const Vec128< double, N > a, const Vec128< double, N > b) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::operator<< (const Vec128< uint16_t, N > v, const Vec128< uint16_t, N > bits) |
|
HWY_API Vec128< uint16_t, 1 > | hwy::HWY_NAMESPACE::operator<< (const Vec128< uint16_t, 1 > v, const Vec128< uint16_t, 1 > bits) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::operator<< (const Vec128< uint32_t, N > v, const Vec128< uint32_t, N > bits) |
|
HWY_API Vec128< uint32_t, 1 > | hwy::HWY_NAMESPACE::operator<< (const Vec128< uint32_t, 1 > v, const Vec128< uint32_t, 1 > bits) |
|
HWY_API Vec128< uint64_t > | hwy::HWY_NAMESPACE::operator<< (const Vec128< uint64_t > v, const Vec128< uint64_t > bits) |
|
HWY_API Vec128< uint64_t, 1 > | hwy::HWY_NAMESPACE::operator<< (const Vec128< uint64_t, 1 > v, const Vec128< uint64_t, 1 > bits) |
|
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::operator<< (Vec128< T, N > v, const Vec128< T, N > bits) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::operator>> (const Vec128< uint16_t, N > in, const Vec128< uint16_t, N > bits) |
|
HWY_API Vec128< uint16_t, 1 > | hwy::HWY_NAMESPACE::operator>> (const Vec128< uint16_t, 1 > in, const Vec128< uint16_t, 1 > bits) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::operator>> (const Vec128< uint32_t, N > in, const Vec128< uint32_t, N > bits) |
|
HWY_API Vec128< uint32_t, 1 > | hwy::HWY_NAMESPACE::operator>> (const Vec128< uint32_t, 1 > in, const Vec128< uint32_t, 1 > bits) |
|
HWY_API Vec128< uint64_t > | hwy::HWY_NAMESPACE::operator>> (const Vec128< uint64_t > v, const Vec128< uint64_t > bits) |
|
HWY_API Vec128< uint64_t, 1 > | hwy::HWY_NAMESPACE::operator>> (const Vec128< uint64_t, 1 > v, const Vec128< uint64_t, 1 > bits) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::operator>> (const Vec128< int16_t, N > v, const Vec128< int16_t, N > bits) |
|
HWY_API Vec128< int16_t, 1 > | hwy::HWY_NAMESPACE::operator>> (const Vec128< int16_t, 1 > v, const Vec128< int16_t, 1 > bits) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::operator>> (const Vec128< int32_t, N > v, const Vec128< int32_t, N > bits) |
|
HWY_API Vec128< int32_t, 1 > | hwy::HWY_NAMESPACE::operator>> (const Vec128< int32_t, 1 > v, const Vec128< int32_t, 1 > bits) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::operator>> (const Vec128< int64_t, N > v, const Vec128< int64_t, N > bits) |
|
HWY_INLINE Vec128< uint64_t > | hwy::HWY_NAMESPACE::MulEven (Vec128< uint64_t > a, Vec128< uint64_t > b) |
|
HWY_INLINE Vec128< uint64_t > | hwy::HWY_NAMESPACE::MulOdd (Vec128< uint64_t > a, Vec128< uint64_t > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (Simd< float, N > df32, Vec128< bfloat16_t, 2 *N > a, Vec128< bfloat16_t, 2 *N > b, const Vec128< float, N > sum0, Vec128< float, N > &sum1) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< uint16_t, N >, const Vec128< uint8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< uint32_t, N >, const Vec128< uint16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint64_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< uint64_t, N >, const Vec128< uint32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint32_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< uint32_t, N >, const Vec128< uint8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< int16_t, N >, const Vec128< uint8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N >, const Vec128< uint16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N >, const Vec128< uint8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< int16_t, N >, const Vec128< int8_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N >, const Vec128< int16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int64_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< int64_t, N >, const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N >, const Vec128< int8_t, N > v) |
|
template<size_t N> |
HWY_INLINE_F16 Vec128< float, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< float, N > df32, const Vec128< float16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< float, N > df32, const Vec128< bfloat16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< double, N >, const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::PromoteTo (Simd< double, N >, const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint16_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint16_t, N >, const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int16_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< int16_t, N >, const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N >, const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N >, const Vec128< int16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N >, const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int8_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N >, const Vec128< int16_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< float16_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< float16_t, N >, const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< bfloat16_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< bfloat16_t, N > dbf16, const Vec128< float, N > v) |
|
template<size_t N> |
HWY_API Vec128< bfloat16_t, 2 *N > | hwy::HWY_NAMESPACE::ReorderDemote2To (Simd< bfloat16_t, 2 *N > dbf16, Vec128< float, N > a, Vec128< float, N > b) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< float, N >, const Vec128< double, N > v) |
|
template<size_t N> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::ClampF64ToI32Max (Simd< double, N > d, decltype(Zero(d)) v) -> decltype(Zero(d)) |
|
template<typename TI , size_t N, class DF = Simd<MakeFloat<TI>, N>> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::FixConversionOverflow (Simd< TI, N > di, decltype(Zero(DF())) original, decltype(Zero(di).raw) converted_raw) -> decltype(Zero(di)) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::DemoteTo (Simd< int32_t, N >, const Vec128< double, N > v) |
|
template<size_t N> |
HWY_API Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::U8FromU32 (const Vec128< uint32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::ConvertTo (Simd< float, N >, const Vec128< int32_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::ConvertTo (Simd< double, N > dd, const Vec128< int64_t, N > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::ConvertTo (Simd< int32_t, N >, const Vec128< float, N > v) |
|
HWY_API Vec128< int64_t > | hwy::HWY_NAMESPACE::ConvertTo (Full128< int64_t > di, const Vec128< double > v) |
|
HWY_API Vec128< int64_t, 1 > | hwy::HWY_NAMESPACE::ConvertTo (Simd< int64_t, 1 > di, const Vec128< double, 1 > v) |
|
template<size_t N> |
HWY_API Vec128< int32_t, N > | hwy::HWY_NAMESPACE::NearestInt (const Vec128< float, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Round (const Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_INLINE Mask128< T, N > | hwy::HWY_NAMESPACE::detail::UseInt (const Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Trunc (const Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Ceil (const Vec128< T, N > v) |
|
template<typename T , size_t N, HWY_IF_FLOAT(T) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Floor (const Vec128< T, N > v) |
|
template<typename T , size_t N, typename T2 , HWY_IF_LE128(T, N) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Iota (const Simd< T, N > d, const T2 first) |
|
template<typename T , size_t N, HWY_IF_LE128(T, N) > |
HWY_API Mask128< T, N > | hwy::HWY_NAMESPACE::LoadMaskBits (Simd< T, N > d, const uint8_t *HWY_RESTRICT bits) |
|
template<typename T , size_t N> |
HWY_API size_t | hwy::HWY_NAMESPACE::StoreMaskBits (Simd< T, N >, const Mask128< T, N > mask, uint8_t *bits) |
|
template<typename T , size_t N> |
HWY_API size_t | hwy::HWY_NAMESPACE::CountTrue (const Simd< T, N >, const Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_API intptr_t | hwy::HWY_NAMESPACE::FindFirstTrue (const Simd< T, N >, const Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_API bool | hwy::HWY_NAMESPACE::AllFalse (const Simd< T, N >, const Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_API bool | hwy::HWY_NAMESPACE::AllTrue (const Simd< T, N > d, const Mask128< T, N > m) |
|
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Compress (Vec128< T, N > v, Mask128< T, N > mask) |
|
template<size_t N> |
HWY_API Vec128< float, N > | hwy::HWY_NAMESPACE::Compress (Vec128< float, N > v, Mask128< float, N > mask) |
|
template<size_t N> |
HWY_API Vec128< double, N > | hwy::HWY_NAMESPACE::Compress (Vec128< double, N > v, Mask128< double, N > mask) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::CompressBits (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits) |
|
template<typename T , size_t N, HWY_IF_LANE_SIZE(T, 2) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressStore (Vec128< T, N > v, Mask128< T, N > mask, Simd< T, N > d, T *HWY_RESTRICT unaligned) |
|
template<size_t N, HWY_IF_LE128(float, N) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressStore (Vec128< float, N > v, Mask128< float, N > mask, Simd< float, N >, float *HWY_RESTRICT unaligned) |
|
template<size_t N, HWY_IF_LE128(double, N) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressStore (Vec128< double, N > v, Mask128< double, N > mask, Simd< double, N >, double *HWY_RESTRICT unaligned) |
|
template<typename T , size_t N> |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBitsStore (Vec128< T, N > v, const uint8_t *HWY_RESTRICT bits, Simd< T, N > d, T *HWY_RESTRICT unaligned) |
|
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved3 (const Vec128< uint8_t > v0, const Vec128< uint8_t > v1, const Vec128< uint8_t > v2, Full128< uint8_t >, uint8_t *HWY_RESTRICT unaligned) |
|
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved3 (const Vec128< uint8_t, 8 > v0, const Vec128< uint8_t, 8 > v1, const Vec128< uint8_t, 8 > v2, Simd< uint8_t, 8 >, uint8_t *HWY_RESTRICT unaligned) |
|
template<size_t N, HWY_IF_LE32(uint8_t, N) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved3 (const Vec128< uint8_t, N > v0, const Vec128< uint8_t, N > v1, const Vec128< uint8_t, N > v2, Simd< uint8_t, N >, uint8_t *HWY_RESTRICT unaligned) |
|
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved4 (const Vec128< uint8_t > v0, const Vec128< uint8_t > v1, const Vec128< uint8_t > v2, const Vec128< uint8_t > v3, Full128< uint8_t >, uint8_t *HWY_RESTRICT unaligned) |
|
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved4 (const Vec128< uint8_t, 8 > v0, const Vec128< uint8_t, 8 > v1, const Vec128< uint8_t, 8 > v2, const Vec128< uint8_t, 8 > v3, Simd< uint8_t, 8 >, uint8_t *HWY_RESTRICT unaligned) |
|
template<size_t N, HWY_IF_LE32(uint8_t, N) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved4 (const Vec128< uint8_t, N > v0, const Vec128< uint8_t, N > v1, const Vec128< uint8_t, N > v2, const Vec128< uint8_t, N > v3, Simd< uint8_t, N >, uint8_t *HWY_RESTRICT unaligned) |
|
template<typename T > |
HWY_INLINE Vec128< T, 1 > | hwy::HWY_NAMESPACE::detail::SumOfLanes (hwy::SizeTag< sizeof(T)>, const Vec128< T, 1 > v) |
|
template<typename T > |
HWY_INLINE Vec128< T, 1 > | hwy::HWY_NAMESPACE::detail::MinOfLanes (hwy::SizeTag< sizeof(T)>, const Vec128< T, 1 > v) |
|
template<typename T > |
HWY_INLINE Vec128< T, 1 > | hwy::HWY_NAMESPACE::detail::MaxOfLanes (hwy::SizeTag< sizeof(T)>, const Vec128< T, 1 > v) |
|
template<typename T > |
HWY_INLINE Vec128< T, 2 > | hwy::HWY_NAMESPACE::detail::SumOfLanes (hwy::SizeTag< 4 >, const Vec128< T, 2 > v10) |
|
template<typename T > |
HWY_INLINE Vec128< T, 2 > | hwy::HWY_NAMESPACE::detail::MinOfLanes (hwy::SizeTag< 4 >, const Vec128< T, 2 > v10) |
|
template<typename T > |
HWY_INLINE Vec128< T, 2 > | hwy::HWY_NAMESPACE::detail::MaxOfLanes (hwy::SizeTag< 4 >, const Vec128< T, 2 > v10) |
|
template<typename T > |
HWY_INLINE Vec128< T > | hwy::HWY_NAMESPACE::detail::SumOfLanes (hwy::SizeTag< 4 >, const Vec128< T > v3210) |
|
template<typename T > |
HWY_INLINE Vec128< T > | hwy::HWY_NAMESPACE::detail::MinOfLanes (hwy::SizeTag< 4 >, const Vec128< T > v3210) |
|
template<typename T > |
HWY_INLINE Vec128< T > | hwy::HWY_NAMESPACE::detail::MaxOfLanes (hwy::SizeTag< 4 >, const Vec128< T > v3210) |
|
template<typename T > |
HWY_INLINE Vec128< T > | hwy::HWY_NAMESPACE::detail::SumOfLanes (hwy::SizeTag< 8 >, const Vec128< T > v10) |
|
template<typename T > |
HWY_INLINE Vec128< T > | hwy::HWY_NAMESPACE::detail::MinOfLanes (hwy::SizeTag< 8 >, const Vec128< T > v10) |
|
template<typename T > |
HWY_INLINE Vec128< T > | hwy::HWY_NAMESPACE::detail::MaxOfLanes (hwy::SizeTag< 8 >, const Vec128< T > v10) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::SumOfLanes (Simd< T, N >, const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::MinOfLanes (Simd< T, N >, const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::MaxOfLanes (Simd< T, N >, const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API size_t | hwy::HWY_NAMESPACE::StoreMaskBits (const Mask128< T, N > mask, uint8_t *bits) |
|
template<typename T , size_t N> |
HWY_API bool | hwy::HWY_NAMESPACE::AllTrue (const Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_API bool | hwy::HWY_NAMESPACE::AllFalse (const Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_API size_t | hwy::HWY_NAMESPACE::CountTrue (const Mask128< T, N > mask) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::SumOfLanes (const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::MinOfLanes (const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::MaxOfLanes (const Vec128< T, N > v) |
|
template<typename T , size_t N> |
HWY_API Vec128< T,(N+1)/2 > | hwy::HWY_NAMESPACE::UpperHalf (Vec128< T, N > v) |
|
template<int kBytes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftRightBytes (const Vec128< T, N > v) |
|
template<int kLanes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ShiftRightLanes (const Vec128< T, N > v) |
|
template<size_t kBytes, typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::CombineShiftRightBytes (Vec128< T, N > hi, Vec128< T, N > lo) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::InterleaveUpper (Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N, class D = Simd<T, N>> |
HWY_API VFromD< RepartitionToWide< D > > | hwy::HWY_NAMESPACE::ZipUpper (Vec128< T, N > a, Vec128< T, N > b) |
|
template<typename T , size_t N2> |
HWY_API Vec128< T, N2 *2 > | hwy::HWY_NAMESPACE::Combine (Vec128< T, N2 > hi2, Vec128< T, N2 > lo2) |
|
template<typename T , size_t N2, HWY_IF_LE64(T, N2) > |
HWY_API Vec128< T, N2 *2 > | hwy::HWY_NAMESPACE::ZeroExtendVector (Vec128< T, N2 > lo) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ConcatLowerLower (Vec128< T, N > hi, Vec128< T, N > lo) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ConcatUpperUpper (Vec128< T, N > hi, Vec128< T, N > lo) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ConcatLowerUpper (const Vec128< T, N > hi, const Vec128< T, N > lo) |
|
template<typename T , size_t N> |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::ConcatUpperLower (Vec128< T, N > hi, Vec128< T, N > lo) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Add (V a, V b) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Sub (V a, V b) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Mul (V a, V b) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Div (V a, V b) |
|
template<class V > |
V | hwy::HWY_NAMESPACE::Shl (V a, V b) |
|
template<class V > |
V | hwy::HWY_NAMESPACE::Shr (V a, V b) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::Eq (V a, V b) -> decltype(a==b) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::Ne (V a, V b) -> decltype(a==b) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::Lt (V a, V b) -> decltype(a==b) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::Gt (V a, V b) -> decltype(a==b) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::Ge (V a, V b) -> decltype(a==b) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::Le (V a, V b) -> decltype(a==b) |
|
| HWY_AFTER_NAMESPACE () |
|