MTToolBox  0.2.10
EquidistributionCalculatable.hpp
Go to the documentation of this file.
1 #ifndef MTTOOLBOX_EQUIDISTRIBUTION_CALCULATABLE_HPP
2 #define MTTOOLBOX_EQUIDISTRIBUTION_CALCULATABLE_HPP
3 
16 #include <stdint.h>
17 #include <inttypes.h>
19 
20 namespace MTToolBox {
49  template<typename U, typename V = U>
51  : virtual public RecursionSearchable<U, V> {
52  public:
54 
65 
79  virtual EquidistributionCalculatable<U, V> * clone() const = 0;
80 
102  virtual U generate(int outBitLen) = 0;
103 
126  virtual void add(EquidistributionCalculatable<U, V>& that) = 0;
127 
137  virtual void setZero() = 0;
138 
158  virtual bool isZero() const = 0;
159  };
160 }
161 
162 #endif // MTTOOLBOX_EQUIDISTRIBUTION_CALCULATABLE_HPP
pseudo random number generator.
Definition: AbstractGenerator.hpp:48
virtual void add(EquidistributionCalculatable< U, V > &that)=0
Add internal state of GF(2)-linear pseudo random number generators.
This class is an Abstract class for calculating dimension of equi-distribution for GF(2)-linear pseud...
Definition: EquidistributionCalculatable.hpp:50
virtual EquidistributionCalculatable< U, V > * clone() const =0
Return copy of myself.
virtual bool isZero() const =0
Check if bits in internal state are all zero.
virtual ~EquidistributionCalculatable()
Virtual destructor (always required)
Definition: EquidistributionCalculatable.hpp:64
Abstract class for searching parameters of state transition function of pseudo random number generato...
Definition: RecursionSearchable.hpp:43
virtual U generate()=0
transit current internal state to next state and output a pseudo random number.
virtual void setZero()=0
Set all zero to internal state.
name space for MTToolBox