/home/liu/actions-runner/_work/ccv/ccv/lib/3rdparty/sfmt/SFMT-params.h
Line | Count | Source (jump to first uncovered line) |
1 | | #pragma once |
2 | | #ifndef SFMT_PARAMS_H |
3 | | #define SFMT_PARAMS_H |
4 | | |
5 | 137M | #define SFMT_MEXP 19937 |
6 | | /*----------------- |
7 | | BASIC DEFINITIONS |
8 | | -----------------*/ |
9 | | /** Mersenne Exponent. The period of the sequence |
10 | | * is a multiple of 2^MEXP-1. |
11 | | * #define SFMT_MEXP 19937 */ |
12 | | /** SFMT generator has an internal state array of 128-bit integers, |
13 | | * and N is its size. */ |
14 | 137M | #define SFMT_N (SFMT_MEXP / 128 + 1) |
15 | | /** N32 is the size of internal state array when regarded as an array |
16 | | * of 32-bit integers.*/ |
17 | 95.4M | #define SFMT_N32 (SFMT_N * 4) |
18 | | /** N64 is the size of internal state array when regarded as an array |
19 | | * of 64-bit integers.*/ |
20 | 0 | #define SFMT_N64 (SFMT_N * 2) |
21 | | |
22 | | /*---------------------- |
23 | | the parameters of SFMT |
24 | | following definitions are in paramsXXXX.h file. |
25 | | ----------------------*/ |
26 | | /** the pick up position of the array. |
27 | | #define SFMT_POS1 122 |
28 | | */ |
29 | | |
30 | | /** the parameter of shift left as four 32-bit registers. |
31 | | #define SFMT_SL1 18 |
32 | | */ |
33 | | |
34 | | /** the parameter of shift left as one 128-bit register. |
35 | | * The 128-bit integer is shifted by (SFMT_SL2 * 8) bits. |
36 | | #define SFMT_SL2 1 |
37 | | */ |
38 | | |
39 | | /** the parameter of shift right as four 32-bit registers. |
40 | | #define SFMT_SR1 11 |
41 | | */ |
42 | | |
43 | | /** the parameter of shift right as one 128-bit register. |
44 | | * The 128-bit integer is shifted by (SFMT_SL2 * 8) bits. |
45 | | #define SFMT_SR21 1 |
46 | | */ |
47 | | |
48 | | /** A bitmask, used in the recursion. These parameters are introduced |
49 | | * to break symmetry of SIMD. |
50 | | #define SFMT_MSK1 0xdfffffefU |
51 | | #define SFMT_MSK2 0xddfecb7fU |
52 | | #define SFMT_MSK3 0xbffaffffU |
53 | | #define SFMT_MSK4 0xbffffff6U |
54 | | */ |
55 | | |
56 | | /** These definitions are part of a 128-bit period certification vector. |
57 | | #define SFMT_PARITY1 0x00000001U |
58 | | #define SFMT_PARITY2 0x00000000U |
59 | | #define SFMT_PARITY3 0x00000000U |
60 | | #define SFMT_PARITY4 0xc98e126aU |
61 | | */ |
62 | | |
63 | | #include "SFMT-params19937.h" |
64 | | |
65 | | #endif /* SFMT_PARAMS_H */ |