35 |
long-float-negative-epsilon) |
long-float-negative-epsilon) |
36 |
unless (= (float 1 e) (- (float 1 e) (/ e 2))) |
unless (= (float 1 e) (- (float 1 e) (/ e 2))) |
37 |
collect e) |
collect e) |
|
nil) |
|
38 |
|
nil) |
39 |
|
|
40 |
|
(deftest epsilons.5 |
41 |
|
(loop for (type var) in |
42 |
|
'( |
43 |
|
(short-float short-float-epsilon) |
44 |
|
(short-float short-float-negative-epsilon) |
45 |
|
(single-float single-float-epsilon) |
46 |
|
(single-float single-float-negative-epsilon) |
47 |
|
(double-float double-float-epsilon) |
48 |
|
(double-float double-float-negative-epsilon) |
49 |
|
(long-float long-float-epsilon) |
50 |
|
(long-float long-float-negative-epsilon)) |
51 |
|
for val = (symbol-value var) |
52 |
|
unless (typep val type) |
53 |
|
collect (list type var val)) |
54 |
|
nil) |
55 |
|
|
56 |
|
(deftest epsilons.6 |
57 |
|
(flet ((%check (x) (/= 1.0s0 (+ 1.0s0 x)))) |
58 |
|
(let ((eps (float-binary-search #'%check 0.0s0 1.0s0))) |
59 |
|
(if (= eps short-float-epsilon) |
60 |
|
:good |
61 |
|
(list eps short-float-epsilon)))) |
62 |
|
:good) |
63 |
|
|
64 |
|
(deftest epsilons.7 |
65 |
|
(flet ((%check (x) (/= 1.0f0 (+ 1.0f0 x)))) |
66 |
|
(let ((eps (float-binary-search #'%check 0.0f0 1.0f0))) |
67 |
|
(if (= eps single-float-epsilon) |
68 |
|
:good |
69 |
|
(list eps single-float-epsilon)))) |
70 |
|
:good) |
71 |
|
|
72 |
|
(deftest epsilons.8 |
73 |
|
(flet ((%check (x) (/= 1.0d0 (+ 1.0d0 x)))) |
74 |
|
(let ((eps (float-binary-search #'%check 0.0d0 1.0d0))) |
75 |
|
(if (= eps double-float-epsilon) |
76 |
|
:good |
77 |
|
(list eps double-float-epsilon)))) |
78 |
|
:good) |
79 |
|
|
80 |
|
(deftest epsilons.9 |
81 |
|
(flet ((%check (x) (/= 1.0l0 (+ 1.0l0 x)))) |
82 |
|
(let ((eps (float-binary-search #'%check 0.0l0 1.0l0))) |
83 |
|
(if (= eps long-float-epsilon) |
84 |
|
:good |
85 |
|
(list eps long-float-epsilon)))) |
86 |
|
:good) |
87 |
|
|
88 |
|
(deftest epsilons.10 |
89 |
|
(flet ((%check (x) (/= 1.0s0 (- 1.0s0 x)))) |
90 |
|
(let ((eps (float-binary-search #'%check 0.0s0 1.0s0))) |
91 |
|
(if (= eps short-float-negative-epsilon) |
92 |
|
:good |
93 |
|
(list eps short-float-negative-epsilon)))) |
94 |
|
:good) |
95 |
|
|
96 |
|
(deftest epsilons.11 |
97 |
|
(flet ((%check (x) (/= 1.0f0 (- 1.0f0 x)))) |
98 |
|
(let ((eps (float-binary-search #'%check 0.0f0 1.0f0))) |
99 |
|
(if (= eps single-float-negative-epsilon) |
100 |
|
:good |
101 |
|
(list eps single-float-negative-epsilon)))) |
102 |
|
:good) |
103 |
|
|
104 |
|
(deftest epsilons.12 |
105 |
|
(flet ((%check (x) (/= 1.0d0 (- 1.0d0 x)))) |
106 |
|
(let ((eps (float-binary-search #'%check 0.0d0 1.0d0))) |
107 |
|
(if (= eps double-float-negative-epsilon) |
108 |
|
:good |
109 |
|
(list eps double-float-negative-epsilon)))) |
110 |
|
:good) |
111 |
|
|
112 |
|
(deftest epsilons.13 |
113 |
|
(flet ((%check (x) (/= 1.0l0 (- 1.0l0 x)))) |
114 |
|
(let ((eps (float-binary-search #'%check 0.0l0 1.0l0))) |
115 |
|
(if (= eps long-float-negative-epsilon) |
116 |
|
:good |
117 |
|
(list eps long-float-negative-epsilon)))) |
118 |
|
:good) |
119 |
|
|
120 |
|
|
121 |
|
|
122 |
|
|
123 |
|
|
124 |
|
|