From 2b358d4a0b5f17a390adb9360a5f68d462157ee2 Mon Sep 17 00:00:00 2001
From: pfdietz <pfdietz@localhost>
Date: Sat, 11 Oct 2003 14:10:37 +0000
Subject: [PATCH] Modify how integer types are generated so we have a high
 probability of seeing types where the upper and lower bounds are 'close' in
 magnitude.

---
 ansi-tests/random-int-form.lsp | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/ansi-tests/random-int-form.lsp b/ansi-tests/random-int-form.lsp
index e421688c..107e509f 100644
--- a/ansi-tests/random-int-form.lsp
+++ b/ansi-tests/random-int-form.lsp
@@ -115,11 +115,17 @@
   "Generate a list (LO HI) of integers, LO <= HI.  This is used
    for generating integer types."
   (declare (ignore var))
-  (flet ((%r () (let ((r (ash 1 (1+ (random *maximum-random-int-bits*)))))
-		  (- (random r) (floor (/ r 2))))))
-    (let ((x (%r))
-	  (y (%r)))
-      (list (min x y) (max x y)))))
+  (rcase
+   (1 (flet ((%r () (let ((r (ash 1 (1+ (random *maximum-random-int-bits*)))))
+		      (- (random r) (floor (/ r 2))))))
+	(let ((x (%r))
+	      (y (%r)))
+	  (list (min x y) (max x y)))))
+   (1 (let* ((b (ash 1 (1+ (random *maximum-random-int-bits*))))
+	     (b2 (floor (/ b 2))))
+	(let ((x (- (random b) b2))
+	      (y (- (random b) b2)))
+	  (list (min x y) (max x y)))))))
 
 (defparameter *flet-names* nil)
 
-- 
GitLab