153 |
(loop for x in *reals* |
(loop for x in *reals* |
154 |
nconc |
nconc |
155 |
(loop for y in *reals* |
(loop for y in *reals* |
156 |
for m = (max x y) |
when (numbers-are-compatible x y) |
157 |
unless (and (>= m x) (>= m y) |
unless (let ((m (max x y))) |
158 |
(or (= m x) (= m y))) |
(and (>= m x) (>= m y) |
159 |
collect (list x y m)))) |
(or (= m x) (= m y)))) |
160 |
|
collect (list x y (max x y))))) |
161 |
|
|
162 |
(defun min.2-fn () |
(defun min.2-fn () |
163 |
(loop for x in *reals* |
(loop for x in *reals* |
164 |
nconc |
nconc |
165 |
(loop for y in *reals* |
(loop for y in *reals* |
166 |
for m = (min x y) |
when (numbers-are-compatible x y) |
167 |
unless (and (<= m x) (<= m y) |
unless (let ((m (min x y))) |
168 |
(or (= m x) (= m y))) |
(and (<= m x) (<= m y) |
169 |
collect (list x y m)))) |
(or (= m x) (= m y)))) |
170 |
|
collect (list x y (min x y))))) |
171 |
|
|
172 |
(defun random-nonnegative-real () |
(defun random-nonnegative-real () |
173 |
(if (coin 3) |
(if (coin 3) |