/[gcl]/gcl/ansi-tests/reverse.lsp
ViewVC logotype

Diff of /gcl/ansi-tests/reverse.lsp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by pfdietz, Tue Sep 21 13:07:11 2004 UTC revision 1.11 by pfdietz, Mon Sep 27 13:54:20 2004 UTC
# Line 25  Line 25 
25    #(e d c b a)    #(e d c b a)
26    #(a b c d e))    #(a b c d e))
27    
28  (deftest reverse-nonsimple-vector.1  (deftest reverse-vector.3
29    (let ((x (make-array 0 :fill-pointer t :adjustable t)))    (let ((x (make-array 0 :fill-pointer t :adjustable t)))
30      (reverse x))      (reverse x))
31    #())    #())
32    
33  (deftest reverse-nonsimple-vector.2  (deftest reverse-vector.4
34    (let* ((x (make-array 5 :initial-contents '(1 2 3 4 5)    (let* ((x (make-array 5 :initial-contents '(1 2 3 4 5)
35                          :fill-pointer t :adjustable t))                          :fill-pointer t :adjustable t))
36           (y (reverse x)))           (y (reverse x)))
# Line 38  Line 38 
38    #(5 4 3 2 1)    #(5 4 3 2 1)
39    #(1 2 3 4 5))    #(1 2 3 4 5))
40    
41  (deftest reverse-nonsimple-vector.3  (deftest reverse-vector.5
42    (let* ((x (make-array 10 :initial-contents '(1 2 3 4 5 6 7 8 9 10)    (let* ((x (make-array 10 :initial-contents '(1 2 3 4 5 6 7 8 9 10)
43                          :fill-pointer 5))                          :fill-pointer 5))
44           (y (reverse x)))           (y (reverse x)))
45      y)      y)
46    #(5 4 3 2 1))    #(5 4 3 2 1))
47    
48    ;;; Other unusual vectors
49    
50    (deftest reverse-vector.6
51      (do-special-integer-vectors
52       (v #(1 1 0 1 1 0) nil)
53       (let ((nv (reverse v)))
54         (assert (typep nv 'simple-array))
55         (assert (not (eql v nv)))
56         (assert (equalp nv #(0 1 1 0 1 1)))
57         (assert (equalp v #(1 1 0 1 1 0)))))
58      nil)
59    
60    (deftest reverse-vector.7
61      (do-special-integer-vectors
62       (v #(-1 -1 0 -1 -1 0) nil)
63       (let ((nv (reverse v)))
64         (assert (typep nv 'simple-array))
65         (assert (not (eql v nv)))
66         (assert (equalp nv #(0 -1 -1 0 -1 -1)))
67         (assert (equalp v #(-1 -1 0 -1 -1 0)))))
68      nil)
69    
70    (deftest reverse-vector.8
71      (let ((len 10))
72        (loop for etype in '(short-float single-float double-float long-float rational)
73              for vals = (loop for i from 1 to len collect (coerce i etype))
74              for vec = (make-array len :element-type etype :initial-contents vals)
75              for nvec = (reverse vec)
76              unless (and (eql (length nvec) len)
77                          (typep nvec 'simple-array)
78                          (not (eql vec nvec))
79                          (every #'eql (reverse vals) nvec)
80                          (every #'eql vals vec))
81              collect (list etype vals vec nvec)))
82      nil)
83    
84    (deftest reverse-vector.9
85      (let ((len 10))
86        (loop for cetype in '(short-float single-float double-float long-float rational integer)
87              for etype = `(complex ,cetype)
88              for vals = (loop for i from 1 to len collect (complex (coerce i cetype)
89                                                                    (coerce (- i) cetype)))
90              for vec = (make-array len :element-type etype :initial-contents vals)
91              for nvec = (reverse vec)
92              unless (and (eql (length nvec) len)
93                          (typep nvec 'simple-array)
94                          (not (eql vec nvec))
95                          (every #'eql (reverse vals) nvec)
96                          (every #'eql vals vec))
97              collect (list etype vals vec nvec)))
98      nil)
99    
100    ;;; Bit vectors
101    
102  (deftest reverse-bit-vector.1  (deftest reverse-bit-vector.1
103    (reverse #*)    (reverse #*)
104    #*)    #*)
# Line 63  Line 117 
117      y)      y)
118    #*11000)    #*11000)
119    
120    ;;; Strings
121    
122  (deftest reverse-string.1  (deftest reverse-string.1
123    (reverse "")    (reverse "")
124    "")    "")
# Line 101  Line 157 
157       (assert (string= "54321" s2))))       (assert (string= "54321" s2))))
158    nil)    nil)
159    
160    ;;; Order, number of times of evaluation
161    
162  (deftest reverse.order.1  (deftest reverse.order.1
163    (let ((i 0))    (let ((i 0))
164      (values      (values

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26