#ifndef DSFMT_PARAMS19937_H #define DSFMT_PARAMS19937_H /* #define DSFMT_N 191 */ /* #define DSFMT_MAXDEGREE 19992 */ #define DSFMT_POS1 117 #define DSFMT_SL1 19 #define DSFMT_MSK1 UINT64_C(0x000ffafffffffb3f) #define DSFMT_MSK2 UINT64_C(0x000ffdfffc90fffd) #define DSFMT_MSK32_1 0x000ffaffU #define DSFMT_MSK32_2 0xfffffb3fU #define DSFMT_MSK32_3 0x000ffdffU #define DSFMT_MSK32_4 0xfc90fffdU #define DSFMT_FIX1 UINT64_C(0x90014964b32f4329) #define DSFMT_FIX2 UINT64_C(0x3b8d12ac548a7c7a) #define DSFMT_PCV1 UINT64_C(0x3d84e1ac0dc82880) #define DSFMT_PCV2 UINT64_C(0x0000000000000001) #define DSFMT_IDSTR "dSFMT2-19937:117-19:ffafffffffb3f-ffdfffc90fffd" /* PARAMETERS FOR ALTIVEC */ #if defined(__APPLE__) /* For OSX */ #define ALTI_SL1 (vector unsigned int)(3, 3, 3, 3) #define ALTI_SL1_PERM \ (vector unsigned char)(2,3,4,5,6,7,30,30,10,11,12,13,14,15,0,1) #define ALTI_SL1_MSK \ (vector unsigned int)(0xffffffffU,0xfff80000U,0xffffffffU,0xfff80000U) #define ALTI_MSK (vector unsigned int)(DSFMT_MSK32_1, \ DSFMT_MSK32_2, DSFMT_MSK32_3, DSFMT_MSK32_4) #else /* For OTHER OSs(Linux?) */ #define ALTI_SL1 {3, 3, 3, 3} #define ALTI_SL1_PERM \ {2,3,4,5,6,7,30,30,10,11,12,13,14,15,0,1} #define ALTI_SL1_MSK \ {0xffffffffU,0xfff80000U,0xffffffffU,0xfff80000U} #define ALTI_MSK \ {DSFMT_MSK32_1, DSFMT_MSK32_2, DSFMT_MSK32_3, DSFMT_MSK32_4} #endif #endif /* DSFMT_PARAMS19937_H */