mersenne-random 0.1.1 → 0.1.2
raw patch · 4 files changed
+32/−6 lines, 4 files
Files
- System/Random/Mersenne.hs +3/−3
- cbits/SFMT_wrap.c +16/−0
- include/SFMT_wrap.h +10/−0
- mersenne-random.cabal +3/−3
System/Random/Mersenne.hs view
@@ -435,7 +435,7 @@ foreign import ccall unsafe "SFMT.h gen_rand32" c_gen_rand32 :: IO UInt32 -foreign import ccall unsafe "SFMT.h gen_rand64_mix"+foreign import ccall unsafe "SFMT_wrap.h gen_rand64_mix_wrap" c_gen_rand64_mix :: IO UInt64 #else@@ -456,13 +456,13 @@ -- 32bit integer #if WORD_SIZE_IN_BITS < 64-foreign import ccall unsafe "SFMT.h genrand_real2"+foreign import ccall unsafe "SFMT_wrap.h genrand_real2_wrap" c_genrand_real2 :: IO CDouble -- foreign import ccall unsafe "SFMT.h genrand_res53_mix" -- c_genrand_res53_mix :: IO CDouble #else-foreign import ccall unsafe "SFMT.h genrand_res53"+foreign import ccall unsafe "SFMT_wrap.h genrand_res53_wrap" c_genrand_res53 :: IO CDouble #endif
+ cbits/SFMT_wrap.c view
@@ -0,0 +1,16 @@+#include "SFMT.h"++uint64_t gen_rand64_mix_wrap(void)+{+ return gen_rand64_mix();+}++double genrand_real2_wrap(void)+{+ return genrand_real2();+}++double genrand_res53_wrap()+{+ return genrand_res53();+}
+ include/SFMT_wrap.h view
@@ -0,0 +1,10 @@+#ifndef SFMT_WRAP_H+#define SFMT_WRAP_H++#include "SFMT.h"++uint64_t gen_rand64_mix_wrap(void);+double genrand_real2_wrap(void);+double genrand_res53_wrap();++#endif /* SFMT_WRAP_H */
mersenne-random.cabal view
@@ -1,5 +1,5 @@ name: mersenne-random-version: 0.1.1+version: 0.1.2 homepage: http://code.haskell.org/~dons/code/mersenne-random synopsis: Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister description:@@ -101,7 +101,7 @@ ghc-options: -Wall -O2 -fvia-C -fexcess-precision - c-sources: cbits/SFMT.c+ c-sources: cbits/SFMT.c cbits/SFMT_wrap.c include-dirs: include- includes: SFMT.h+ includes: SFMT.h SFMT_wrap.h install-includes: SFMT.h