Grok  9.7.5
Classes | Namespaces | Macros | Typedefs | Functions
ops/shared-inl.h File Reference
#include <cmath>
#include "hwy/base.h"
#include "hwy/ops/set_macros-inl.h"

Go to the source code of this file.

Classes

struct  hwy::HWY_NAMESPACE::Simd< Lane, N, kPow2 >
 
struct  hwy::HWY_NAMESPACE::detail::ScalableTagChecker< T, kPow2 >
 
struct  hwy::HWY_NAMESPACE::detail::CappedTagChecker< T, kLimit >
 
struct  hwy::HWY_NAMESPACE::detail::FixedTagChecker< T, kNumLanes >
 

Namespaces

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

Macros

#define HWY_IF_UNSIGNED_D(D)   HWY_IF_UNSIGNED(TFromD<D>)
 
#define HWY_IF_SIGNED_D(D)   HWY_IF_SIGNED(TFromD<D>)
 
#define HWY_IF_FLOAT_D(D)   HWY_IF_FLOAT(TFromD<D>)
 
#define HWY_IF_NOT_FLOAT_D(D)   HWY_IF_NOT_FLOAT(TFromD<D>)
 
#define HWY_IF_LANE_SIZE_D(D, bytes)   HWY_IF_LANE_SIZE(TFromD<D>, bytes)
 
#define HWY_IF_NOT_LANE_SIZE_D(D, bytes)   HWY_IF_NOT_LANE_SIZE(TFromD<D>, bytes)
 
#define HWY_IF_LT128_D(D)    hwy::EnableIf<D::kPrivateN * sizeof(TFromD<D>) < 16>* = nullptr
 
#define HWY_IF_GE128_D(D)    hwy::EnableIf<D::kPrivateN * sizeof(TFromD<D>) >= 16>* = nullptr
 
#define HWY_IF_UNSIGNED_V(V)   HWY_IF_UNSIGNED(TFromV<V>)
 
#define HWY_IF_SIGNED_V(V)   HWY_IF_SIGNED(TFromV<V>)
 
#define HWY_IF_FLOAT_V(V)   HWY_IF_FLOAT(TFromV<V>)
 
#define HWY_IF_LANE_SIZE_V(V, bytes)   HWY_IF_LANE_SIZE(TFromV<V>, bytes)
 
#define HWY_IF_LANES_ARE(T, V)   EnableIf<IsSameT<T, TFromV<V>>::value>* = nullptr
 
#define HWY_IF_POW2_GE(D, MIN)   hwy::EnableIf<Pow2<D>(D()) >= (MIN)>* = nullptr
 

Typedefs

template<typename T , int kPow2 = 0>
using hwy::HWY_NAMESPACE::ScalableTag = typename detail::ScalableTagChecker< T, kPow2 >::type
 
template<typename T , size_t kLimit>
using hwy::HWY_NAMESPACE::CappedTag = typename detail::CappedTagChecker< T, kLimit >::type
 
template<typename T , size_t kNumLanes>
using hwy::HWY_NAMESPACE::FixedTag = typename detail::FixedTagChecker< T, kNumLanes >::type
 
template<class D >
using hwy::HWY_NAMESPACE::TFromD = typename D::T
 
template<class T , class D >
using hwy::HWY_NAMESPACE::Rebind = typename D::template Rebind< T >
 
template<class D >
using hwy::HWY_NAMESPACE::RebindToSigned = Rebind< MakeSigned< TFromD< D > >, D >
 
template<class D >
using hwy::HWY_NAMESPACE::RebindToUnsigned = Rebind< MakeUnsigned< TFromD< D > >, D >
 
template<class D >
using hwy::HWY_NAMESPACE::RebindToFloat = Rebind< MakeFloat< TFromD< D > >, D >
 
template<class T , class D >
using hwy::HWY_NAMESPACE::Repartition = typename D::template Repartition< T >
 
template<class D >
using hwy::HWY_NAMESPACE::RepartitionToWide = Repartition< MakeWide< TFromD< D > >, D >
 
template<class D >
using hwy::HWY_NAMESPACE::RepartitionToNarrow = Repartition< MakeNarrow< TFromD< D > >, D >
 
template<class D >
using hwy::HWY_NAMESPACE::Half = typename D::Half
 
template<class D >
using hwy::HWY_NAMESPACE::Twice = typename D::Twice
 
template<class V >
using hwy::HWY_NAMESPACE::VecArg = V
 

Functions

 HWY_BEFORE_NAMESPACE ()
 
constexpr size_t hwy::HWY_NAMESPACE::detail::ScaleByPower (size_t N, int pow2)
 
template<class D >
HWY_INLINE constexpr HWY_MAYBE_UNUSED int hwy::HWY_NAMESPACE::Pow2 (D)
 
template<class D >
HWY_INLINE constexpr HWY_MAYBE_UNUSED size_t hwy::HWY_NAMESPACE::MaxLanes (D)
 
template<typename T , size_t N, int kPow2>
HWY_INLINE HWY_MAYBE_UNUSED size_t hwy::HWY_NAMESPACE::Lanes (Simd< T, N, kPow2 >)
 
 HWY_AFTER_NAMESPACE ()
 

Macro Definition Documentation

◆ HWY_IF_FLOAT_D

#define HWY_IF_FLOAT_D (   D)    HWY_IF_FLOAT(TFromD<D>)

◆ HWY_IF_FLOAT_V

#define HWY_IF_FLOAT_V (   V)    HWY_IF_FLOAT(TFromV<V>)

◆ HWY_IF_GE128_D

#define HWY_IF_GE128_D (   D)     hwy::EnableIf<D::kPrivateN * sizeof(TFromD<D>) >= 16>* = nullptr

◆ HWY_IF_LANE_SIZE_D

#define HWY_IF_LANE_SIZE_D (   D,
  bytes 
)    HWY_IF_LANE_SIZE(TFromD<D>, bytes)

◆ HWY_IF_LANE_SIZE_V

#define HWY_IF_LANE_SIZE_V (   V,
  bytes 
)    HWY_IF_LANE_SIZE(TFromV<V>, bytes)

◆ HWY_IF_LANES_ARE

#define HWY_IF_LANES_ARE (   T,
 
)    EnableIf<IsSameT<T, TFromV<V>>::value>* = nullptr

◆ HWY_IF_LT128_D

#define HWY_IF_LT128_D (   D)     hwy::EnableIf<D::kPrivateN * sizeof(TFromD<D>) < 16>* = nullptr

◆ HWY_IF_NOT_FLOAT_D

#define HWY_IF_NOT_FLOAT_D (   D)    HWY_IF_NOT_FLOAT(TFromD<D>)

◆ HWY_IF_NOT_LANE_SIZE_D

#define HWY_IF_NOT_LANE_SIZE_D (   D,
  bytes 
)    HWY_IF_NOT_LANE_SIZE(TFromD<D>, bytes)

◆ HWY_IF_POW2_GE

#define HWY_IF_POW2_GE (   D,
  MIN 
)    hwy::EnableIf<Pow2<D>(D()) >= (MIN)>* = nullptr

◆ HWY_IF_SIGNED_D

#define HWY_IF_SIGNED_D (   D)    HWY_IF_SIGNED(TFromD<D>)

◆ HWY_IF_SIGNED_V

#define HWY_IF_SIGNED_V (   V)    HWY_IF_SIGNED(TFromV<V>)

◆ HWY_IF_UNSIGNED_D

#define HWY_IF_UNSIGNED_D (   D)    HWY_IF_UNSIGNED(TFromD<D>)

◆ HWY_IF_UNSIGNED_V

#define HWY_IF_UNSIGNED_V (   V)    HWY_IF_UNSIGNED(TFromV<V>)

Function Documentation

◆ HWY_AFTER_NAMESPACE()

HWY_AFTER_NAMESPACE ( )

◆ HWY_BEFORE_NAMESPACE()

HWY_BEFORE_NAMESPACE ( )