Grok 10.0.5
Classes | Namespaces | Functions
wasm_256-inl.h File Reference
#include "hwy/ops/wasm_128-inl.h"

Go to the source code of this file.

Classes

class  hwy::HWY_NAMESPACE::Vec256< T >
 
struct  hwy::HWY_NAMESPACE::Mask256< T >
 
struct  hwy::HWY_NAMESPACE::Indices256< T >
 

Namespaces

namespace  hwy
 
namespace  hwy::HWY_NAMESPACE
 
namespace  hwy::HWY_NAMESPACE::detail
 

Functions

 HWY_BEFORE_NAMESPACE ()
 
template<typename T , typename FromT >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::BitCast (Full256< T > d, Vec256< FromT > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Zero (Full256< T > d)
 
template<typename T , typename T2 >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Set (Full256< T > d, const T2 t)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Undefined (Full256< T > d)
 
template<typename T , typename T2 >
Vec256< T > hwy::HWY_NAMESPACE::Iota (const Full256< T > d, const T2 first)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator+ (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator- (Vec256< T > a, const Vec256< T > b)
 
HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::SumsOf8 (const Vec256< uint8_t > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::SaturatedAdd (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::SaturatedSub (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::AverageRound (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Abs (Vec256< T > v)
 
template<int kBits, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeft (Vec256< T > v)
 
template<int kBits, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftRight (Vec256< T > v)
 
template<int kBits, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::RotateRight (const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftSame (Vec256< T > v, const int bits)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftRightSame (Vec256< T > v, const int bits)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Min (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Max (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator* (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::MulHigh (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::MulFixedPoint15 (Vec256< T > a, const Vec256< T > b)
 
HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::MulEven (Vec256< uint32_t > a, const Vec256< uint32_t > b)
 
HWY_API Vec256< int64_t > hwy::HWY_NAMESPACE::MulEven (Vec256< int32_t > a, const Vec256< int32_t > b)
 
HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::MulEven (Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::MulOdd (Vec256< uint64_t > a, const Vec256< uint64_t > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Neg (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator/ (Vec256< T > a, const Vec256< T > b)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::ApproximateReciprocal (const Vec256< float > v)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::AbsDiff (const Vec256< float > a, const Vec256< float > b)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::MulAdd (const Vec256< float > mul, const Vec256< float > x, const Vec256< float > add)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::NegMulAdd (const Vec256< float > mul, const Vec256< float > x, const Vec256< float > add)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::MulSub (const Vec256< float > mul, const Vec256< float > x, const Vec256< float > sub)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::NegMulSub (const Vec256< float > mul, const Vec256< float > x, const Vec256< float > sub)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Sqrt (Vec256< T > v)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::ApproximateReciprocalSqrt (const Vec256< float > v)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::Round (Vec256< float > v)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::Trunc (Vec256< float > v)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::Ceil (Vec256< float > v)
 
HWY_API Vec256< float > hwy::HWY_NAMESPACE::Floor (Vec256< float > v)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::IsNaN (const Vec256< T > v)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::IsInf (const Vec256< T > v)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::IsFinite (const Vec256< T > v)
 
template<typename TFrom , typename TTo >
HWY_API Mask256< TTo > hwy::HWY_NAMESPACE::RebindMask (Full256< TTo >, Mask256< TFrom > m)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::TestBit (Vec256< T > v, Vec256< T > bit)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator== (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator!= (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator< (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator> (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator<= (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::operator>= (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::FirstN (const Full256< T > d, size_t num)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Not (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::And (Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::AndNot (Vec256< T > not_mask, Vec256< T > mask)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Or (Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Xor (Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Xor3 (Vec256< T > x1, Vec256< T > x2, Vec256< T > x3)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Or3 (Vec256< T > o1, Vec256< T > o2, Vec256< T > o3)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::OrAnd (Vec256< T > o, Vec256< T > a1, Vec256< T > a2)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfVecThenElse (Vec256< T > mask, Vec256< T > yes, Vec256< T > no)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator& (const Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator| (const Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator^ (const Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::CopySign (const Vec256< T > magn, const Vec256< T > sign)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::CopySignToAbs (const Vec256< T > abs, const Vec256< T > sign)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::MaskFromVec (const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::VecFromMask (Full256< T > d, Mask256< T > m)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfThenElse (Mask256< T > mask, Vec256< T > yes, Vec256< T > no)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfThenElseZero (Mask256< T > mask, Vec256< T > yes)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfThenZeroElse (Mask256< T > mask, Vec256< T > no)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::IfNegativeThenElse (Vec256< T > v, Vec256< T > yes, Vec256< T > no)
 
template<typename T , HWY_IF_FLOAT(T) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ZeroIfNegative (Vec256< T > v)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::Not (const Mask256< T > m)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::And (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::AndNot (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::Or (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::Xor (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::ExclusiveNeither (const Mask256< T > a, Mask256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator<< (Vec256< T > v, const Vec256< T > bits)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::operator>> (Vec256< T > v, const Vec256< T > bits)
 
template<typename T , HWY_IF_NOT_LANE_SIZE(T, 1) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec256< T > v)
 
HWY_API Vec256< int8_t > hwy::HWY_NAMESPACE::BroadcastSignBit (const Vec256< int8_t > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Load (Full256< T > d, const T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::MaskedLoad (Mask256< T > m, Full256< T > d, const T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::LoadU (Full256< T > d, const T *HWY_RESTRICT p)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::LoadDup128 (Full256< T > d, const T *HWY_RESTRICT p)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Store (Vec256< T > v, Full256< T > d, T *HWY_RESTRICT aligned)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::StoreU (Vec256< T > v, Full256< T > d, T *HWY_RESTRICT p)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::BlendedStore (Vec256< T > v, Mask256< T > m, Full256< T > d, T *HWY_RESTRICT p)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::Stream (Vec256< T > v, Full256< T > d, T *HWY_RESTRICT aligned)
 
template<typename T , typename Offset >
HWY_API void hwy::HWY_NAMESPACE::ScatterOffset (Vec256< T > v, Full256< T > d, T *HWY_RESTRICT base, const Vec256< Offset > offset)
 
template<typename T , typename Index >
HWY_API void hwy::HWY_NAMESPACE::ScatterIndex (Vec256< T > v, Full256< T > d, T *HWY_RESTRICT base, const Vec256< Index > index)
 
template<typename T , typename Offset >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::GatherOffset (const Full256< T > d, const T *HWY_RESTRICT base, const Vec256< Offset > offset)
 
template<typename T , typename Index >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::GatherIndex (const Full256< T > d, const T *HWY_RESTRICT base, const Vec256< Index > index)
 
template<typename T >
HWY_APIhwy::HWY_NAMESPACE::ExtractLane (const Vec256< T > v, size_t i)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::InsertLane (const Vec256< T > v, size_t i, T t)
 
template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::LowerHalf (Full128< T >, Vec256< T > v)
 
template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::LowerHalf (Vec256< T > v)
 
template<typename T >
HWY_APIhwy::HWY_NAMESPACE::GetLane (const Vec256< T > v)
 
template<int kBytes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftBytes (Full256< T > d, Vec256< T > v)
 
template<int kBytes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftBytes (Vec256< T > v)
 
template<int kLanes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftLanes (Full256< T > d, const Vec256< T > v)
 
template<int kLanes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftLeftLanes (const Vec256< T > v)
 
template<int kBytes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftRightBytes (Full256< T > d, Vec256< T > v)
 
template<int kLanes, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ShiftRightLanes (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec128< T > hwy::HWY_NAMESPACE::UpperHalf (Full128< T >, const Vec256< T > v)
 
template<int kBytes, typename T , class V = Vec256<T>>
HWY_APIhwy::HWY_NAMESPACE::CombineShiftRightBytes (Full256< T > d, V hi, V lo)
 
template<int kLane, typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Broadcast (const Vec256< T > v)
 
template<typename T , typename TI >
HWY_API Vec256< TI > hwy::HWY_NAMESPACE::TableLookupBytes (const Vec256< T > bytes, Vec256< TI > from)
 
template<typename T , typename TI , size_t NI>
HWY_API Vec128< TI, NI > hwy::HWY_NAMESPACE::TableLookupBytes (const Vec256< T > bytes, const Vec128< TI, NI > from)
 
template<typename T , size_t N, typename TI >
HWY_API Vec256< TI > hwy::HWY_NAMESPACE::TableLookupBytes (const Vec128< T, N > bytes, const Vec256< TI > from)
 
template<class V , class VI >
HWY_API VI hwy::HWY_NAMESPACE::TableLookupBytesOr0 (const V bytes, const VI from)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Shuffle01 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Shuffle2301 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Shuffle1032 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Shuffle0321 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Shuffle2103 (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Shuffle0123 (Vec256< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::detail::Shuffle2301 (Vec256< T > a, const Vec256< T > b)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::detail::Shuffle1230 (Vec256< T > a, const Vec256< T > b)
 
template<typename T , HWY_IF_LANE_SIZE(T, 4) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::detail::Shuffle3012 (Vec256< T > a, const Vec256< T > b)
 
template<typename T , typename TI >
HWY_API Indices256< T > hwy::HWY_NAMESPACE::IndicesFromVec (Full256< T >, Vec256< TI > vec)
 
template<typename T , typename TI >
HWY_API Indices256< T > hwy::HWY_NAMESPACE::SetTableIndices (Full256< T > d, const TI *idx)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::TableLookupLanes (const Vec256< T > v, Indices256< T > idx)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::TableLookupLanesOr0 (Vec256< T > v, Indices256< T > idx)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse2 (Full256< T > d, Vec256< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse4 (Full256< T > d, const Vec256< T > v)
 
template<typename T , HWY_IF_LANE_SIZE(T, 8) >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Reverse8 (Full256< T >, Vec256< T >)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::InterleaveLower (Vec256< T > a, Vec256< T > b)
 
template<typename T , class V = Vec256<T>>
HWY_APIhwy::HWY_NAMESPACE::InterleaveUpper (Full256< T > d, V a, V b)
 
template<typename T , class DW = RepartitionToWide<Full256<T>>>
HWY_API VFromD< DW > hwy::HWY_NAMESPACE::ZipLower (Vec256< T > a, Vec256< T > b)
 
template<typename T , class D = Full256<T>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > hwy::HWY_NAMESPACE::ZipLower (DW dw, Vec256< T > a, Vec256< T > b)
 
template<typename T , class D = Full256<T>, class DW = RepartitionToWide<D>>
HWY_API VFromD< DW > hwy::HWY_NAMESPACE::ZipUpper (DW dw, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Combine (Full256< T >, Vec128< T > hi, Vec128< T > lo)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ZeroExtendVector (Full256< T > d, Vec128< T > lo)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatLowerLower (Full256< T >, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatUpperUpper (Full256< T >, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatLowerUpper (Full256< T >, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatUpperLower (Full256< T >, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatOdd (Full256< T > d, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ConcatEven (Full256< T > d, const Vec256< T > hi, const Vec256< T > lo)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::DupEven (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::DupOdd (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::OddEven (Vec256< T > a, const Vec256< T > b)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::OddEvenBlocks (Vec256< T > odd, Vec256< T > even)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::SwapAdjacentBlocks (Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::ReverseBlocks (Full256< T >, const Vec256< T > v)
 
HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< uint16_t >, const Vec128< uint8_t > v)
 
HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< uint32_t >, const Vec128< uint8_t > v)
 
HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< int16_t >, const Vec128< uint8_t > v)
 
HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< int32_t >, const Vec128< uint8_t > v)
 
HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< uint32_t >, const Vec128< uint16_t > v)
 
HWY_API Vec128< uint64_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< uint64_t >, const Vec128< uint32_t > v)
 
HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< int32_t >, const Vec128< uint16_t > v)
 
HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< int16_t >, const Vec128< int8_t > v)
 
HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< int32_t >, const Vec128< int8_t > v)
 
HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< int32_t >, const Vec128< int16_t > v)
 
HWY_API Vec128< int64_t > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< int64_t >, const Vec128< int32_t > v)
 
HWY_API Vec128< double > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< double > dd, const Vec128< int32_t > v)
 
HWY_API Vec128< float > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< float > df32, const Vec128< float16_t > v)
 
HWY_API Vec128< float > hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Full128< float > df32, const Vec128< bfloat16_t > v)
 
template<typename T , typename TN >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::PromoteTo (Full256< T > d, const Vec128< TN > v)
 
template<typename TW , typename TN >
HWY_API Vec256< TW > hwy::HWY_NAMESPACE::PromoteTo (Full256< TW > d, const Vec64< TN > v)
 
HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::DemoteTo (Full128< uint16_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< int16_t > hwy::HWY_NAMESPACE::DemoteTo (Full128< int16_t >, const Vec256< int32_t > v)
 
HWY_API Vec64< uint8_t > hwy::HWY_NAMESPACE::DemoteTo (Full64< uint8_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< uint8_t > hwy::HWY_NAMESPACE::DemoteTo (Full128< uint8_t >, const Vec256< int16_t > v)
 
HWY_API Vec64< int8_t > hwy::HWY_NAMESPACE::DemoteTo (Full64< int8_t >, const Vec256< int32_t > v)
 
HWY_API Vec128< int8_t > hwy::HWY_NAMESPACE::DemoteTo (Full128< int8_t >, const Vec256< int16_t > v)
 
HWY_API Vec128< int32_t > hwy::HWY_NAMESPACE::DemoteTo (Full128< int32_t > di, const Vec256< double > v)
 
HWY_API Vec128< float16_thwy::HWY_NAMESPACE::DemoteTo (Full128< float16_t > d16, const Vec256< float > v)
 
HWY_API Vec128< bfloat16_thwy::HWY_NAMESPACE::DemoteTo (Full128< bfloat16_t > dbf16, const Vec256< float > v)
 
HWY_API Vec64< uint8_t > hwy::HWY_NAMESPACE::U8FromU32 (const Vec256< uint32_t > v)
 
HWY_API Vec32< uint8_t > hwy::HWY_NAMESPACE::TruncateTo (Full32< uint8_t >, const Vec256< uint64_t > v)
 
HWY_API Vec64< uint16_t > hwy::HWY_NAMESPACE::TruncateTo (Full64< uint16_t >, const Vec256< uint64_t > v)
 
HWY_API Vec128< uint32_t > hwy::HWY_NAMESPACE::TruncateTo (Full128< uint32_t >, const Vec256< uint64_t > v)
 
HWY_API Vec64< uint8_t > hwy::HWY_NAMESPACE::TruncateTo (Full64< uint8_t >, const Vec256< uint32_t > v)
 
HWY_API Vec128< uint16_t > hwy::HWY_NAMESPACE::TruncateTo (Full128< uint16_t >, const Vec256< uint32_t > v)
 
HWY_API Vec128< uint8_t > hwy::HWY_NAMESPACE::TruncateTo (Full128< uint8_t >, const Vec256< uint16_t > v)
 
HWY_API Vec256< bfloat16_thwy::HWY_NAMESPACE::ReorderDemote2To (Full256< bfloat16_t > dbf16, Vec256< float > a, Vec256< float > b)
 
HWY_API Vec256< int16_t > hwy::HWY_NAMESPACE::ReorderDemote2To (Full256< int16_t > d16, Vec256< int32_t > a, Vec256< int32_t > b)
 
template<typename TTo , typename TFrom >
HWY_API Vec256< TTo > hwy::HWY_NAMESPACE::ConvertTo (Full256< TTo > d, const Vec256< TFrom > v)
 
HWY_API Vec256< int32_t > hwy::HWY_NAMESPACE::NearestInt (const Vec256< float > v)
 
template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x110) >
HWY_API Mask256< T > hwy::HWY_NAMESPACE::LoadMaskBits (Full256< T > d, const uint8_t *HWY_RESTRICT bits)
 
template<typename T , HWY_IF_LANE_SIZE_ONE_OF(T, 0x110) >
HWY_API size_t hwy::HWY_NAMESPACE::StoreMaskBits (const Full256< T > d, const Mask256< T > mask, uint8_t *bits)
 
template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CountTrue (const Full256< T > d, const Mask256< T > m)
 
template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllFalse (const Full256< T > d, const Mask256< T > m)
 
template<typename T >
HWY_API bool hwy::HWY_NAMESPACE::AllTrue (const Full256< T > d, const Mask256< T > m)
 
template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::FindKnownFirstTrue (const Full256< T > d, const Mask256< T > mask)
 
template<typename T >
HWY_API intptr_t hwy::HWY_NAMESPACE::FindFirstTrue (const Full256< T > d, const Mask256< T > mask)
 
template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressStore (const Vec256< T > v, const Mask256< T > mask, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBlendedStore (const Vec256< T > v, const Mask256< T > m, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API size_t hwy::HWY_NAMESPACE::CompressBitsStore (const Vec256< T > v, const uint8_t *HWY_RESTRICT bits, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::Compress (const Vec256< T > v, const Mask256< T > mask)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::CompressNot (Vec256< T > v, const Mask256< T > mask)
 
HWY_API Vec256< uint64_t > hwy::HWY_NAMESPACE::CompressBlocksNot (Vec256< uint64_t > v, Mask256< uint64_t > mask)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::CompressBits (Vec256< T > v, const uint8_t *HWY_RESTRICT bits)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks3 (Full256< T > d, const T *HWY_RESTRICT unaligned, Vec256< T > &A, Vec256< T > &B, Vec256< T > &C)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::detail::LoadTransposedBlocks4 (Full256< T > d, const T *HWY_RESTRICT unaligned, Vec256< T > &A, Vec256< T > &B, Vec256< T > &C, Vec256< T > &D)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks2 (const Vec256< T > i, const Vec256< T > j, const Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks3 (const Vec256< T > i, const Vec256< T > j, const Vec256< T > k, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename T >
HWY_API void hwy::HWY_NAMESPACE::detail::StoreTransposedBlocks4 (const Vec256< T > i, const Vec256< T > j, const Vec256< T > k, const Vec256< T > l, Full256< T > d, T *HWY_RESTRICT unaligned)
 
template<typename TN , typename TW >
HWY_API Vec256< TW > hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (Full256< TW > d, Vec256< TN > a, Vec256< TN > b, Vec256< TW > sum0, Vec256< TW > &sum1)
 
template<typename TW >
HWY_API Vec256< TW > hwy::HWY_NAMESPACE::RearrangeToOddPlusEven (Vec256< TW > sum0, Vec256< TW > sum1)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::SumOfLanes (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::MinOfLanes (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_API Vec256< T > hwy::HWY_NAMESPACE::MaxOfLanes (Full256< T > d, const Vec256< T > v)
 
template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Lt128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Lt128Upper (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Eq128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Eq128Upper (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Ne128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Mask256< T > hwy::HWY_NAMESPACE::Ne128Upper (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Vec256< T > hwy::HWY_NAMESPACE::Min128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Vec256< T > hwy::HWY_NAMESPACE::Max128 (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Vec256< T > hwy::HWY_NAMESPACE::Min128Upper (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
template<typename T >
HWY_INLINE Vec256< T > hwy::HWY_NAMESPACE::Max128Upper (Full256< T > d, Vec256< T > a, Vec256< T > b)
 
 HWY_AFTER_NAMESPACE ()
 

Function Documentation

◆ HWY_AFTER_NAMESPACE()

HWY_AFTER_NAMESPACE ( )

◆ HWY_BEFORE_NAMESPACE()

HWY_BEFORE_NAMESPACE ( )