57 static_assert(
sizeof(
hash) ==
HASH_SIZE,
"Invalid structure size");
58 static_assert(
sizeof(
hash8) == 8,
"Invalid structure size");
77 if (variant == 1 && length < 43)
78 throw std::logic_error(
"Cryptonight variant 1 is undefined for inputs of less than 43 bytes");
static constexpr void cn_variant1_check(const std::size_t length, const int variant)
Definition: hash.h:74
#define CRYPTO_MAKE_COMPARABLE(type)
Definition: generic-ops.h:39
span< const std::uint8_t > as_byte_span(const T &src) noexcept
Definition: span.h:161
int * count
Definition: gmock_stress_test.cc:176
static constexpr crypto::hash8 null_hash8
Definition: hash.h:103
void tree_hash(const char(*hashes)[HASH_SIZE], size_t count, char *root_hash)
Definition: tree-hash.c:62
std::string data
Definition: base58.cpp:37
crypto namespace.
Definition: crypto.cpp:60
struct hash_func hashes[]
#define POD_CLASS
Definition: pod-class.h:43
void cn_slow_hash_prehashed(const void *data, std::size_t length, hash &hash, int variant=0, uint64_t height=0)
Definition: hash.h:86
unsigned __int64 uint64_t
Definition: stdint.h:136
static constexpr crypto::hash null_hash
Definition: hash.h:102
void cn_fast_hash(const void *data, size_t length, char *hash)
Definition: hash.c:53
POD_CLASS hash8
Definition: hash.h:52
POD_CLASS hash
Definition: hash.h:49
void cn_slow_hash(const void *data, size_t length, char *hash, int variant, int prehashed, uint64_t height)
std::ostream & operator<<(std::ostream &o, const crypto::public_key &v)
Definition: crypto.h:316
#define CRYPTO_MAKE_HASHABLE(type)
Definition: generic-ops.h:80
static uint64_t h
Definition: blockchain_stats.cpp:55
static void formatted(std::ostream &out, const span< const std::uint8_t > src)
Append < + src + > as hex to out.
Definition: hex.cpp:77