Add forgotten file
This commit is contained in:
20
benchmark/common_fast.pyx
Normal file
20
benchmark/common_fast.pyx
Normal 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
|
||||
Reference in New Issue
Block a user