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

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

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

revision 1.9 by pfdietz, Tue Sep 21 13:07:11 2004 UTC revision 1.10 by pfdietz, Mon Sep 27 13:54:20 2004 UTC
# Line 73  Line 73 
73       (setq a (sort a #'(lambda (i j) (aref cmp i j))))       (setq a (sort a #'(lambda (i j) (aref cmp i j))))
74       (and (eqlt (length a) 10)       (and (eqlt (length a) 10)
75            (equalpt (sort a #'<) #(0 1 2 3 4 5 6 7 8 9)))))            (equalpt (sort a #'<) #(0 1 2 3 4 5 6 7 8 9)))))
76    t)        t)
77    
78    (deftest sort-vector.6
79      (do-special-integer-vectors
80       (v #(1 4 7 3 2 6 5) nil)
81       (let ((sv (sort v #'<)))
82         (assert (equalp sv #(1 2 3 4 5 6 7)))))
83      nil)
84    
85    (deftest sort-vector.7
86      (do-special-integer-vectors
87       (v #(0 1 1 0 1 1 0 1 0) nil)
88       (let ((sv (sort v #'<)))
89         (assert (equalp sv #(0 0 0 0 1 1 1 1 1)))))
90      nil)
91    
92    (deftest sort-vector.8
93      (do-special-integer-vectors
94       (v #(0 -1 -1 0 -1 -1 0 -1 0) nil)
95       (let ((sv (sort v #'>)))
96         (assert (equalp sv #(0 0 0 0 -1 -1 -1 -1 -1)))))
97      nil)
98    
99    (deftest sort-vector.9
100      (let* ((ivals '(1 4 7 3 2 6 5))
101             (sivals '(1 2 3 4 5 6 7))
102             (len (length ivals)))
103        (loop for etype in '(short-float single-float double-float long-float rational)
104              for vals = (loop for i in ivals collect (coerce i etype))
105              for svals = (loop for i in sivals collect (coerce i etype))
106              for vec = (make-array len :element-type etype :initial-contents vals)
107              for svec = (sort vec #'<)
108              unless (and (eql (length svec) len)
109                          (every #'eql svals svec))
110              collect (list etype vals svec)))
111      nil)
112    
113    (deftest sort-vector.10
114      (let* ((ivals '(1 4 7 3 2 6 5))
115             (sivals '(1 2 3 4 5 6 7))
116             (len (length ivals)))
117        (loop for cetype in '(short-float single-float double-float long-float rational)
118              for etype = `(complex ,cetype)
119              for vals = (loop for i in ivals collect (complex (coerce i cetype)
120                                                               (coerce (- i) cetype)))
121              for svals = (loop for i in sivals collect (complex (coerce i cetype)
122                                                                 (coerce (- i) cetype)))
123              for vec = (make-array len :element-type etype :initial-contents vals)
124              for svec = (sort vec #'(lambda (x y) (< (abs x) (abs y))))
125              unless (and (eql (length svec) len)
126                          (every #'eql svals svec))
127              collect (list etype vals svec)))
128      nil)
129    
130    ;;; Bit vectors
131    
132  (deftest sort-bit-vector.1  (deftest sort-bit-vector.1
133    (let ((a (copy-seq #*10011101)))    (let ((a (copy-seq #*10011101)))

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

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