| 
    Sample SNPs
    
   Fast ordered sampling of rows from large text or binary files. Special cases for DNA variant files (.bed, VCF, HapMap, etc). 
   | 
 
Pseudo-random number generator. More...
#include <random.hpp>
Public Member Functions | |
| GenerateMT () | |
| Default constructor.  More... | |
| ~GenerateMT () | |
| Protected destructor.  | |
| GenerateMT (const GenerateMT &old)=default | |
| Copy constructor.  More... | |
| GenerateMT (GenerateMT &&old)=default | |
| Move constructor.  More... | |
| GenerateMT & | operator= (const GenerateMT &old)=default | 
| Copy assignment operator.  More... | |
| GenerateMT & | operator= (GenerateMT &&old)=default | 
| Move assignment.  More... | |
| volatile uint64_t | ranInt () | 
| Generate a pseudo-random 64-bit unsigned integer.  More... | |
  Public Member Functions inherited from sampFiles::Generate | |
| virtual | ~Generate () | 
| Protected destructor.  | |
Protected Attributes | |
| uint64_t | _mt [312] | 
| Generator state array.  | |
| size_t | _mti | 
| State of the array index.  | |
| uint64_t | _x | 
| Current state.  | |
Static Protected Attributes | |
| static const unsigned short | _n = 312 | 
| Degree of recurrence.  | |
| static const unsigned short | _m = 156 | 
| Middle word.  | |
| static const uint64_t | _um = static_cast<uint64_t>(0x7FFFFFFF) | 
| Most significant 33 bits.  | |
| static const uint64_t | _lm = static_cast<uint64_t>(0xFFFFFFFF80000000) | 
| Least significant 31 bits.  | |
| static const uint64_t | _b = static_cast<uint64_t>(0x71D67FFFEDA60000) | 
| Tempering bitmask.  | |
| static const uint64_t | _c = static_cast<uint64_t>(0xFFF7EEE000000000) | 
| Tempering bitmask.  | |
| static const uint64_t | _d = static_cast<uint64_t>(0x5555555555555555) | 
| Tempering bitmask.  | |
| static const unsigned int | _l = 43 | 
| Tempering shift.  | |
| static const unsigned int | _s = 17 | 
| Tempering shift.  | |
| static const unsigned int | _t = 37 | 
| Tempering shift.  | |
| static const unsigned int | _u = 29 | 
| Tempering shift.  | |
| static const uint64_t | _alt [2] = {static_cast<uint64_t>(0), static_cast<uint64_t>(0xB5026F5AA96619E9)} | 
| Array of alternative values for the twist.  | |
Additional Inherited Members | |
  Protected Member Functions inherited from sampFiles::Generate | |
| Generate () | |
| Protected default constructor.  | |
| Generate (const Generate &old) | |
| Protected copy constructor.  More... | |
| Generate (Generate &&old) | |
| Protected move constructor.  More... | |
| Generate & | operator= (const Generate &old)=default | 
| Protected copy assignment operator.  More... | |
| Generate & | operator= (Generate &&old)=default | 
| Protected move assignment.  More... | |
Pseudo-random number generator.
An implementaiton of the 64-bit MT19937 ("Mersenne Twister") [1] pseudo-random number generator (PRNG). The constructor automatically seeds the PRNG. The implementation was guided by the reference code posted by the authors.
| GenerateMT::GenerateMT | ( | ) | 
Default constructor.
Seeds the PRNG with a call to the RDTSC instruction.
      
  | 
  default | 
Copy constructor.
| [in] | old | object to copy | 
      
  | 
  default | 
Move constructor.
| [in] | old | object to move | 
      
  | 
  default | 
Copy assignment operator.
| [in] | old | object to copy | 
      
  | 
  default | 
Move assignment.
| [in] | old | object to move | 
      
  | 
  virtual | 
Generate a pseudo-random 64-bit unsigned integer.
Implements sampFiles::Generate.