Grok 10.0.5
highway.h File Reference
#include "hwy/base.h"
#include "hwy/targets.h"
#include "hwy/ops/x86_128-inl.h"
#include "hwy/ops/generic_ops-inl.h"

Go to the source code of this file.

Classes

struct  hwy::FunctionCache< RetType, Args >
 

Namespaces

namespace  hwy
 

Macros

#define HWY_MAJOR   1
 
#define HWY_MINOR   0
 
#define HWY_PATCH   2
 
#define HWY_FULL1(T)
 
#define HWY_FULL2(T, LMUL)
 
#define HWY_3TH_ARG(arg1, arg2, arg3, ...)
 
#define HWY_FULL_RECOMPOSER(args_with_paren)
 
#define HWY_CHOOSE_FULL(...)
 
#define HWY_FULL(...)
 
#define HWY_CAPPED(T, MAX_N)
 
#define HWY_ONCE   1
 
#define HWY_STATIC_DISPATCH(FUNC_NAME)
 
#define HWY_CHOOSE_FALLBACK(FUNC_NAME)
 
#define HWY_CHOOSE_WASM_EMU256(FUNC_NAME)
 
#define HWY_CHOOSE_WASM(FUNC_NAME)
 
#define HWY_CHOOSE_RVV(FUNC_NAME)
 
#define HWY_CHOOSE_NEON(FUNC_NAME)
 
#define HWY_CHOOSE_SVE(FUNC_NAME)
 
#define HWY_CHOOSE_SVE2(FUNC_NAME)
 
#define HWY_CHOOSE_SVE_256(FUNC_NAME)
 
#define HWY_CHOOSE_SVE2_128(FUNC_NAME)
 
#define HWY_CHOOSE_PPC8(FUNC_NAME)
 
#define HWY_CHOOSE_SSSE3(FUNC_NAME)
 
#define HWY_CHOOSE_SSE4(FUNC_NAME)
 
#define HWY_CHOOSE_AVX2(FUNC_NAME)
 
#define HWY_CHOOSE_AVX3(FUNC_NAME)
 
#define HWY_CHOOSE_AVX3_DL(FUNC_NAME)
 
#define HWY_DISPATCH_WORKAROUND   0
 
#define HWY_DISPATCH_TABLE(FUNC_NAME)
 
#define HWY_EXPORT(FUNC_NAME)
 
#define HWY_DYNAMIC_DISPATCH(FUNC_NAME)
 
#define HWY_CAP_INTEGER64   HWY_HAVE_INTEGER64
 
#define HWY_CAP_FLOAT16   HWY_HAVE_FLOAT16
 
#define HWY_CAP_FLOAT64   HWY_HAVE_FLOAT64
 
#define HWY_HIGHWAY_PER_TARGET
 

Functions

template<typename RetType , typename... Args>
FunctionCache< RetType, Args... > hwy::DeduceFunctionCache (RetType(*)(Args...))
 

Macro Definition Documentation

◆ HWY_3TH_ARG

#define HWY_3TH_ARG ( arg1,
arg2,
arg3,
... )
Value:
arg3

◆ HWY_CAP_FLOAT16

#define HWY_CAP_FLOAT16   HWY_HAVE_FLOAT16

◆ HWY_CAP_FLOAT64

#define HWY_CAP_FLOAT64   HWY_HAVE_FLOAT64

◆ HWY_CAP_INTEGER64

#define HWY_CAP_INTEGER64   HWY_HAVE_INTEGER64

◆ HWY_CAPPED

#define HWY_CAPPED ( T,
MAX_N )
Value:
typename detail::CappedTagChecker< T, kLimit >::type CappedTag
Definition ops/shared-inl.h:184

◆ HWY_CHOOSE_AVX2

#define HWY_CHOOSE_AVX2 ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_AVX3

#define HWY_CHOOSE_AVX3 ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_AVX3_DL

#define HWY_CHOOSE_AVX3_DL ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_FALLBACK

#define HWY_CHOOSE_FALLBACK ( FUNC_NAME)
Value:
#define HWY_STATIC_DISPATCH(FUNC_NAME)
Definition highway.h:70

◆ HWY_CHOOSE_FULL

#define HWY_CHOOSE_FULL ( ...)
Value:
#define HWY_FULL2(T, LMUL)
Definition highway.h:42
#define HWY_FULL1(T)
Definition highway.h:41
#define HWY_FULL_RECOMPOSER(args_with_paren)
Definition highway.h:46

◆ HWY_CHOOSE_NEON

#define HWY_CHOOSE_NEON ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_PPC8

#define HWY_CHOOSE_PPC8 ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_RVV

#define HWY_CHOOSE_RVV ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_SSE4

#define HWY_CHOOSE_SSE4 ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_SSSE3

#define HWY_CHOOSE_SSSE3 ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_SVE

#define HWY_CHOOSE_SVE ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_SVE2

#define HWY_CHOOSE_SVE2 ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_SVE2_128

#define HWY_CHOOSE_SVE2_128 ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_SVE_256

#define HWY_CHOOSE_SVE_256 ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_WASM

#define HWY_CHOOSE_WASM ( FUNC_NAME)
Value:
nullptr

◆ HWY_CHOOSE_WASM_EMU256

#define HWY_CHOOSE_WASM_EMU256 ( FUNC_NAME)
Value:
nullptr

◆ HWY_DISPATCH_TABLE

#define HWY_DISPATCH_TABLE ( FUNC_NAME)
Value:
HWY_CONCAT(FUNC_NAME, HighwayDispatchTable)
#define HWY_CONCAT(a, b)
Definition base.h:132

◆ HWY_DISPATCH_WORKAROUND

#define HWY_DISPATCH_WORKAROUND   0

◆ HWY_DYNAMIC_DISPATCH

◆ HWY_EXPORT

#define HWY_EXPORT ( FUNC_NAME)
Value:
HWY_MAYBE_UNUSED static decltype(&HWY_STATIC_DISPATCH(FUNC_NAME)) const \
HWY_DISPATCH_TABLE(FUNC_NAME)[1] = {&HWY_STATIC_DISPATCH(FUNC_NAME)}
#define HWY_MAYBE_UNUSED
Definition base.h:82
#define HWY_DISPATCH_TABLE(FUNC_NAME)
Definition highway.h:246

◆ HWY_FULL

◆ HWY_FULL1

#define HWY_FULL1 ( T)
Value:
typename detail::ScalableTagChecker< T, kPow2 >::type ScalableTag
Definition ops/shared-inl.h:173

◆ HWY_FULL2

#define HWY_FULL2 ( T,
LMUL )
Value:
#define HWY_MAX(a, b)
Definition base.h:135
constexpr size_t CeilLog2(TI x)
Definition base.h:899

◆ HWY_FULL_RECOMPOSER

#define HWY_FULL_RECOMPOSER ( args_with_paren)
Value:
HWY_3TH_ARG args_with_paren
#define HWY_3TH_ARG(arg1, arg2, arg3,...)
Definition highway.h:44

◆ HWY_HIGHWAY_PER_TARGET

#define HWY_HIGHWAY_PER_TARGET

◆ HWY_MAJOR

#define HWY_MAJOR   1

◆ HWY_MINOR

#define HWY_MINOR   0

◆ HWY_ONCE

#define HWY_ONCE   1

◆ HWY_PATCH

#define HWY_PATCH   2

◆ HWY_STATIC_DISPATCH

#define HWY_STATIC_DISPATCH ( FUNC_NAME)
Value:
N_SCALAR::FUNC_NAME