Monero
Loading...
Searching...
No Matches
main.cpp File Reference
#include <cstddef>
#include <fstream>
#include <iomanip>
#include <ios>
#include <string>
#include <cfenv>
#include "misc_log_ex.h"
#include "warnings.h"
#include "crypto/hash.h"
#include "crypto/variant2_int_sqrt.h"
#include "../io.h"
Include dependency graph for main.cpp:

Classes

struct  V4_Data
struct  hash_func

Functions

static PUSH_WARNINGS void hash_tree (const void *data, size_t length, char *hash)
static void cn_slow_hash_0 (const void *data, size_t length, char *hash)
static void cn_slow_hash_1 (const void *data, size_t length, char *hash)
static void cn_slow_hash_2 (const void *data, size_t length, char *hash)
static void cn_slow_hash_4 (const void *data, size_t, char *hash)
POP_WARNINGS typedef void hash_f (const void *, size_t, char *)
int test_variant2_int_sqrt ()
int test_variant2_int_sqrt_ref ()
int main (int argc, char *argv[])
static bool test_variant2_int_sqrt_sse (const uint64_t sqrt_input, const uint64_t correct_result)
static bool test_variant2_int_sqrt_fp64 (const uint64_t sqrt_input, const uint64_t correct_result)
static bool test_variant2_int_sqrt_ref (const uint64_t sqrt_input, const uint64_t correct_result)
static bool test_variant2_int_sqrt (const uint64_t sqrt_input, const uint64_t correct_result)

Variables

struct hash_func hashes []

Function Documentation

◆ cn_slow_hash_0()

void cn_slow_hash_0 ( const void * data,
size_t length,
char * hash )
static

◆ cn_slow_hash_1()

void cn_slow_hash_1 ( const void * data,
size_t length,
char * hash )
static

◆ cn_slow_hash_2()

void cn_slow_hash_2 ( const void * data,
size_t length,
char * hash )
static

◆ cn_slow_hash_4()

void cn_slow_hash_4 ( const void * data,
size_t ,
char * hash )
static

◆ hash_f()

POP_WARNINGS typedef void hash_f ( const void * ,
size_t ,
char *  )

◆ hash_tree()

PUSH_WARNINGS void hash_tree ( const void * data,
size_t length,
char * hash )
static

◆ main()

int main ( int argc,
char * argv[] )

◆ test_variant2_int_sqrt() [1/2]

int test_variant2_int_sqrt ( )

◆ test_variant2_int_sqrt() [2/2]

bool test_variant2_int_sqrt ( const uint64_t sqrt_input,
const uint64_t correct_result )
inlinestatic

◆ test_variant2_int_sqrt_fp64()

bool test_variant2_int_sqrt_fp64 ( const uint64_t sqrt_input,
const uint64_t correct_result )
inlinestatic

◆ test_variant2_int_sqrt_ref() [1/2]

int test_variant2_int_sqrt_ref ( )

◆ test_variant2_int_sqrt_ref() [2/2]

bool test_variant2_int_sqrt_ref ( const uint64_t sqrt_input,
const uint64_t correct_result )
inlinestatic

◆ test_variant2_int_sqrt_sse()

bool test_variant2_int_sqrt_sse ( const uint64_t sqrt_input,
const uint64_t correct_result )
inlinestatic

Variable Documentation

◆ hashes

struct hash_func hashes[]
Initial value:
= {{"fast", cn_fast_hash}, {"slow", cn_slow_hash_0}, {"tree", hash_tree},
{"extra-blake", hash_extra_blake}, {"extra-groestl", hash_extra_groestl},
{"extra-jh", hash_extra_jh}, {"extra-skein", hash_extra_skein},
{"slow-1", cn_slow_hash_1}, {"slow-2", cn_slow_hash_2}, {"slow-4", cn_slow_hash_4}}
void hash_extra_blake(const void *data, size_t length, char *hash)
Definition hash-extra-blake.c:36
void hash_extra_groestl(const void *data, size_t length, char *hash)
Definition hash-extra-groestl.c:36
void hash_extra_jh(const void *data, size_t length, char *hash)
Definition hash-extra-jh.c:39
void hash_extra_skein(const void *data, size_t length, char *hash)
Definition hash-extra-skein.c:37
void cn_fast_hash(const void *data, size_t length, char *hash)
Definition hash.c:53
static void cn_slow_hash_4(const void *data, size_t, char *hash)
Definition main.cpp:73
static void cn_slow_hash_0(const void *data, size_t length, char *hash)
Definition main.cpp:64
static PUSH_WARNINGS void hash_tree(const void *data, size_t length, char *hash)
Definition main.cpp:58
static void cn_slow_hash_1(const void *data, size_t length, char *hash)
Definition main.cpp:67
static void cn_slow_hash_2(const void *data, size_t length, char *hash)
Definition main.cpp:70