Grok 10.0.5
nanobenchmark.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "hwy/highway_export.h"

Go to the source code of this file.

Classes

struct  hwy::Params
 
struct  hwy::Result
 

Namespaces

namespace  hwy
 
namespace  hwy::platform
 

Macros

#define NANOBENCHMARK_ENABLE_CHECKS   0
 
#define NANOBENCHMARK_CHECK_ALWAYS(condition)
 
#define NANOBENCHMARK_CHECK(condition)
 

Typedefs

using hwy::FuncInput = size_t
 
using hwy::FuncOutput = uint64_t
 
using hwy::Func = FuncOutput (*)(const void*, FuncInput)
 

Functions

HWY_DLLEXPORT double hwy::platform::InvariantTicksPerSecond ()
 
HWY_DLLEXPORT double hwy::platform::Now ()
 
HWY_DLLEXPORT uint64_t hwy::platform::TimerResolution ()
 
HWY_DLLEXPORT int hwy::Unpredictable1 ()
 
HWY_DLLEXPORT size_t hwy::Measure (const Func func, const uint8_t *arg, const FuncInput *inputs, const size_t num_inputs, Result *results, const Params &p=Params())
 
template<class Closure >
static FuncOutput hwy::CallClosure (const Closure *f, const FuncInput input)
 
template<class Closure >
static size_t hwy::MeasureClosure (const Closure &closure, const FuncInput *inputs, const size_t num_inputs, Result *results, const Params &p=Params())
 

Macro Definition Documentation

◆ NANOBENCHMARK_CHECK

#define NANOBENCHMARK_CHECK ( condition)

◆ NANOBENCHMARK_CHECK_ALWAYS

#define NANOBENCHMARK_CHECK_ALWAYS ( condition)
Value:
while (!(condition)) { \
fprintf(stderr, "Nanobenchmark check failed at line %d\n", __LINE__); \
abort(); \
}

◆ NANOBENCHMARK_ENABLE_CHECKS

#define NANOBENCHMARK_ENABLE_CHECKS   0