OSDN Git Service

VC12
[psychlops/cpp.git] / psychlops / core / math / dSFMT2.0 / dSFMT-params19937.h
1 #ifndef DSFMT_PARAMS19937_H
2 #define DSFMT_PARAMS19937_H
3
4 /* #define DSFMT_N      191 */
5 /* #define DSFMT_MAXDEGREE      19992 */
6 #define DSFMT_POS1      117
7 #define DSFMT_SL1       19
8 #define DSFMT_MSK1      UINT64_C(0x000ffafffffffb3f)
9 #define DSFMT_MSK2      UINT64_C(0x000ffdfffc90fffd)
10 #define DSFMT_MSK32_1   0x000ffaffU
11 #define DSFMT_MSK32_2   0xfffffb3fU
12 #define DSFMT_MSK32_3   0x000ffdffU
13 #define DSFMT_MSK32_4   0xfc90fffdU
14 #define DSFMT_FIX1      UINT64_C(0x90014964b32f4329)
15 #define DSFMT_FIX2      UINT64_C(0x3b8d12ac548a7c7a)
16 #define DSFMT_PCV1      UINT64_C(0x3d84e1ac0dc82880)
17 #define DSFMT_PCV2      UINT64_C(0x0000000000000001)
18 #define DSFMT_IDSTR     "dSFMT2-19937:117-19:ffafffffffb3f-ffdfffc90fffd"
19
20
21 /* PARAMETERS FOR ALTIVEC */
22 #if defined(__APPLE__)  /* For OSX */
23     #define ALTI_SL1    (vector unsigned char)(3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3)
24     #define ALTI_SL1_PERM \
25         (vector unsigned char)(2,3,4,5,6,7,30,30,10,11,12,13,14,15,0,1)
26     #define ALTI_SL1_MSK \
27         (vector unsigned int)(0xffffffffU,0xfff80000U,0xffffffffU,0xfff80000U)
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    {3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
32     #define ALTI_SL1_PERM \
33         {2,3,4,5,6,7,30,30,10,11,12,13,14,15,0,1}
34     #define ALTI_SL1_MSK \
35         {0xffffffffU,0xfff80000U,0xffffffffU,0xfff80000U}
36     #define ALTI_MSK \
37         {DSFMT_MSK32_1, DSFMT_MSK32_2, DSFMT_MSK32_3, DSFMT_MSK32_4}
38 #endif
39
40 #endif /* DSFMT_PARAMS19937_H */