Fix (run-program) to cleanup fd handlers
[sbcl.git] / tests / arith.pure.lisp
index d570df2..d58da25 100644 (file)
   (dolist (fun '(truncate floor ceiling mod rem))
     (let* ((foo (compile nil `(lambda (x)
                                 (declare (optimize (speed 3)
-                                                   (space 0)
+                                                   (space 1)
                                                    (compilation-speed 0))
                                          (type (unsigned-byte
                                                 ,sb-vm:n-word-bits) x))
         (dolist (fun '(truncate ceiling floor mod rem))
           (let ((foo (compile nil `(lambda (x)
                                      (declare (optimize (speed 3)
-                                                        (space 0)
+                                                        (space 1)
                                                         (compilation-speed 0))
                                               (type ,dividend-type x))
                                      (,fun x ,divisor)))))
                                 ,@(loop repeat 4
                                         collect (+ 10000 (random 101)))
                                 ,@(loop for i from 4 to sb-vm:n-word-bits
-                                        for r = (random (expt 2 i))
+                                        for pow = (expt 2 (1- i))
+                                        for r = (+ pow (random pow))
                                         collect r)))
               (when (typep dividend dividend-type)
                 (multiple-value-bind (q1 r1)