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