Grok 12.0.1
|
#include <stdint.h>
#include <algorithm>
#include <functional>
#include <vector>
#include "hwy/base.h"
#include "hwy/contrib/sort/vqsort.h"
#include "hwy/print.h"
#include "hwy/aligned_allocator.h"
#include "hwy/contrib/sort/traits-inl.h"
#include "hwy/contrib/sort/traits128-inl.h"
#include "hwy/contrib/sort/vqsort-inl.h"
Go to the source code of this file.
Classes | |
class | hwy::InputStats< T > |
class | hwy::HWY_NAMESPACE::Xorshift128Plus |
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 | HAVE_INTEL 0 |
#define | VXSORT_AVX3 1 |
#define | HIGHWAY_HWY_CONTRIB_SORT_ALGO_TOGGLE |
Typedefs | |
template<typename T > | |
using | hwy::HWY_NAMESPACE::OtherOrder = detail::OrderDescending<T> |
Enumerations | |
enum class | hwy::Dist { hwy::kUniform8 , hwy::kUniform16 , hwy::kUniform32 } |
enum class | hwy::Algo { hwy::kStdSort , hwy::kStdSelect , hwy::kStdPartialSort , hwy::kVQSort , hwy::kVQPartialSort , hwy::kVQSelect , hwy::kHeapSort , hwy::kHeapPartialSort , hwy::kHeapSelect } |
Functions | |
static std::vector< Dist > | hwy::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_T_SIZE(KeyType, 16) > | |
void | hwy::HWY_NAMESPACE::CallHeapPartialSort (KeyType *HWY_RESTRICT keys, const size_t num_keys, const size_t k) |
template<class Order , typename KeyType , HWY_IF_NOT_T_SIZE(KeyType, 16) > | |
void | hwy::HWY_NAMESPACE::CallHeapSelect (KeyType *HWY_RESTRICT keys, const size_t num_keys, const size_t k) |
template<class Order , typename KeyType , HWY_IF_NOT_T_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, size_t k=0) |
HWY_AFTER_NAMESPACE () | |
#define HAVE_AVX2SORT 0 |
#define HAVE_INTEL 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 HIGHWAY_HWY_CONTRIB_SORT_ALGO_TOGGLE |
#define VXSORT_AVX3 1 |
HWY_AFTER_NAMESPACE | ( | ) |
HWY_BEFORE_NAMESPACE | ( | ) |