summaryrefslogtreecommitdiff
path: root/src/common/dSFMT-params521.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/dSFMT-params521.h')
-rw-r--r--src/common/dSFMT-params521.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/common/dSFMT-params521.h b/src/common/dSFMT-params521.h
new file mode 100644
index 0000000..f771dc1
--- /dev/null
+++ b/src/common/dSFMT-params521.h
@@ -0,0 +1,40 @@
+#ifndef DSFMT_PARAMS521_H
+#define DSFMT_PARAMS521_H
+
+/* #define DSFMT_N 4 */
+/* #define DSFMT_MAXDEGREE 544 */
+#define DSFMT_POS1 3
+#define DSFMT_SL1 25
+#define DSFMT_MSK1 UINT64_C(0x000fbfefff77efff)
+#define DSFMT_MSK2 UINT64_C(0x000ffeebfbdfbfdf)
+#define DSFMT_MSK32_1 0x000fbfefU
+#define DSFMT_MSK32_2 0xff77efffU
+#define DSFMT_MSK32_3 0x000ffeebU
+#define DSFMT_MSK32_4 0xfbdfbfdfU
+#define DSFMT_FIX1 UINT64_C(0xcfb393d661638469)
+#define DSFMT_FIX2 UINT64_C(0xc166867883ae2adb)
+#define DSFMT_PCV1 UINT64_C(0xccaa588000000000)
+#define DSFMT_PCV2 UINT64_C(0x0000000000000001)
+#define DSFMT_IDSTR "dSFMT2-521:3-25:fbfefff77efff-ffeebfbdfbfdf"
+
+
+/* PARAMETERS FOR ALTIVEC */
+#if defined(__APPLE__) /* For OSX */
+ #define ALTI_SL1 (vector unsigned int)(1, 1, 1, 1)
+ #define ALTI_SL1_PERM \
+ (vector unsigned char)(3,4,5,6,7,29,29,29,11,12,13,14,15,0,1,2)
+ #define ALTI_SL1_MSK \
+ (vector unsigned int)(0xffffffffU,0xfe000000U,0xffffffffU,0xfe000000U)
+ #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 {1, 1, 1, 1}
+ #define ALTI_SL1_PERM \
+ {3,4,5,6,7,29,29,29,11,12,13,14,15,0,1,2}
+ #define ALTI_SL1_MSK \
+ {0xffffffffU,0xfe000000U,0xffffffffU,0xfe000000U}
+ #define ALTI_MSK \
+ {DSFMT_MSK32_1, DSFMT_MSK32_2, DSFMT_MSK32_3, DSFMT_MSK32_4}
+#endif
+
+#endif /* DSFMT_PARAMS521_H */