Word list and hashers to test. More...
Collaboration diagram for ns3::Hash::Example::Dictionary:Public Member Functions | |
| Dictionary () | |
| Constructor. More... | |
| void | Add (Collider c) |
| Add a Collider containing a hash function. More... | |
| void | Add (const std::string phrase) |
| Add a string to the dictionary. More... | |
| void | Report () const |
| Print the collisions for each Collider. More... | |
| void | ReportExpectedCollisions () const |
| Report the expected number of collisions. More... | |
| void | Time () |
| Report the execution time of each hash across the entire Dictionary. More... | |
| void | TimeOne (const Collider &collider) |
| Time and report the execution of one hash across the entire Dictionary. More... | |
Private Attributes | |
| std::vector< Collider > | m_hashes |
| List of hash Colliders. More... | |
| unsigned long | m_nphrases |
| Number of strings hashed. More... | |
| std::vector< std::string > | m_words |
| List of unique words. More... | |
Word list and hashers to test.
Definition at line 269 of file hash-example.cc.
|
inline |
|
inline |
Add a Collider containing a hash function.
| [in] | c | The Collider to add. |
Definition at line 284 of file hash-example.cc.
References m_hashes.
Referenced by ns3::Hash::Example::DictFiles::ReadInto().
Here is the caller graph for this function:
|
inline |
Add a string to the dictionary.
| [in] | phrase | The string to add. |
Definition at line 294 of file hash-example.cc.
References m_hashes, m_nphrases, and m_words.
|
inline |
Print the collisions for each Collider.
Definition at line 374 of file hash-example.cc.
References m_hashes, and ReportExpectedCollisions().
Here is the call graph for this function:
|
inline |
Report the expected number of collisions.
See, e.g., http://www.math.dartmouth.edu/archive/m19w03/public_html/Section6-5.pdf
where n is the number of entries in the table, and k is the number of buckets.
This form is numerically unstable for low collision rates. Expanding for large
we get
For simplicity, we'll use the first two terms of the second form.
Definition at line 351 of file hash-example.cc.
References m_nphrases.
Referenced by Report().
Here is the caller graph for this function:
|
inline |
Report the execution time of each hash across the entire Dictionary.
Definition at line 418 of file hash-example.cc.
References m_hashes, and TimeOne().
Here is the call graph for this function:
|
inline |
Time and report the execution of one hash across the entire Dictionary.
| [in] | collider | The hash Collider to use. |
Definition at line 389 of file hash-example.cc.
References ns3::Hasher::clear(), ns3::Hasher::GetHash32(), ns3::Hash::Example::Collider::GetName(), ns3::Hash::Example::Collider::m_hash, m_nphrases, m_words, and visualizer.core::start().
Referenced by Time().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
List of hash Colliders.
Definition at line 438 of file hash-example.cc.
|
private |
Number of strings hashed.
Definition at line 437 of file hash-example.cc.
Referenced by Add(), ReportExpectedCollisions(), and TimeOne().
|
private |
List of unique words.
Definition at line 439 of file hash-example.cc.
Referenced by Dictionary(), Add(), and TimeOne().