| 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 */
 | 
|---|