2
;;;; Author: Paul Dietz
3
;;;; Created: Tue Nov 26 20:01:27 2002
4
;;;; Contains: Aux. functions for subseq tests
8
(defun subseq-list.4-body ()
10
(let ((x (loop for i from 0 to 19 collect i)))
15
(let ((y (subseq x i j)))
17
for e in y and k from i to (1- j) do
18
(unless (eqlt e k) (return-from done nil)))))))
21
(defun subseq-list.5-body ()
23
(let ((x (loop for i from 0 to 29 collect i)))
26
(unless (equalt (subseq x i)
27
(loop for j from i to 29 collect j))
28
(return-from done nil))))
31
(defun subseq-list.6-body ()
32
(let* ((x (make-list 100))
33
(z (loop for e on x collect e))
39
(when (or (not (eqt g e))
40
(not (eqlt (car e) (car f)))
46
(defun subseq-vector.1-body ()
48
(let* ((x (make-sequence 'vector 10 :initial-element 'a))
50
(unless (every #'(lambda (e) (eqt e 'a)) x)
52
(unless (every #'(lambda (e) (eqt e 'a)) y)
54
(unless (eqlt (length x) 10) (return 3))
55
(unless (eqlt (length y) 4) (return 4))
56
(loop for i from 0 to 9 do (setf (elt x i) 'b))
57
(unless (every #'(lambda (e) (eqt e 'a)) y)
59
(loop for i from 0 to 3 do (setf (elt y i) 'c))
61
(not (not (every #'(lambda (e) (eqt e 'b)) x)))
64
(defun subseq-vector.2-body ()
66
(let* ((x (make-sequence '(vector fixnum) 10 :initial-element 1))
68
(unless (every #'(lambda (e) (eqlt e 1)) x)
70
(unless (every #'(lambda (e) (eqlt e 1)) y)
72
(unless (eqlt (length x) 10) (return 3))
73
(unless (eqlt (length y) 4) (return 4))
74
(loop for i from 0 to 9 do (setf (elt x i) 2))
75
(unless (every #'(lambda (e) (eqlt e 1)) y)
77
(loop for i from 0 to 3 do (setf (elt y i) 3))
79
(not (not (every #'(lambda (e) (eqlt e 2)) x)))
82
(defun subseq-vector.3-body ()
84
(let* ((x (make-sequence '(vector single-float) 10 :initial-element 1.0))
86
(unless (every #'(lambda (e) (= e 1.0)) x)
88
(unless (every #'(lambda (e) (= e 1.0)) y)
90
(unless (eqlt (length x) 10) (return 3))
91
(unless (eqlt (length y) 4) (return 4))
92
(loop for i from 0 to 9 do (setf (elt x i) 2.0))
93
(unless (every #'(lambda (e) (= e 1.0)) y)
95
(loop for i from 0 to 3 do (setf (elt y i) 3.0))
97
(not (not (every #'(lambda (e) (= e 2.0)) x)))
100
(defun subseq-vector.4-body ()
102
(let* ((x (make-sequence '(vector double-float) 10 :initial-element 1.0d0))
104
(unless (every #'(lambda (e) (= e 1.0)) x)
106
(unless (every #'(lambda (e) (= e 1.0)) y)
108
(unless (eqlt (length x) 10) (return 3))
109
(unless (eqlt (length y) 4) (return 4))
110
(loop for i from 0 to 9 do (setf (elt x i) 2.0d0))
111
(unless (every #'(lambda (e) (= e 1.0)) y)
113
(loop for i from 0 to 3 do (setf (elt y i) 3.0d0))
115
(not (not (every #'(lambda (e) (= e 2.0)) x)))
118
(defun subseq-vector.5-body ()
120
(let* ((x (make-sequence '(vector short-float) 10 :initial-element 1.0s0))
122
(unless (every #'(lambda (e) (= e 1.0)) x)
124
(unless (every #'(lambda (e) (= e 1.0)) y)
126
(unless (eqlt (length x) 10) (return 3))
127
(unless (eqlt (length y) 4) (return 4))
128
(loop for i from 0 to 9 do (setf (elt x i) 2.0s0))
129
(unless (every #'(lambda (e) (= e 1.0)) y)
131
(loop for i from 0 to 3 do (setf (elt y i) 3.0s0))
133
(not (not (every #'(lambda (e) (= e 2.0)) x)))
136
(defun subseq-vector.6-body ()
138
(let* ((x (make-sequence '(vector long-float) 10 :initial-element 1.0l0))
140
(unless (every #'(lambda (e) (= e 1.0)) x)
142
(unless (every #'(lambda (e) (= e 1.0)) y)
144
(unless (eqlt (length x) 10) (return 3))
145
(unless (eqlt (length y) 4) (return 4))
146
(loop for i from 0 to 9 do (setf (elt x i) 2.0l0))
147
(unless (every #'(lambda (e) (= e 1.0)) y)
149
(loop for i from 0 to 3 do (setf (elt y i) 3.0l0))
151
(not (not (every #'(lambda (e) (= e 2.0)) x)))
154
(defun subseq-string.1-body ()
155
(let* ((s1 "abcdefgh")
157
(loop for start from 0 below len
159
(string= (subseq s1 start)
160
(coerce (loop for i from start to (1- len)
164
(defun subseq-string.2-body ()
165
(let* ((s1 "abcdefgh")
167
(loop for start from 0 below len
169
(loop for end from (1+ start) to len
171
(string= (subseq s1 start end)
172
(coerce (loop for i from start below end
176
(defun subseq-string.3-body ()
177
(let* ((s1 (make-array '(10) :initial-contents "abcdefghij"
179
:element-type 'character))
183
(loop for start from 0 below len
185
(string= (subseq s1 start)
186
(coerce (loop for i from start to (1- len)
189
(loop for start from 0 below len
191
(loop for end from (1+ start) to len
193
(string= (subseq s1 start end)
194
(coerce (loop for i from start below end
197
(defun subseq-bit-vector.1-body ()
198
(let* ((s1 #*11001000)
200
(loop for start from 0 below len
202
(equalp (subseq s1 start)
203
(coerce (loop for i from start to (1- len)
207
(defun subseq-bit-vector.2-body ()
208
(let* ((s1 #*01101011)
210
(loop for start from 0 below len
212
(loop for end from (1+ start) to len
214
(equalp (subseq s1 start end)
215
(coerce (loop for i from start below end
219
(defun subseq-bit-vector.3-body ()
220
(let* ((s1 (make-array '(10) :initial-contents #*1101100110
226
(loop for start from 0 below len
228
(equalp (subseq s1 start)
229
(coerce (loop for i from start to (1- len)
232
(loop for start from 0 below len
234
(loop for end from (1+ start) to len
236
(equalp (subseq s1 start end)
237
(coerce (loop for i from start below end