Grok 10.0.5
Classes | Namespaces | Macros | Enumerations | Functions
algo-inl.h File Reference
#include <stdint.h>
#include <string.h>
#include <algorithm>
#include <functional>
#include <thread>
#include <vector>
#include "hwy/base.h"
#include "hwy/contrib/sort/vqsort.h"
#include "hwy/contrib/sort/traits-inl.h"
#include "hwy/contrib/sort/traits128-inl.h"
#include "hwy/contrib/sort/vqsort-inl.h"
#include "hwy/tests/test_util-inl.h"

Go to the source code of this file.

Classes

class  hwy::InputStats< T >
 
class  hwy::HWY_NAMESPACE::Xorshift128Plus
 
struct  hwy::HWY_NAMESPACE::ThreadLocal
 
struct  hwy::HWY_NAMESPACE::SharedState
 

Namespaces

namespace  hwy
 
namespace  hwy::HWY_NAMESPACE
 

Macros

#define HAVE_AVX2SORT   0
 
#define HAVE_IPS4O   0
 
#define HAVE_PARALLEL_IPS4O   (HAVE_IPS4O && 1)
 
#define HAVE_PDQSORT   0
 
#define HAVE_SORT512   0
 
#define HAVE_VXSORT   0
 
#define VXSORT_AVX3   1
 
#define HIGHWAY_HWY_CONTRIB_SORT_ALGO_TOGGLE
 

Enumerations

enum class  hwy::Dist { hwy::kUniform8 , hwy::kUniform16 , hwy::kUniform32 }
 
enum class  hwy::Algo { hwy::kStd , hwy::kVQSort , hwy::kHeap }
 

Functions

static std::vector< Disthwy::AllDist ()
 
static const char * hwy::DistName (Dist dist)
 
static const char * hwy::AlgoName (Algo algo)
 
 HWY_BEFORE_NAMESPACE ()
 
template<class D , class VU64 , HWY_IF_NOT_FLOAT_D(D) >
Vec< D > hwy::HWY_NAMESPACE::RandomValues (D d, VU64 &s0, VU64 &s1, const VU64 mask)
 
template<class DF , class VU64 , HWY_IF_FLOAT_D(DF) >
Vec< DF > hwy::HWY_NAMESPACE::RandomValues (DF df, VU64 &s0, VU64 &s1, const VU64 mask)
 
template<class DU64 >
Vec< DU64 > hwy::HWY_NAMESPACE::MaskForDist (DU64 du64, const Dist dist, size_t sizeof_t)
 
template<typename T >
InputStats< T > hwy::HWY_NAMESPACE::GenerateInput (const Dist dist, T *v, size_t num)
 
template<class Order , typename KeyType , HWY_IF_NOT_LANE_SIZE(KeyType, 16) >
void hwy::HWY_NAMESPACE::CallHeapSort (KeyType *HWY_RESTRICT keys, const size_t num_keys)
 
template<class Order , typename KeyType >
void hwy::HWY_NAMESPACE::Run (Algo algo, KeyType *HWY_RESTRICT inout, size_t num, SharedState &shared, size_t thread)
 
 HWY_AFTER_NAMESPACE ()
 

Macro Definition Documentation

◆ HAVE_AVX2SORT

#define HAVE_AVX2SORT   0

◆ HAVE_IPS4O

#define HAVE_IPS4O   0

◆ HAVE_PARALLEL_IPS4O

#define HAVE_PARALLEL_IPS4O   (HAVE_IPS4O && 1)

◆ HAVE_PDQSORT

#define HAVE_PDQSORT   0

◆ HAVE_SORT512

#define HAVE_SORT512   0

◆ HAVE_VXSORT

#define HAVE_VXSORT   0

◆ HIGHWAY_HWY_CONTRIB_SORT_ALGO_TOGGLE

#define HIGHWAY_HWY_CONTRIB_SORT_ALGO_TOGGLE

◆ VXSORT_AVX3

#define VXSORT_AVX3   1

Function Documentation

◆ HWY_AFTER_NAMESPACE()

HWY_AFTER_NAMESPACE ( )

◆ HWY_BEFORE_NAMESPACE()

HWY_BEFORE_NAMESPACE ( )