Grok  9.7.5
Public Member Functions | List of all members
hwy::HWY_NAMESPACE::detail::KeyLane Struct Reference

#include <traits-inl.h>

Inheritance diagram for hwy::HWY_NAMESPACE::detail::KeyLane:
hwy::HWY_NAMESPACE::detail::OrderAscending hwy::HWY_NAMESPACE::detail::OrderDescending

Public Member Functions

constexpr size_t LanesPerKey () const
 
template<typename T >
HWY_INLINE void Swap (T *a, T *b) const
 
template<class D >
HWY_INLINE Vec< D > SetKey (D d, const TFromD< D > *key) const
 
template<class D >
HWY_INLINE Vec< D > ReverseKeys (D d, Vec< D > v) const
 
template<class D >
HWY_INLINE Vec< D > ReverseKeys2 (D d, Vec< D > v) const
 
template<class D >
HWY_INLINE Vec< D > ReverseKeys4 (D d, Vec< D > v) const
 
template<class D >
HWY_INLINE Vec< D > ReverseKeys8 (D d, Vec< D > v) const
 
template<class D >
HWY_INLINE Vec< D > ReverseKeys16 (D d, Vec< D > v) const
 
template<class V >
HWY_INLINEOddEvenKeys (const V odd, const V even) const
 
template<class D , HWY_IF_LANE_SIZE_D(D, 2) >
HWY_INLINE Vec< D > SwapAdjacentPairs (D d, const Vec< D > v) const
 
template<class D , HWY_IF_LANE_SIZE_D(D, 4) >
HWY_INLINE Vec< D > SwapAdjacentPairs (D, const Vec< D > v) const
 
template<class D , HWY_IF_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec< D > SwapAdjacentPairs (D, const Vec< D > v) const
 
template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec< D > SwapAdjacentQuads (D d, const Vec< D > v) const
 
template<class D , HWY_IF_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec< D > SwapAdjacentQuads (D d, const Vec< D > v) const
 
template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec< D > OddEvenPairs (D d, const Vec< D > odd, const Vec< D > even) const
 
template<class D , HWY_IF_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec< D > OddEvenPairs (D, Vec< D > odd, Vec< D > even) const
 
template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec< D > OddEvenQuads (D d, Vec< D > odd, Vec< D > even) const
 
template<class D , HWY_IF_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec< D > OddEvenQuads (D d, Vec< D > odd, Vec< D > even) const
 

Member Function Documentation

◆ LanesPerKey()

constexpr size_t hwy::HWY_NAMESPACE::detail::KeyLane::LanesPerKey ( ) const
inlineconstexpr

◆ OddEvenKeys()

template<class V >
HWY_INLINE V hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenKeys ( const V  odd,
const V  even 
) const
inline

◆ OddEvenPairs() [1/2]

template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenPairs ( d,
const Vec< D >  odd,
const Vec< D >  even 
) const
inline

◆ OddEvenPairs() [2/2]

template<class D , HWY_IF_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenPairs ( ,
Vec< D >  odd,
Vec< D >  even 
) const
inline

◆ OddEvenQuads() [1/2]

template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenQuads ( d,
Vec< D >  odd,
Vec< D >  even 
) const
inline

◆ OddEvenQuads() [2/2]

template<class D , HWY_IF_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::OddEvenQuads ( d,
Vec< D >  odd,
Vec< D >  even 
) const
inline

◆ ReverseKeys()

template<class D >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys ( d,
Vec< D >  v 
) const
inline

◆ ReverseKeys16()

template<class D >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys16 ( d,
Vec< D >  v 
) const
inline

◆ ReverseKeys2()

template<class D >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys2 ( d,
Vec< D >  v 
) const
inline

◆ ReverseKeys4()

template<class D >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys4 ( d,
Vec< D >  v 
) const
inline

◆ ReverseKeys8()

template<class D >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::ReverseKeys8 ( d,
Vec< D >  v 
) const
inline

◆ SetKey()

template<class D >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::SetKey ( d,
const TFromD< D > *  key 
) const
inline

◆ Swap()

template<typename T >
HWY_INLINE void hwy::HWY_NAMESPACE::detail::KeyLane::Swap ( T *  a,
T *  b 
) const
inline

◆ SwapAdjacentPairs() [1/3]

template<class D , HWY_IF_LANE_SIZE_D(D, 2) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentPairs ( d,
const Vec< D >  v 
) const
inline

◆ SwapAdjacentPairs() [2/3]

template<class D , HWY_IF_LANE_SIZE_D(D, 4) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentPairs ( ,
const Vec< D >  v 
) const
inline

◆ SwapAdjacentPairs() [3/3]

template<class D , HWY_IF_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentPairs ( ,
const Vec< D >  v 
) const
inline

◆ SwapAdjacentQuads() [1/2]

template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentQuads ( d,
const Vec< D >  v 
) const
inline

◆ SwapAdjacentQuads() [2/2]

template<class D , HWY_IF_LANE_SIZE_D(D, 8) >
HWY_INLINE Vec<D> hwy::HWY_NAMESPACE::detail::KeyLane::SwapAdjacentQuads ( d,
const Vec< D >  v 
) const
inline

The documentation for this struct was generated from the following file: