1 | #ifndef DSFMT_PARAMS521_H
|
---|
2 | #define DSFMT_PARAMS521_H
|
---|
3 |
|
---|
4 | /* #define DSFMT_N 4 */
|
---|
5 | /* #define DSFMT_MAXDEGREE 544 */
|
---|
6 | #define DSFMT_POS1 3
|
---|
7 | #define DSFMT_SL1 25
|
---|
8 | #define DSFMT_MSK1 UINT64_C(0x000fbfefff77efff)
|
---|
9 | #define DSFMT_MSK2 UINT64_C(0x000ffeebfbdfbfdf)
|
---|
10 | #define DSFMT_MSK32_1 0x000fbfefU
|
---|
11 | #define DSFMT_MSK32_2 0xff77efffU
|
---|
12 | #define DSFMT_MSK32_3 0x000ffeebU
|
---|
13 | #define DSFMT_MSK32_4 0xfbdfbfdfU
|
---|
14 | #define DSFMT_FIX1 UINT64_C(0xcfb393d661638469)
|
---|
15 | #define DSFMT_FIX2 UINT64_C(0xc166867883ae2adb)
|
---|
16 | #define DSFMT_PCV1 UINT64_C(0xccaa588000000000)
|
---|
17 | #define DSFMT_PCV2 UINT64_C(0x0000000000000001)
|
---|
18 | #define DSFMT_IDSTR "dSFMT2-521:3-25:fbfefff77efff-ffeebfbdfbfdf"
|
---|
19 |
|
---|
20 |
|
---|
21 | /* PARAMETERS FOR ALTIVEC */
|
---|
22 | #if defined(__APPLE__) /* For OSX */
|
---|
23 | #define ALTI_SL1 (vector unsigned int)(1, 1, 1, 1)
|
---|
24 | #define ALTI_SL1_PERM \
|
---|
25 | (vector unsigned char)(3,4,5,6,7,29,29,29,11,12,13,14,15,0,1,2)
|
---|
26 | #define ALTI_SL1_MSK \
|
---|
27 | (vector unsigned int)(0xffffffffU,0xfe000000U,0xffffffffU,0xfe000000U)
|
---|
28 | #define ALTI_MSK (vector unsigned int)(DSFMT_MSK32_1, \
|
---|
29 | DSFMT_MSK32_2, DSFMT_MSK32_3, DSFMT_MSK32_4)
|
---|
30 | #else /* For OTHER OSs(Linux?) */
|
---|
31 | #define ALTI_SL1 {1, 1, 1, 1}
|
---|
32 | #define ALTI_SL1_PERM \
|
---|
33 | {3,4,5,6,7,29,29,29,11,12,13,14,15,0,1,2}
|
---|
34 | #define ALTI_SL1_MSK \
|
---|
35 | {0xffffffffU,0xfe000000U,0xffffffffU,0xfe000000U}
|
---|
36 | #define ALTI_MSK \
|
---|
37 | {DSFMT_MSK32_1, DSFMT_MSK32_2, DSFMT_MSK32_3, DSFMT_MSK32_4}
|
---|
38 | #endif
|
---|
39 |
|
---|
40 | #endif /* DSFMT_PARAMS521_H */
|
---|