Raymond Toy pushed to branch rtoy-xoro-default at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/code/rand-xoroshiro.lisp
    ... ... @@ -485,9 +485,12 @@
    485 485
     	(s1-1 0))
    
    486 486
         (declare (type (unsigned-byte 32) s0-0 s0-1 s1-0 s1-1)
    
    487 487
     	     (optimize (speed 3) (safety 0)))
    
    488
    -    (dolist (jump '(#xbeac0467eba5facb #xd86b048b86aa9922))
    
    489
    -      (declare (type (unsigned-byte 64) jump))
    
    490
    -      (dotimes (b 64)
    
    488
    +    ;; The constants are #xbeac0467eba5facb and #xd86b048b86aa9922,
    
    489
    +    ;; and we process these numbers starting from the LSB.  We want ot
    
    490
    +    ;; process these in 32-bit chunks, so word-reverse the constants.
    
    491
    +    (dolist (jump '(#xeba5facb #xbeac0467 #x86aa9922 #xd86b048b))
    
    492
    +      (declare (type (unsigned-byte 32) jump))
    
    493
    +      (dotimes (b 32)
    
    491 494
     	(declare (fixnum b))
    
    492 495
     	(when (logbitp b jump)
    
    493 496
     	  (multiple-value-bind (x1 x0)