|
| HWY_BEFORE_NAMESPACE () |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Clamp (const V v, const V lo, const V hi) |
|
template<class D > |
HWY_API Vec< D > | hwy::HWY_NAMESPACE::SignBit (D d) |
|
template<class D > |
HWY_API Vec< D > | hwy::HWY_NAMESPACE::NaN (D d) |
|
template<class D > |
HWY_API Vec< D > | hwy::HWY_NAMESPACE::Inf (D d) |
|
template<class DTo , class DFrom > |
HWY_API VFromD< DTo > | hwy::HWY_NAMESPACE::ZeroExtendResizeBitCast (DTo d_to, DFrom d_from, VFromD< DFrom > v) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::SafeFillN (const size_t num, const T value, D d, T *HWY_RESTRICT to) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::SafeCopyN (const size_t num, D d, const T *HWY_RESTRICT from, T *HWY_RESTRICT to) |
|
template<class V , HWY_IF_NOT_UNSIGNED_V(V) > |
HWY_API Mask< DFromV< V > > | hwy::HWY_NAMESPACE::IsNegative (V v) |
|
template<class D > |
HWY_API Mask< D > | hwy::HWY_NAMESPACE::MaskFalse (D d) |
|
template<class V , HWY_IF_NOT_UNSIGNED_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::IfNegativeThenElseZero (V v, V yes) |
|
template<class V , HWY_IF_NOT_UNSIGNED_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::IfNegativeThenZeroElse (V v, V no) |
|
template<class V , HWY_IF_NOT_UNSIGNED_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::ZeroIfNegative (V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::BitwiseIfThenElse (V mask, V yes, V no) |
|
template<class DTo , class DFrom > |
HWY_API Mask< DTo > | hwy::HWY_NAMESPACE::PromoteMaskTo (DTo d_to, DFrom d_from, Mask< DFrom > m) |
|
template<class DTo , class DFrom > |
HWY_API Mask< DTo > | hwy::HWY_NAMESPACE::DemoteMaskTo (DTo d_to, DFrom d_from, Mask< DFrom > m) |
|
template<class D > |
HWY_API Mask< D > | hwy::HWY_NAMESPACE::LowerHalfOfMask (D d, Mask< Twice< D > > m) |
|
template<int kBits, class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::RotateLeft (V v) |
|
template<class V , HWY_IF_UI8(TFromV< V >) > |
HWY_API V | hwy::HWY_NAMESPACE::Rol (V a, V b) |
|
template<class V , HWY_IF_UI8(TFromV< V >) > |
HWY_API V | hwy::HWY_NAMESPACE::Ror (V a, V b) |
|
template<class V , HWY_IF_UI8(TFromV< V >) > |
HWY_API V | hwy::HWY_NAMESPACE::RotateLeftSame (V v, int bits) |
|
template<class V , HWY_IF_UI8(TFromV< V >) > |
HWY_API V | hwy::HWY_NAMESPACE::RotateRightSame (V v, int bits) |
|
template<class V , HWY_IF_LANES_D(DFromV< V >, 1) > |
HWY_API V | hwy::HWY_NAMESPACE::AddSub (V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedMinOr (V no, M m, V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedMaxOr (V no, M m, V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedAddOr (V no, M m, V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedSubOr (V no, M m, V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedMulOr (V no, M m, V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedDivOr (V no, M m, V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedModOr (V no, M m, V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedSatAddOr (V no, M m, V a, V b) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::MaskedSatSubOr (V no, M m, V a, V b) |
|
template<class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::IfNegativeThenNegOrUndefIfZero (V mask, V v) |
|
template<class V , HWY_IF_T_SIZE_ONE_OF_V(V,(1<< 1)|(1<< 2)) , HWY_IF_SIGNED_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::SaturatedNeg (V v) |
|
template<class V , HWY_IF_I32(TFromV< V >) > |
HWY_API V | hwy::HWY_NAMESPACE::SaturatedNeg (V v) |
|
template<class V , HWY_IF_SIGNED_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::SaturatedAbs (V v) |
|
template<class D , class Func , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::detail::ReduceAcrossBlocks (D, Func, VFromD< D > v) |
|
template<class D , class Func , HWY_IF_LANES_PER_BLOCK_D(D, 2) > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::detail::ReduceWithinBlocks (D d, Func f, VFromD< D > v10) |
|
template<class D , class Func , HWY_IF_LANES_PER_BLOCK_D(D, 16) , HWY_IF_U8_D(D) > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::detail::ReduceWithinBlocks (D d, Func f, VFromD< D > v) |
|
template<class D , HWY_IF_LANES_GT_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SumOfLanes (D d, VFromD< D > v) |
|
template<class D , HWY_IF_LANES_GT_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::MinOfLanes (D d, VFromD< D > v) |
|
template<class D , HWY_IF_LANES_GT_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::MaxOfLanes (D d, VFromD< D > v) |
|
template<class D , HWY_IF_REDUCE_D(D) > |
HWY_API TFromD< D > | hwy::HWY_NAMESPACE::ReduceSum (D d, VFromD< D > v) |
|
template<class D , HWY_IF_REDUCE_D(D) > |
HWY_API TFromD< D > | hwy::HWY_NAMESPACE::ReduceMin (D d, VFromD< D > v) |
|
template<class D , HWY_IF_REDUCE_D(D) > |
HWY_API TFromD< D > | hwy::HWY_NAMESPACE::ReduceMax (D d, VFromD< D > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 4) , HWY_IF_UI8_D(D) > |
HWY_API TFromD< D > | hwy::HWY_NAMESPACE::ReduceSum (D, VFromD< D > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 4) , HWY_IF_UI8_D(D) > |
HWY_API TFromD< D > | hwy::HWY_NAMESPACE::ReduceMin (D d, VFromD< D > v) |
|
template<class D , HWY_IF_V_SIZE_D(D, 4) , HWY_IF_UI8_D(D) > |
HWY_API TFromD< D > | hwy::HWY_NAMESPACE::ReduceMax (D d, VFromD< D > v) |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API MFromD< DFromV< V > > | hwy::HWY_NAMESPACE::IsEitherNaN (V a, V b) |
|
template<class V , class D = DFromV<V>> |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::IsInf (const V v) |
|
template<class V , class D = DFromV<V>> |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::IsFinite (const V v) |
|
template<class D , HWY_IF_LANES_GT_D(D, 1) > |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved2 (D d, const TFromD< D > *HWY_RESTRICT unaligned, VFromD< D > &v0, VFromD< D > &v1) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3 (D d, const TFromD< D > *HWY_RESTRICT unaligned, VFromD< D > &A, VFromD< D > &B, VFromD< D > &C) |
|
template<class D , HWY_IF_LANES_PER_BLOCK_D(D, 16) > |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved3 (D d, const TFromD< D > *HWY_RESTRICT unaligned, VFromD< D > &v0, VFromD< D > &v1, VFromD< D > &v2) |
|
template<class D , HWY_IF_LANES_PER_BLOCK_D(D, 8) , HWY_IF_T_SIZE_D(D, 1) > |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved3 (D d, const TFromD< D > *HWY_RESTRICT unaligned, VFromD< D > &v0, VFromD< D > &v1, VFromD< D > &v2) |
|
template<class D , HWY_IF_LOAD_INT(D) , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved3 (D d, const T *HWY_RESTRICT unaligned, VFromD< D > &v0, VFromD< D > &v1, VFromD< D > &v2) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4 (D d, const TFromD< D > *HWY_RESTRICT unaligned, VFromD< D > &vA, VFromD< D > &vB, VFromD< D > &vC, VFromD< D > &vD) |
|
template<class D , HWY_IF_LANES_PER_BLOCK_D(D, 16) > |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved4 (D d, const TFromD< D > *HWY_RESTRICT unaligned, VFromD< D > &v0, VFromD< D > &v1, VFromD< D > &v2, VFromD< D > &v3) |
|
template<class D , HWY_IF_LOAD_INT(D) , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::LoadInterleaved4 (D d, const T *HWY_RESTRICT unaligned, VFromD< D > &v0, VFromD< D > &v1, VFromD< D > &v2, VFromD< D > &v3) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2 (VFromD< D > A, VFromD< D > B, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_V_SIZE_GT_D(D, 8) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved2 (VFromD< D > v0, VFromD< D > v1, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class V , class D , HWY_IF_V_SIZE_LE_D(D, 8) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved2 (V part0, V part1, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3 (VFromD< D > A, VFromD< D > B, VFromD< D > C, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_T_SIZE_D(D, 1) , HWY_IF_V_SIZE_GT_D(D, 8) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved3 (VFromD< D > v0, VFromD< D > v1, VFromD< D > v2, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_T_SIZE_D(D, 1) , HWY_IF_V_SIZE_LE_D(D, 4) , HWY_IF_LANES_GT_D(D, 1) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved3 (VFromD< D > part0, VFromD< D > part1, VFromD< D > part2, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_LANES_D(D, 1) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved3 (VFromD< D > v0, VFromD< D > v1, VFromD< D > v2, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_INLINE void | hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4 (VFromD< D > vA, VFromD< D > vB, VFromD< D > vC, VFromD< D > vD, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_NOT_T_SIZE_D(D, 8) , HWY_IF_V_SIZE_GT_D(D, 8) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved4 (VFromD< D > v0, VFromD< D > v1, VFromD< D > v2, VFromD< D > v3, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 4) > |
HWY_API void | hwy::HWY_NAMESPACE::StoreInterleaved4 (VFromD< D > part0, VFromD< D > part1, VFromD< D > part2, VFromD< D > part3, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadN (D d, const TFromD< D > *HWY_RESTRICT p, size_t max_lanes_to_load) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadNOr (VFromD< D > no, D d, const TFromD< D > *HWY_RESTRICT p, size_t max_lanes_to_load) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::StoreN (VFromD< D > v, D d, T *HWY_RESTRICT p, size_t max_lanes_to_store) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::ScatterOffset (VFromD< D > v, D d, T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > offset) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::ScatterIndex (VFromD< D > v, D d, T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > index) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::MaskedScatterIndex (VFromD< D > v, MFromD< D > m, D d, T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > index) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::GatherOffset (D d, const T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > offset) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::GatherIndex (D d, const T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > index) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::MaskedGatherIndex (MFromD< D > m, D d, const T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > index) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::MaskedGatherIndexOr (VFromD< D > no, MFromD< D > m, D d, const T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > index) |
|
template<class D , typename T = TFromD<D>> |
HWY_API void | hwy::HWY_NAMESPACE::ScatterIndexN (VFromD< D > v, D d, T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > index, const size_t max_lanes_to_store) |
|
template<class D , typename T = TFromD<D>> |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::GatherIndexN (D d, const T *HWY_RESTRICT base, VFromD< RebindToSigned< D > > index, const size_t max_lanes_to_load) |
|
template<class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::AbsDiff (V a, V b) |
|
template<class V , HWY_IF_UI8_D(DFromV< V >) , HWY_IF_V_SIZE_GT_D(DFromV< V >,(HWY_TARGET==HWY_SCALAR ? 0 :4)) > |
HWY_API Vec< RepartitionToWideX3< DFromV< V > > > | hwy::HWY_NAMESPACE::SumsOf8AbsDiff (V a, V b) |
|
template<class V , HWY_IF_I32_D(DFromV< V >) > |
HWY_API V | hwy::HWY_NAMESPACE::SaturatedAdd (V a, V b) |
|
template<class V , HWY_IF_I32_D(DFromV< V >) > |
HWY_API V | hwy::HWY_NAMESPACE::SaturatedSub (V a, V b) |
|
template<class DN , HWY_IF_SIGNED_D(DN) , class V , HWY_IF_UNSIGNED_V(V) , HWY_IF_U2I_DEMOTE_FROM_LANE_SIZE_V(V) , class V2 = VFromD<Rebind<TFromV<V>, DN>>, hwy::EnableIf<(sizeof(TFromD< DN >)< sizeof(TFromV< V >))> * = nullptr, HWY_IF_LANES_D(DFromV< V >, HWY_MAX_LANES_D(DFromV< V2 >)) > |
HWY_API VFromD< DN > | hwy::HWY_NAMESPACE::DemoteTo (DN dn, V v) |
|
template<class D , class V > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteLowerTo (D d, V v) |
|
template<class D , HWY_IF_F32_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteTo (D df32, VFromD< Rebind< float16_t, D > > v) |
|
template<class D , HWY_IF_F16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::DemoteTo (D df16, VFromD< Rebind< float, D > > v) |
|
template<class V , HWY_IF_F32(TFromV< V >) > |
HWY_INLINE VFromD< RebindToUnsigned< DFromV< V > > > | hwy::HWY_NAMESPACE::detail::RoundF32ForDemoteToBF16 (V v) |
|
template<class D , HWY_IF_BF16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::OrderedDemote2To (D dbf16, VFromD< Repartition< float, D > > a, VFromD< Repartition< float, D > > b) |
|
template<class D , HWY_IF_BF16_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ReorderDemote2To (D dbf16, VFromD< Repartition< float, D > > a, VFromD< Repartition< float, D > > b) |
|
template<class DI , HWY_IF_NOT_FLOAT_NOR_SPECIAL_D(DI) , HWY_IF_T_SIZE_ONE_OF_D(DI,(1<< 4)|(1<< 8)) > |
HWY_API VFromD< DI > | hwy::HWY_NAMESPACE::ConvertInRangeTo (DI di, VFromD< RebindToFloat< DI > > v) |
|
template<class D , HWY_IF_UI64_D(D) , class V , HWY_IF_F32(TFromV< V >) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteInRangeLowerTo (D d, V v) |
|
template<class D , HWY_IF_UI64_D(D) , class V , HWY_IF_F32(TFromV< V >) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::PromoteInRangeEvenTo (D d, V v) |
|
template<class TypeTag , size_t kLaneSize, class V > |
HWY_INLINE VFromD< RepartitionToWideX2< DFromV< V > > > | hwy::HWY_NAMESPACE::detail::SumsOf4 (TypeTag, hwy::SizeTag< kLaneSize >, V v) |
|
template<class V > |
HWY_API VFromD< RepartitionToWideX2< DFromV< V > > > | hwy::HWY_NAMESPACE::SumsOf4 (V v) |
|
template<class D , HWY_IF_U32_D(D) > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::detail::UIntToF32BiasedExp (D d, VFromD< D > v) |
|
template<class V , HWY_IF_U32_D(DFromV< V >) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::I32RangeU32ToF32BiasedExp (V v) |
|
template<class D , HWY_IF_U16_D(D) , HWY_IF_LANES_LE_D(D, HWY_MAX_BYTES/4) > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::detail::UIntToF32BiasedExp (D d, VFromD< D > v) |
|
template<class V > |
HWY_INLINE F32ExpLzcntMinMaxCmpV< V > | hwy::HWY_NAMESPACE::detail::F32ExpLzcntMinMaxBitCast (V v) |
|
template<class V , HWY_IF_UNSIGNED_V(V) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::UIntToF32BiasedExp (V v) |
|
template<class V , HWY_IF_UNSIGNED_V(V) , HWY_IF_T_SIZE_ONE_OF_V(V,(1<< 1)|(1<< 2)) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::NormalizeForUIntTruncConvToF32 (V v) |
|
template<class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::HighestSetBitIndex (V v) |
|
template<class V , HWY_IF_UI64_D(DFromV< V >) > |
HWY_API V | hwy::HWY_NAMESPACE::LeadingZeroCount (V v) |
|
template<class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::TrailingZeroCount (V v) |
|
template<class V , class D = DFromV<V>, HWY_IF_U8_D(D) , HWY_IF_V_SIZE_GT_D(D, 8) , HWY_IF_POPCNT(D) > |
HWY_API V | hwy::HWY_NAMESPACE::PopulationCount (V v) |
|
template<class V , class D = DFromV<V>, HWY_IF_U16_D(D) > |
HWY_API V | hwy::HWY_NAMESPACE::PopulationCount (V v) |
|
template<class V , HWY_IF_T_SIZE_V(V, 1) , HWY_IF_V_SIZE_LE_V(V, HWY_MAX_BYTES/2) > |
HWY_API V | hwy::HWY_NAMESPACE::operator* (const V a, const V b) |
|
template<class V , HWY_IF_T_SIZE_V(V, 8) , HWY_IF_V_SIZE_V(V, 8) , HWY_IF_NOT_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::operator* (V x, V y) |
|
template<class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::MulAdd (V mul, V x, V add) |
|
template<class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::NegMulAdd (V mul, V x, V add) |
|
template<class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::MulSub (V mul, V x, V sub) |
|
template<class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::NegMulSub (V mul, V x, V sub) |
|
template<class V , HWY_IF_LANES_D(DFromV< V >, 1) > |
HWY_API V | hwy::HWY_NAMESPACE::MulAddSub (V mul, V x, V sub_or_add) |
|
template<class D , class V , HWY_IF_T_SIZE_D(D, sizeof(TFromV< V >)) > |
HWY_INLINE Vec< D > | hwy::HWY_NAMESPACE::detail::IntDivConvFloatToInt (D di, V vf) |
|
template<class D , class V , HWY_IF_T_SIZE_D(D, sizeof(TFromV< V >)) > |
HWY_INLINE Vec< D > | hwy::HWY_NAMESPACE::detail::IntDivConvIntToFloat (D df, V vi) |
|
template<size_t kOrigLaneSize, class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) , HWY_IF_T_SIZE_GT(TFromV< V >, kOrigLaneSize) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::IntDivUsingFloatDiv (V a, V b) |
|
template<size_t kOrigLaneSize, class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) , HWY_IF_T_SIZE(TFromV< V >, kOrigLaneSize) , HWY_IF_T_SIZE_ONE_OF_V(V,(1<< 4)|(1<< 8)) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::IntDivUsingFloatDiv (V a, V b) |
|
template<size_t kOrigLaneSize, class V , HWY_IF_T_SIZE_ONE_OF_V(V,(1<< 1)|(1<< 2)) , HWY_IF_V_SIZE_LE_V( V, HWY_MAX_BYTES/((!HWY_HAVE_FLOAT16 &&sizeof(TFromV< V >)==1) ? 4 :2)) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::IntDiv (V a, V b) |
|
template<size_t kOrigLaneSize, class V , HWY_IF_T_SIZE_ONE_OF_V(V,(HWY_HAVE_FLOAT64 ? 0 :(1<< 4))|(1<< 8)) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::IntDiv (V a, V b) |
|
template<size_t kOrigLaneSize, class V , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) , HWY_IF_T_SIZE_ONE_OF_V(V,((HWY_TARGET<=HWY_SSE2|| HWY_TARGET==HWY_WASM|| HWY_TARGET==HWY_WASM_EMU256) ? 0 :(1<< 1))|(1<< 2)|(1<< 4)|(1<< 8)) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::IntMod (V a, V b) |
|
template<class T , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator/ (Vec1< T > a, Vec1< T > b) |
|
template<class T , HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) > |
HWY_API Vec1< T > | hwy::HWY_NAMESPACE::operator% (Vec1< T > a, Vec1< T > b) |
|
template<class DI16 , class VU8 , class VI8 , class VU8_2 = Vec<Repartition<uint8_t, DI16>>, HWY_IF_I16_D(DI16) , HWY_IF_U8_D(DFromV< VU8 >) , HWY_IF_I8_D(DFromV< VI8 >) , HWY_IF_LANES_D(DFromV< VU8 >, HWY_MAX_LANES_V(VI8)) , HWY_IF_LANES_D(DFromV< VU8 >, HWY_MAX_LANES_V(VU8_2)) > |
HWY_API Vec< DI16 > | hwy::HWY_NAMESPACE::SatWidenMulPairwiseAdd (DI16 di16, VU8 a, VI8 b) |
|
template<class DI32 , HWY_IF_I32_D(DI32) > |
HWY_API VFromD< DI32 > | hwy::HWY_NAMESPACE::SatWidenMulPairwiseAccumulate (DI32 di32, VFromD< Repartition< int16_t, DI32 > > a, VFromD< Repartition< int16_t, DI32 > > b, VFromD< DI32 > sum) |
|
template<class DI32 , HWY_IF_I32_D(DI32) > |
HWY_API VFromD< DI32 > | hwy::HWY_NAMESPACE::SatWidenMulAccumFixedPoint (DI32, VFromD< Rebind< int16_t, DI32 > > a, VFromD< Rebind< int16_t, DI32 > > b, VFromD< DI32 > sum) |
|
template<class DI32 , HWY_IF_I32_D(DI32) > |
HWY_API VFromD< DI32 > | hwy::HWY_NAMESPACE::SumOfMulQuadAccumulate (DI32 di32, VFromD< Repartition< int8_t, DI32 > > a, VFromD< Repartition< int8_t, DI32 > > b, VFromD< DI32 > sum) |
|
template<class DU32 , HWY_IF_U32_D(DU32) > |
HWY_API VFromD< DU32 > | hwy::HWY_NAMESPACE::SumOfMulQuadAccumulate (DU32 du32, VFromD< Repartition< uint8_t, DU32 > > a, VFromD< Repartition< uint8_t, DU32 > > b, VFromD< DU32 > sum) |
|
template<class DI32 , HWY_IF_I32_D(DI32) > |
HWY_API VFromD< DI32 > | hwy::HWY_NAMESPACE::SumOfMulQuadAccumulate (DI32 di32, VFromD< Repartition< uint8_t, DI32 > > a_u, VFromD< Repartition< int8_t, DI32 > > b_i, VFromD< DI32 > sum) |
|
template<class V , class D , typename T , HWY_IF_T_SIZE(T, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBitsStore (V v, const uint8_t *HWY_RESTRICT bits, D d, T *unaligned) |
|
template<class V , class M , class D , typename T , HWY_IF_T_SIZE(T, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressStore (V v, M mask, D d, T *HWY_RESTRICT unaligned) |
|
template<class V , class M , class D , typename T , HWY_IF_T_SIZE(T, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBlendedStore (V v, M mask, D d, T *HWY_RESTRICT unaligned) |
|
template<class V , class M , typename T = TFromV<V>, HWY_IF_T_SIZE(T, 1) > |
HWY_API V | hwy::HWY_NAMESPACE::Compress (V v, const M mask) |
|
template<class V , typename T = TFromV<V>, HWY_IF_T_SIZE(T, 1) > |
HWY_API V | hwy::HWY_NAMESPACE::CompressBits (V v, const uint8_t *HWY_RESTRICT bits) |
|
template<class V , class M , typename T = TFromV<V>, HWY_IF_T_SIZE(T, 1) > |
HWY_API V | hwy::HWY_NAMESPACE::CompressNot (V v, M mask) |
|
template<size_t N> |
HWY_INLINE Vec128< uint8_t, N > | hwy::HWY_NAMESPACE::detail::IndicesForExpandFromBits (uint64_t mask_bits) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 1) , HWY_IF_V_SIZE_LE(T, N, 8) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Expand (Vec128< T, N > v, Mask128< T, N > mask) |
|
template<typename T , HWY_IF_T_SIZE(T, 1) > |
HWY_API Vec128< T > | hwy::HWY_NAMESPACE::Expand (Vec128< T > v, Mask128< T > mask) |
|
template<typename T , size_t N, HWY_IF_T_SIZE(T, 2) > |
HWY_API Vec128< T, N > | hwy::HWY_NAMESPACE::Expand (Vec128< T, N > v, Mask128< T, N > mask) |
|
template<typename T > |
HWY_API Vec128< T, 1 > | hwy::HWY_NAMESPACE::Expand (Vec128< T, 1 > v, Mask128< T, 1 > mask) |
|
template<class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadExpand (MFromD< D > mask, D d, const TFromD< D > *HWY_RESTRICT unaligned) |
|
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<class V , HWY_IF_T_SIZE_V(V, 2) > |
HWY_API V | hwy::HWY_NAMESPACE::ReverseLaneBytes (V v) |
|
template<int kShiftAmt, int kShrResultMask, class V , HWY_IF_V_SIZE_GT_D(DFromV< V >, HWY_REVERSE_BITS_MIN_BYTES - 1) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::UI8ReverseBitsStep (V v) |
|
template<class V , HWY_IF_T_SIZE_V(V, 1) > |
HWY_API V | hwy::HWY_NAMESPACE::ReverseBits (V v) |
|
template<class V , HWY_IF_T_SIZE_ONE_OF_V(V,(1<< 2)|(1<< 4)|(1<< 8)) , HWY_IF_NOT_FLOAT_NOR_SPECIAL_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::ReverseBits (V v) |
|
template<size_t kIdx3, size_t kIdx2, size_t kIdx1, size_t kIdx0, class V , HWY_IF_LANES_D(DFromV< V >, 1) > |
HWY_API V | hwy::HWY_NAMESPACE::Per4LaneBlockShuffle (V v) |
|
template<class D > |
HWY_API size_t | hwy::HWY_NAMESPACE::Blocks (D d) |
|
template<int kBlockIdx, class V , HWY_IF_V_SIZE_LE_V(V, 16) > |
HWY_API V | hwy::HWY_NAMESPACE::InsertBlock (V, V blk_to_insert) |
|
template<int kBlockIdx, class V , HWY_IF_V_SIZE_LE_V(V, 16) > |
HWY_API V | hwy::HWY_NAMESPACE::ExtractBlock (V v) |
|
template<int kBlockIdx, class V , HWY_IF_V_SIZE_LE_V(V, 16) > |
HWY_API V | hwy::HWY_NAMESPACE::BroadcastBlock (V v) |
|
template<int kLane, class V , HWY_IF_V_SIZE_LE_V(V, 16) > |
HWY_API V | hwy::HWY_NAMESPACE::BroadcastLane (V v) |
|
template<class D , HWY_IF_LANES_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Slide1Up (D d, VFromD< D >) |
|
template<class D , HWY_IF_LANES_D(D, 1) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Slide1Down (D d, VFromD< D >) |
|
template<int kBlocks, class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SlideUpBlocks (D, VFromD< D > v) |
|
template<int kBlocks, class D , HWY_IF_V_SIZE_LE_D(D, 16) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SlideDownBlocks (D, VFromD< D > v) |
|
template<class D > |
HWY_API Mask< D > | hwy::HWY_NAMESPACE::SlideMask1Up (D d, Mask< D > m) |
|
template<class D > |
HWY_API Mask< D > | hwy::HWY_NAMESPACE::SlideMask1Down (D d, Mask< D > m) |
|
template<class D > |
HWY_API Mask< D > | hwy::HWY_NAMESPACE::SlideMaskUpLanes (D d, Mask< D > m, size_t amt) |
|
template<class D > |
HWY_API Mask< D > | hwy::HWY_NAMESPACE::SlideMaskDownLanes (D d, Mask< D > m, size_t amt) |
|
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 > |
HWY_API V | hwy::HWY_NAMESPACE::Mod (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 () |
|