MTToolBox  0.2.10
AlgorithmPrimitivity.hpp
[詳解]
1 #ifndef MTTOOLBOX_ALGORITHM_PRIMITIVITY_HPP
2 #define MTTOOLBOX_ALGORITHM_PRIMITIVITY_HPP
3 
25 #include <NTL/GF2X.h>
26 #include <NTL/ZZ.h>
27 #include <NTL/vector.h>
28 #include <MTToolBox/period.hpp>
29 
30 namespace MTToolBox {
43  public:
56  primes = new NTL::Vec<NTL::ZZ>;
57  primes->SetLength(0);
58  mersenne = true;
59  }
60 
74  AlgorithmPrimitivity(const char * prime_factors[]);
75 
85  delete primes;
86  }
87 
106  bool operator()(int max_degree, const NTL::GF2X& poly) const;
107  private:
108  bool mersenne;
109  NTL::Vec<NTL::ZZ> * primes;
110  };
111 
125  extern const AlgorithmPrimitivity MersennePrimitivity;
126 
137  extern const char * prime_factors2_128_1[];
138 
149  extern const char * prime_factors2_160_1[];
150 
161  extern const char * prime_factors2_192_1[];
162 
173  extern const char * prime_factors2_224_1[];
174 
185  extern const char * prime_factors2_256_1[];
186 
197  extern const char * prime_factors2_288_1[];
198 
209  extern const char * prime_factors2_320_1[];
210 
221  extern const char * prime_factors2_352_1[];
222 
233  extern const char * prime_factors2_384_1[];
234 
245  extern const char * prime_factors2_416_1[];
246 
257  extern const char * prime_factors2_448_1[];
258 
269  extern const char * prime_factors2_480_1[];
270 
281  extern const char * prime_factors2_512_1[];
282 
293  extern const char * prime_factors2_544_1[];
294 
295 }
296 #endif // MTTOOLBOX_ALGORITHM_PRIMITIVITY_HPP
const char * prime_factors2_192_1[]
2192-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_512_1[]
2512-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_128_1[]
2128-1 の素因数分解に現れる素数のリスト
原始多項式かどうか判定するアルゴリズムを提供するクラス
Definition: AlgorithmPrimitivity.hpp:42
~AlgorithmPrimitivity()
デストラクタ
Definition: AlgorithmPrimitivity.hpp:84
const AlgorithmPrimitivity MersennePrimitivity
状態空間のビットサイズがメルセンヌ指数の疑似乱数生成器の 最小多項式の原始性を判定するアルゴリズム ...
AlgorithmPrimitivity()
メルセンヌ指数を次数とする原始多項式かどうか判定する場合のコンストラクタ
Definition: AlgorithmPrimitivity.hpp:55
const char * prime_factors2_544_1[]
2544-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_224_1[]
2224-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_320_1[]
2320-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_416_1[]
2416-1 の素因数分解に現れる素数のリスト
bool operator()(int max_degree, const NTL::GF2X &poly) const
poly が指定した次数の原始多項式かどうか判定する
const char * prime_factors2_160_1[]
2160-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_448_1[]
2448-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_288_1[]
2288-1 の素因数分解に現れる素数のリスト
最小多項式の計算と原始性の判定
const char * prime_factors2_480_1[]
2480-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_256_1[]
2256-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_384_1[]
2384-1 の素因数分解に現れる素数のリスト
const char * prime_factors2_352_1[]
2352-1 の素因数分解に現れる素数のリスト
MTToolBox の名前空間