A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
hash-fnv.cc File Reference

ns3::Hash::Function::Fnv1a implementation. More...

#include "hash-fnv.h"
#include "log.h"
#include <stdlib.h>
#include <sys/types.h>
+ Include dependency graph for hash-fnv.cc:

Go to the source code of this file.

Namespaces

namespace  ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 
namespace  ns3::Hash
 Hash function implementations.
 
namespace  ns3::Hash::Function
 Hash functions.
 
namespace  ns3::Hash::Function::Fnv1aImplementation
 FNV hash implementation details.
 

Macros

#define __FNV_H__
 Include guard from the original fnv.h.
 
#define FNV0_32_INIT   ((Fnv1aImplementation::Fnv32_t)0)
 32 bit FNV-0 zero initial basis
 
#define FNV0_64_INIT   ((Fnv1aImplementation::Fnv64_t)0)
 64 bit FNV-0 zero initial basis
 
#define FNV1_32_INIT   ((Fnv1aImplementation::Fnv32_t)0x811c9dc5)
 32 bit FNV-1 and FNV-1a non-zero initial basis
 
#define FNV1_32A_INIT   FNV1_32_INIT
 32 bit FNV-1 and FNV-1a non-zero initial basis
 
#define FNV1_64_INIT   ((Fnv1aImplementation::Fnv64_t)0xcbf29ce484222325ULL)
 64 bit FNV-1 non-zero initial basis
 
#define FNV1A_64_INIT   FNV1_64_INIT
 64 bit FNV-1 non-zero initial basis
 
#define FNV_32_PRIME   ((Fnv1aImplementation::Fnv32_t)0x01000193)
 32 bit magic FNV-1a prime
 
#define FNV_VERSION   "5.0.2"
 @(#) FNV Version
 
#define HAVE_64BIT_LONG_LONG
 Determine how 64 bit unsigned values are represented.
 
#define FNV_64_PRIME   ((Fnv1aImplementation::Fnv64_t)0x100000001b3ULL)
 FNV-1a defines the initial basis to be non-zero.
 

Typedefs

typedef uint32_t ns3::Hash::Function::Fnv1aImplementation::Fnv32_t
 32 bit FNV-0 hash type
 
typedef uint64_t ns3::Hash::Function::Fnv1aImplementation::Fnv64_t
 64 bit FNV-0 hash
 

Enumerations

enum  ns3::Hash::Function::Fnv1aImplementation::fnv_type {
  ns3::Hash::Function::Fnv1aImplementation::FNV_NONE = 0 , ns3::Hash::Function::Fnv1aImplementation::FNV0_32 = 1 , ns3::Hash::Function::Fnv1aImplementation::FNV1_32 = 2 , ns3::Hash::Function::Fnv1aImplementation::FNV1a_32 = 3 ,
  ns3::Hash::Function::Fnv1aImplementation::FNV0_64 = 4 , ns3::Hash::Function::Fnv1aImplementation::FNV1_64 = 5 , ns3::Hash::Function::Fnv1aImplementation::FNV1a_64 = 6
}
 FNV hash types. More...
 

Functions

Fnv32_t ns3::Hash::Function::Fnv1aImplementation::fnv_32_buf (void *buf, size_t len, Fnv32_t hval)
 fnv_32a_buf - perform a 32 bit Fowler/Noll/Vo FNV-1a hash on a buffer
 
Fnv32_t ns3::Hash::Function::Fnv1aImplementation::fnv_32_str (char *str, Fnv32_t hval)
 fnv_32a_str - perform a 32 bit Fowler/Noll/Vo FNV-1a hash on a string
 
Fnv32_t ns3::Hash::Function::Fnv1aImplementation::fnv_32a_buf (void *buf, size_t len, Fnv32_t hval)
 fnv_32a_buf - perform a 32 bit Fowler/Noll/Vo FNV-1a hash on a buffer
 
Fnv32_t ns3::Hash::Function::Fnv1aImplementation::fnv_32a_str (char *str, Fnv32_t hval)
 fnv_32a_str - perform a 32 bit Fowler/Noll/Vo FNV-1a hash on a string
 
Fnv64_t ns3::Hash::Function::Fnv1aImplementation::fnv_64_buf (void *buf, size_t len, Fnv64_t hval)
 fnv_64a_buf - perform a 64 bit Fowler/Noll/Vo FNV-1a hash on a buffer
 
Fnv64_t ns3::Hash::Function::Fnv1aImplementation::fnv_64_str (char *str, Fnv64_t hval)
 fnv_64a_str - perform a 64 bit Fowler/Noll/Vo FNV-1a hash on a buffer
 
Fnv64_t ns3::Hash::Function::Fnv1aImplementation::fnv_64a_buf (void *buf, size_t len, Fnv64_t hval)
 fnv_64a_buf - perform a 64 bit Fowler/Noll/Vo FNV-1a hash on a buffer
 
Fnv64_t ns3::Hash::Function::Fnv1aImplementation::fnv_64a_str (char *str, Fnv64_t hval)
 fnv_64a_str - perform a 64 bit Fowler/Noll/Vo FNV-1a hash on a buffer
 

Detailed Description

ns3::Hash::Function::Fnv1a implementation.

Definition in file hash-fnv.cc.