ちょっとネタ投下してみる。
マジメな乱数アルゴリズム。
周期2^521-1で16次元に均等分布します。

class MLS521
{
private:
unsigned long st[ 16 ], x, y, p;
public:
MLS521( unsigned long seed ) {
x = 0x41C64E6D * seed + 0x3039, p = 0, y = 0;
for (unsigned long i=0, s=x, t=~x, u; i<16; i++) {
u = t, t = s, s = ( u << 1 ) ^ ( t >> 31 );
st[ i ] = s ^= ( u << 6 ) ^ ( t >> 26 );
}
for (unsigned long i=1; i<16; i++) {
y ^= st[ i ];
y = ( y << 2 ) ^ ( y >> 30 );
y ^= y >> 12;
}
y ^= x;
}
unsigned long next( void ) {
unsigned long r = y, s = r ^ ( r >> 21 );
unsigned long u = st[ p ], v = st[ ( p + 1 ) & 15 ];
st[ p ] = x, ++p &= 15;
x ^= ( u << 23 ) ^ ( v >> 9 );
r = ( r << 2 ) ^ ( r >> 30 );
y = r ^ ( r >> 12 ) ^ x ^ v;
return s ^ ( s << 6 ) ^ ( s << 13 );
}
};