cprover
Loading...
Searching...
No Matches
irep_hash.h File Reference

irep hash functions More...

#include <climits>
#include <cstddef>
#include <stdint.h>
+ Include dependency graph for irep_hash.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IREP_HASH_BASIC
 
#define FORCE_INLINE   inline __attribute__((always_inline))
 
#define BIG_CONSTANT(x)
 
#define hash_combine(h1, h2)
 
#define hash_finalize(h1, len)
 

Functions

static __attribute__ ((always_inline)) uint32_t ROTL32(uint32_t x
 
template<int >
std::size_t basic_hash_combine (std::size_t h1, std::size_t h2)
 
template<>
std::size_t basic_hash_combine< 32 > (std::size_t h1, std::size_t h2)
 
template<>
std::size_t basic_hash_combine< 64 > (std::size_t h1, std::size_t h2)
 
std::size_t basic_hash_finalize (std::size_t h1, std::size_t len)
 

Variables

static int8_t r
 

Detailed Description

irep hash functions

Definition in file irep_hash.h.

Macro Definition Documentation

◆ BIG_CONSTANT

#define BIG_CONSTANT ( x)
Value:
(x##LLU)

Definition at line 69 of file irep_hash.h.

◆ FORCE_INLINE

#define FORCE_INLINE   inline __attribute__((always_inline))

Definition at line 55 of file irep_hash.h.

◆ hash_combine

#define hash_combine ( h1,
h2 )
Value:
std::size_t basic_hash_combine(std::size_t h1, std::size_t h2)

Definition at line 121 of file irep_hash.h.

◆ hash_finalize

#define hash_finalize ( h1,
len )
Value:
std::size_t basic_hash_finalize(std::size_t h1, std::size_t len)
Definition irep_hash.h:110

Definition at line 123 of file irep_hash.h.

◆ IREP_HASH_BASIC

#define IREP_HASH_BASIC

Definition at line 17 of file irep_hash.h.

Function Documentation

◆ __attribute__()

static __attribute__ ( (always_inline) )
inlinestatic

◆ basic_hash_combine()

template<int >
std::size_t basic_hash_combine ( std::size_t h1,
std::size_t h2 )

◆ basic_hash_combine< 32 >()

template<>
std::size_t basic_hash_combine< 32 > ( std::size_t h1,
std::size_t h2 )
inline

Definition at line 82 of file irep_hash.h.

◆ basic_hash_combine< 64 >()

template<>
std::size_t basic_hash_combine< 64 > ( std::size_t h1,
std::size_t h2 )
inline

Definition at line 90 of file irep_hash.h.

◆ basic_hash_finalize()

std::size_t basic_hash_finalize ( std::size_t h1,
std::size_t len )
inline

Definition at line 110 of file irep_hash.h.

Variable Documentation

◆ r

static int8_t r
Initial value:
{
return (x << r) | (x >> (32-r))
static int8_t r
Definition irep_hash.h:60

Definition at line 59 of file irep_hash.h.