1 #ifndef DSFMT_PARAMS521_H
2 #define DSFMT_PARAMS521_H
4 /* #define DSFMT_N 4 */
5 /* #define DSFMT_MAXDEGREE 544 */
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"
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}
37 {DSFMT_MSK32_1, DSFMT_MSK32_2, DSFMT_MSK32_3, DSFMT_MSK32_4}
40 #endif /* DSFMT_PARAMS521_H */