![]() |
aGrUM
0.20.3
a C++ library for (probabilistic) graphical models
|
the hash function for Edge Deletions More...
#include <graphChange.h>
Public Member Functions | |
virtual Size | operator() (const learning::EdgeDeletion &key) const override final |
computes the hashed value of a key More... | |
void | resize (const Size new_size) |
Update the hash function to take into account a resize of the hash table. More... | |
Size | size () const |
Returns the hash table size as known by the hash function. More... | |
Static Public Member Functions | |
static Size | castToSize (const learning::EdgeDeletion &key) |
Returns the value of a key as a Size. More... | |
Protected Attributes | |
Size | hash_size_ |
The size of the hash table. More... | |
unsigned int | hash_log2_size_ |
Log of the number of slots of the hash table in base 2. More... | |
Size | hash_mask_ |
performing y = x & hash_mask_ guarantees that y is a slot index of the hash table More... | |
unsigned int | right_shift_ |
performing y = x >> right_shift_ guarantees that y is a slot index of the hash table More... | |
the hash function for Edge Deletions
Definition at line 561 of file graphChange.h.
|
static |
Returns the value of a key as a Size.
key | The value to return as a Size. |
|
finaloverridevirtual |
computes the hashed value of a key
Implements gum::HashFuncBase< learning::EdgeDeletion >.
|
inherited |
Update the hash function to take into account a resize of the hash table.
When the user wishes to resize the gum::HashTable so that the array is of size s, the gum::HashTable resizes itself to the smallest power of 2 greater than or equal to s. This new size is computed by function gum::HashFuncBase::resize(gum::Size). Hence, s should be the size of the array of lists, not the number of elements stored into the gum::HashTable.
new_size | The hashtable's size wished by the user. Actually, a hashtable of size n is an array of n lists. |
SizeError | Raised if s is too small. |
|
inherited |
Returns the hash table size as known by the hash function.
|
protectedinherited |
Log of the number of slots of the hash table in base 2.
Definition at line 203 of file hashFunc.h.
|
protectedinherited |
performing y = x & hash_mask_ guarantees that y is a slot index of the hash table
To transform a Size x into a slot index of the hash table, you can either use x & hash_mask_ or x >> right_shift_ depending on whether you want to exploit the least significant bits of x (&) or the most significant one (>>).
Definition at line 214 of file hashFunc.h.
|
protectedinherited |
The size of the hash table.
Definition at line 200 of file hashFunc.h.
|
protectedinherited |
performing y = x >> right_shift_ guarantees that y is a slot index of the hash table
To transform a Size x into a slot index of the hash table, you can either use x & hash_mask_ or x >> right_shift_ depending on whether you want to exploit the least significant bits of x (&) or the most significant one (>>).
Definition at line 225 of file hashFunc.h.