Ocular Engine
Ocular::Utils::HashGenerator Class Reference

#include <HashGenerator.hpp>

Public Member Functions

uint32_t getHash32 (std::string const &str)
 
uint64_t getHash64 (std::string const &str)
 
uint32_t getHash32 (std::string const &str, uint32_t last)
 
uint64_t getHash64 (std::string const &str, uint64_t last)
 

Detailed Description

Generates 32 or 64-bit hash values from strings using the FNV-1A algorithm.

Internally, this class tracks the previous hash value (one 32 and one 64) to be used when computing a new hash. This is used to avoid collisions by generating different hashes for identical strings. Example:

getHash32("Hello World!")  ->  3422776359
gethash32("Hello World!")  ->  707894204

If one wants to create reproducible hashes, they can use the alternate getter methods which allow the specifying of their own last hash value. Example:

getHash32("Hello World!", 0)  ->  3422776359
getHash32("Hello World!", 0)  ->  3422776359

Source: http://isthe.com/chongo/tech/comp/fnv/

Member Function Documentation

uint32_t Ocular::Utils::HashGenerator::getHash32 ( std::string const &  str)

Generates a 32-bit hash value from the specified string.

If you want to hash a non-string value (for example a spatial point like in Ocular::Math::Noise::WorleyNoise) you can use Ocular::Utils::StringComposer.

Parameters
[in]str
Returns
32-bit hash value.
uint32_t Ocular::Utils::HashGenerator::getHash32 ( std::string const &  str,
uint32_t  last 
)

Generates a 32-bit hash value from the specified string. By specifying your own last value, you can create reproducible hash values.

Parameters
[in]str
[in]last
uint64_t Ocular::Utils::HashGenerator::getHash64 ( std::string const &  str)

Generates a 64-bit hash value from the specified string.

If you want to hash a non-string value (for example a spatial point like in Ocular::Math::Noise::WorleyNoise) you can use Ocular::Utils::StringComposer.

Parameters
[in]str
Returns
64-bit hash value.
uint64_t Ocular::Utils::HashGenerator::getHash64 ( std::string const &  str,
uint64_t  last 
)

Generates a 64-bit hash value from the specified string. By specifying your own last value, you can create reproducible hash values.

Parameters
[in]str
[in]last

The documentation for this class was generated from the following files: