Ovo je nova klasa pseudoslučajnih brojeva, sa random veličinom ciklusa. Također se vrši rotacija bitova, ili mjenjanje bitova, da bi se dobio što slučajniji niz.
RANROT tip A rotira bitove poslije zbrajanja
RANROT tip B rotira bitove prije zbrajanja
RANROT tip B3 rotira bitove poslije zbrajanja
RANROT tip W rotira dijelove bitova neovisno
RANROT tip A:
Xn = ((Xn-j + Xn-k)
mod 2b) rotr r |
(1) |
RANROT tip B:
Xn = ((Xn-j rotr r1)
+ (Xn-k rotr r2)) mod 2b |
(2) |
RANROT tip B3:
Xn = ((Xn-i rotr r1)
+ (Xn-j rotr r2) + (Xn-k
rotr r3)) mod 2b |
(3) |
RANROT tip W:
Zn = ((Yn-j rotr r3)
+ (Yn-k rotr r1)) mod 2b/2 |
|
Yn = ((Zn-j rotr r4)
+ (Zn-k rotr r2)) mod 2b/2 |
|
Xn = Yn + Zn
· 2b/2 |
(4) |
Svaki X je UNSIGNED int sa b bitova.
Y rotr r znači da se bitovi od Y rotiraju r mjesta udesno (000011112 rotr 3 = 111000012)