MADNESS 0.10.1
lookup3.c File Reference
#include <stdio.h>
#include <time.h>
#include <stdint.h>
#include <sys/param.h>
Include dependency graph for lookup3.c:

Macros

#define final(a, b, c)
#define HASH_BIG_ENDIAN   0
#define HASH_LITTLE_ENDIAN   0
#define hashmask(n)
#define hashsize(n)
#define mix(a, b, c)
#define rot(x, k)

Typedefs

typedef uint16_t uint16_alias_t
typedef uint32_t uint32_alias_t

Functions

uint32_t hashbig (const void *key, size_t length, uint32_t initval)
uint32_t hashlittle (const void *key, size_t length, uint32_t initval)
void hashlittle2 (const void *key, size_t length, uint32_t *pc, uint32_t *pb)
uint32_t hashword (const uint32_t *k, size_t length, uint32_t initval)

Macro Definition Documentation

◆ final

#define final ( a,
b,
c )
Value:
{ \
c ^= b; c -= rot(b,14); \
a ^= c; a -= rot(c,11); \
b ^= a; b -= rot(a,25); \
c ^= b; c -= rot(b,16); \
a ^= c; a -= rot(c,4); \
b ^= a; b -= rot(a,14); \
c ^= b; c -= rot(b,24); \
}
#define rot(x, k)
Definition lookup3.c:84
static const double b
Definition nonlinschro.cc:119
static const double a
Definition nonlinschro.cc:118
static const double c
Definition relops.cc:10

Referenced by madness::GaussianConvolution1D< Q >::natural_level(), madness::GenericConvolution1D< Q, opT >::natural_level(), AtomicBasisFunctor< Q >::special_level(), ExactSpinor::special_level(), Guess::special_level(), madness::BasisFunctions::SolidHarmonicGaussian::special_level(), madness::FermiNuclearDensityFunctor::special_level(), madness::GaussianNuclearDensityPotentialFunctor::special_level(), madness::ProjRLMFunctor::special_level(), madness::ScalingFunctionFunctor< 1 >::special_level(), madness::ScalingFunctionFunctor< NDIM, std::enable_if_t< std::greater{}(NDIM, 1)> >::special_level(), madness::VLocalFunctor::special_level(), ncf::special_level(), slymer::Gaussian_Functor::special_level(), stepfunction::special_level(), AtomicBasisFunctor< Q >::special_points(), ExactSpinor::special_points(), Guess::special_points(), madness::BasisFunctions::SolidHarmonicGaussian::special_points(), madness::FermiNuclearDensityFunctor::special_points(), madness::ProjRLMFunctor::special_points(), madness::ScalingFunctionFunctor< 1 >::special_points(), madness::ScalingFunctionFunctor< NDIM, std::enable_if_t< std::greater{}(NDIM, 1)> >::special_points(), madness::VLocalFunctor::special_points(), ncf::special_points(), slymer::Gaussian_Functor::special_points(), and madness::ProjRLMFunctor::supports_vectorized().

◆ HASH_BIG_ENDIAN

#define HASH_BIG_ENDIAN   0

Referenced by hashbig().

◆ HASH_LITTLE_ENDIAN

#define HASH_LITTLE_ENDIAN   0

Referenced by hashlittle(), and hashlittle2().

◆ hashmask

#define hashmask ( n)
Value:
(hashsize(n)-1)
#define hashsize(n)
Definition lookup3.c:82

◆ hashsize

#define hashsize ( n)
Value:
((uint32_t)1<<(n))

◆ mix

#define mix ( a,
b,
c )
Value:
{ \
a -= c; a ^= rot(c, 4); c += b; \
b -= a; b ^= rot(a, 6); a += c; \
c -= b; c ^= rot(b, 8); b += a; \
a -= c; a ^= rot(c,16); c += b; \
b -= a; b ^= rot(a,19); a += c; \
c -= b; c ^= rot(b, 4); b += a; \
}

Referenced by madness::archive::container_record_chunk_key(), hashbig(), hashlittle(), hashlittle2(), hashword(), and test_converged_function().

◆ rot

#define rot ( x,
k )
Value:
(((x)<<(k)) | ((x)>>(32-(k))))
static const long k
Definition rk.cc:44

Referenced by madness::Znemo::compute_current_density(), fixphases(), and test_rot().

Typedef Documentation

◆ uint16_alias_t

typedef uint16_t uint16_alias_t

◆ uint32_alias_t

typedef uint32_t uint32_alias_t

Function Documentation

◆ hashbig()

uint32_t hashbig ( const void * key,
size_t length,
uint32_t initval )

References a, b, c, HASH_BIG_ENDIAN, k, length, mix, and u().

◆ hashlittle2()

void hashlittle2 ( const void * key,
size_t length,
uint32_t * pc,
uint32_t * pb )

References a, b, c, HASH_LITTLE_ENDIAN, k, length, mix, and u().