What algorithm does Math.random use?

javascript, mersenne-twister, random

Solution

It's likely implementation specific. The ECMAScript specification does not force any algorithm, so a Linux JavaScript implementation might very well use `/dev/urandom`.

Problem

Since I've been studying Computer Science, whenever random numbers come up, it's always Mersenne Twister. There's never even a question, no alternative. Just, use Mersenne Twister. So what does JavaScript's Math.random use? It seems like it ought to use Mersenne Twister, since it's apparently without peer, but I can't find any reference to whether it does or not. Does anyone know what it relies on, and/or why it isn't MT, if that's the case?

Original source