# file "Rrng" -- a simple linear congruential pseudorandom number generator latestval = 12345 # seed value -- may be changed # choices of the parameter values -- may be changed m = 2^(32) a = 69069 b = 23606797 remainder = function(n,m) { return( n - m * floor(n/m) ) } nextrand = function() { latestval <<- remainder(a*latestval+b, m) # (global assignment) return(latestval / m) } print( nextrand() ) print( nextrand() )