1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 22:20:52 -08:00

bubble sort works again

This commit is contained in:
Andrea Corallo 2019-07-21 09:50:18 +02:00 committed by Andrea Corallo
parent e25cf44115
commit 7726cb2545

View file

@ -334,26 +334,26 @@
(error err))
'(wrong-type-argument consp 3))))
;; (ert-deftest comp-tests-bubble-sort ()
;; "Run bubble sort."
;; (defun comp-bubble-sort-f (list)
;; (let ((i (length list)))
;; (while (> i 1)
;; (let ((b list))
;; (while (cdr b)
;; (when (< (cadr b) (car b))
;; (setcar b (prog1 (cadr b)
;; (setcdr b (cons (car b) (cddr b))))))
;; (setq b (cdr b))))
;; (setq i (1- i)))
;; list))
(ert-deftest comp-tests-bubble-sort ()
"Run bubble sort."
(defun comp-bubble-sort-f (list)
(let ((i (length list)))
(while (> i 1)
(let ((b list))
(while (cdr b)
(when (< (cadr b) (car b))
(setcar b (prog1 (cadr b)
(setcdr b (cons (car b) (cddr b))))))
(setq b (cdr b))))
(setq i (1- i)))
list))
;; (native-compile #'comp-bubble-sort-f)
(native-compile #'comp-bubble-sort-f)
;; (let* ((list1 (mapcar 'random (make-list 1000 most-positive-fixnum)))
;; (list2 (copy-sequence list1)))
;; (should (equal (comp-bubble-sort-f list1)
;; (sort list2 #'<)))))
(let* ((list1 (mapcar 'random (make-list 1000 most-positive-fixnum)))
(list2 (copy-sequence list1)))
(should (equal (comp-bubble-sort-f list1)
(sort list2 #'<)))))
(ert-deftest comp-tests-list-inline ()
"Test some inlined list functions."