/home/liu/actions-runner/_work/ccv/ccv/lib/3rdparty/dsfmt/dSFMT-params.h
Line | Count | Source |
1 | | #ifndef DSFMT_PARAMS_H |
2 | | #define DSFMT_PARAMS_H |
3 | | |
4 | | #include "dSFMT.h" |
5 | | |
6 | | /*---------------------- |
7 | | the parameters of DSFMT |
8 | | following definitions are in dSFMT-paramsXXXX.h file. |
9 | | ----------------------*/ |
10 | | /** the pick up position of the array. |
11 | | #define DSFMT_POS1 122 |
12 | | */ |
13 | | |
14 | | /** the parameter of shift left as four 32-bit registers. |
15 | | #define DSFMT_SL1 18 |
16 | | */ |
17 | | |
18 | | /** the parameter of shift right as four 32-bit registers. |
19 | | #define DSFMT_SR1 12 |
20 | | */ |
21 | | |
22 | | /** A bitmask, used in the recursion. These parameters are introduced |
23 | | * to break symmetry of SIMD. |
24 | | #define DSFMT_MSK1 (uint64_t)0xdfffffefULL |
25 | | #define DSFMT_MSK2 (uint64_t)0xddfecb7fULL |
26 | | */ |
27 | | |
28 | | /** These definitions are part of a 128-bit period certification vector. |
29 | | #define DSFMT_PCV1 UINT64_C(0x00000001) |
30 | | #define DSFMT_PCV2 UINT64_C(0x00000000) |
31 | | */ |
32 | | |
33 | 157k | #define DSFMT_LOW_MASK UINT64_C(0x000FFFFFFFFFFFFF) |
34 | 157k | #define DSFMT_HIGH_CONST UINT64_C(0x3FF0000000000000) |
35 | 527M | #define DSFMT_SR 12 |
36 | | |
37 | | /* for sse2 */ |
38 | | #if defined(HAVE_SSE2) |
39 | | #define SSE2_SHUFF 0x1b |
40 | | #elif defined(HAVE_ALTIVEC) |
41 | | #if defined(__APPLE__) /* For OSX */ |
42 | | #define ALTI_SR (vector unsigned char)(4) |
43 | | #define ALTI_SR_PERM \ |
44 | | (vector unsigned char)(15,0,1,2,3,4,5,6,15,8,9,10,11,12,13,14) |
45 | | #define ALTI_SR_MSK \ |
46 | | (vector unsigned int)(0x000fffffU,0xffffffffU,0x000fffffU,0xffffffffU) |
47 | | #define ALTI_PERM \ |
48 | | (vector unsigned char)(12,13,14,15,8,9,10,11,4,5,6,7,0,1,2,3) |
49 | | #else |
50 | | #define ALTI_SR {4} |
51 | | #define ALTI_SR_PERM {15,0,1,2,3,4,5,6,15,8,9,10,11,12,13,14} |
52 | | #define ALTI_SR_MSK {0x000fffffU,0xffffffffU,0x000fffffU,0xffffffffU} |
53 | | #define ALTI_PERM {12,13,14,15,8,9,10,11,4,5,6,7,0,1,2,3} |
54 | | #endif |
55 | | #endif |
56 | | |
57 | | #include "dSFMT-params19937.h" |
58 | | |
59 | | #endif /* DSFMT_PARAMS_H */ |