Add forgotten file

This commit is contained in:
Jason Paryani
2013-11-19 17:25:50 -08:00
parent 1ba1afcfce
commit a3f1118fc9

20
benchmark/common_fast.pyx Normal file
View File

@@ -0,0 +1,20 @@
from libc.stdint cimport *
cdef uint32_t A = 1664525
cdef uint32_t C = 1013904223
cdef uint32_t state = C
cdef int32_t MAX_INT = 2**31 - 1
cpdef uint32_t nextFastRand():
global state
state = A * state + C
return state
cpdef uint32_t rand_int(uint32_t range):
return nextFastRand() % range
cpdef double rand_double(double range):
return nextFastRand() * range / MAX_INT
cpdef bint rand_bool():
return nextFastRand() % 2