Hasher.C File Reference

Hashing functions, mostly from Bob Jenkins. More...

Include dependency graph for Hasher.C:

Go to the source code of this file.

Macros

#define bitRotateLeft(x, nBits)   (((x) << (nBits)) | ((x) >> (32 - (nBits))))
 
#define bitMixer(a, b, c)
 
#define bitMixerFinal(a, b, c)
 

Detailed Description

Hashing functions, mostly from Bob Jenkins.

Original source file Hasher.C

Definition in file Hasher.C.

Macro Definition Documentation

◆ bitRotateLeft

#define bitRotateLeft (   x,
  nBits 
)    (((x) << (nBits)) | ((x) >> (32 - (nBits))))

Definition at line 35 of file Hasher.C.

◆ bitMixer

#define bitMixer (   a,
  b,
 
)
Value:
{ \
a -= c; a ^= bitRotateLeft(c, 4); c += b; \
b -= a; b ^= bitRotateLeft(a, 6); a += c; \
c -= b; c ^= bitRotateLeft(b, 8); b += a; \
a -= c; a ^= bitRotateLeft(c,16); c += b; \
b -= a; b ^= bitRotateLeft(a,19); a += c; \
c -= b; c ^= bitRotateLeft(b, 4); b += a; \
}
#define bitRotateLeft(x, nBits)
Definition: Hasher.C:35
volScalarField & b
Definition: createFields.H:27

Definition at line 115 of file Hasher.C.

◆ bitMixerFinal

#define bitMixerFinal (   a,
  b,
 
)
Value:
{ \
c ^= b; c -= bitRotateLeft(b, 14); \
a ^= c; a -= bitRotateLeft(c, 11); \
b ^= a; b -= bitRotateLeft(a, 25); \
c ^= b; c -= bitRotateLeft(b, 16); \
a ^= c; a -= bitRotateLeft(c, 4); \
b ^= a; b -= bitRotateLeft(a, 14); \
c ^= b; c -= bitRotateLeft(b, 24); \
}

Definition at line 150 of file Hasher.C.