Main Page   Class Hierarchy   Compound List   File List   Compound Members  

RandomizerFeistel Class Reference

A bijection that uses Feistel permutations. More...

#include <randomizer.h>

List of all members.

Public Methods

 RandomizerFeistel (NodeCount noOfNodes)
 The constructor.

NodeID operator() (NodeID nodeID) const
 The bijection.


Private Methods

void initRandomNumbers ()
 Initializes the table of random numbers.


Private Attributes

NodeID _sqRoot
 The next integer >= the square root of the given number of nodes.

int randomNumbers [_noOfIterations][_maxSqRoot]
 The table of random numbers (used by the Feistel permutations).


Static Private Attributes

const int _noOfIterations = 2
 The number of performed Feistel permutations.

const int _maxSqRoot = 0x10000
 The maximum size of _sqRoot.


Detailed Description

A bijection that uses Feistel permutations.

Definition at line 66 of file randomizer.h.


Constructor & Destructor Documentation

RandomizerFeistel::RandomizerFeistel NodeCount    noOfNodes [inline]
 

The constructor.

A bijection over {0,...,r^2-1} is initialized, whereat r is the next integer greater than or equal to the square root of a given n.

Definition at line 74 of file randomizer.h.

References _sqRoot, and initRandomNumbers().


The documentation for this class was generated from the following file:
Generated on Thu Aug 14 15:13:28 2003 for External Memory Minimum Spanning Trees by doxygen1.2.17