aboutsummaryrefslogtreecommitdiff
path: root/SyncRNG.R
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2015-07-30 18:48:58 +0200
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2015-07-30 18:48:58 +0200
commit1c2dcd1125d4a542a7b4b291e8de1f3b3cdc86a0 (patch)
tree69f2ecfefa8630655cd09433973730a0a75f0a83 /SyncRNG.R
parentfix typos in README (diff)
downloadSyncRNG-1c2dcd1125d4a542a7b4b291e8de1f3b3cdc86a0.tar.gz
SyncRNG-1c2dcd1125d4a542a7b4b291e8de1f3b3cdc86a0.zip
By passing numbers between R and C as doubles we can avoid the limitations of the R integer type. This allows us to create a uniform RNG.
Diffstat (limited to 'SyncRNG.R')
-rw-r--r--SyncRNG.R4
1 files changed, 2 insertions, 2 deletions
diff --git a/SyncRNG.R b/SyncRNG.R
index 23be4d2..1849d89 100644
--- a/SyncRNG.R
+++ b/SyncRNG.R
@@ -11,13 +11,13 @@ SyncRNG <- setRefClass('SyncRNG',
initialize=function(..., seed=0) {
seed <<- seed
tmp <- .Call('R_syncrng_seed',
- as.integer(seed))
+ as.numeric(seed))
state <<- tmp[1:4]
callSuper(...)
},
randi=function() {
tmp <- .Call('R_syncrng_rand',
- as.integer(state))
+ as.numeric(state))
state <<- tmp[1:4]
return(tmp[5])
},