[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: until we get Math.random

>In response to Gordon and Jirawat on the prisrand() function, I've cobbled
>together a cludgy little random number generator for non-Unix Javascript
>platforms. Give this a shot:
>This is NOT a random number generator, or a psuedo-random number generator,
>in the mathematical sense of the word. It's a cludgy hack designed to add a

I guess I should have posted this sooner. Sorry.

I believe this IS a psuedo-random number generator. I've been using it in
my Interstellar Strategy Game for a month now. Seems to work fine.

function init(factor) {
        var today = new Date()
        return (factor*today.getTime()/1000)%30000
//Used to initialize rand() variables

IX = init(2)
IY = init(3)
IZ = init(4)
//2, 3, and 4 below were arbitrarily chosen.
//They put some distance between the initial values of IX, IY, and IZ

function rand() {
        IX = Math.floor(171 * IX % 30269)
        IY = Math.floor(172 * IY % 30307)
        IZ = Math.floor(170 * IZ % 30323)
        return ( IX/30269.0 + IY/30307.0 + IZ/30323.0 ) % 1.0
//Returns pseudo-random number between 0 and 1

//Random number function based on http://lib.stat.cmu.edu/griffiths-hill/183

(BTW, it took me maybe 10 minutes to find the original algorithm using the
Alta Vista search engine. All praise Alta Vista!)

This message came from the mailing list javascript. For help using the
mailing list software, please send a message to 'majordomo@obscure.org'
with the message body 'help'. To unsubscribe, send a message to
'majordomo@obscure.org' with the message body 'unsubscribe javascript'.