From 02c347d326c0d6bf884b5e43963abee0498f056f Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Sat, 5 Oct 2002 17:48:05 +0000 Subject: [PATCH] Moved some utility functions from remove-aux.lsp to aux.lsp --- ansi-tests/aux.lsp | 28 ++++++++++++++++++++++++++++ ansi-tests/remove-aux.lsp | 24 ------------------------ 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/ansi-tests/aux.lsp b/ansi-tests/aux.lsp index 65a62af3..db2a3765 100644 --- a/ansi-tests/aux.lsp +++ b/ansi-tests/aux.lsp @@ -150,3 +150,31 @@ condition itself on other errors." (defun string-invertcase (s) (map 'string #'char-invertcase s)) + + +(defun random-from-seq (seq) + "Generate a random member of a sequence." + (let ((len (length seq))) + (assert (> len 0)) + (elt seq (random len)))) + +(defmacro random-case (&body cases) + (let ((len (length cases))) + (assert (> len 0)) + `(case (random ,len) + ,@(loop for i from 0 for e in cases collect `(,i ,e)) + (t (error "Can't happen?! (in random-case~%"))))) + +(defun coin (&optional (n 2)) + "Flip an n-sided coin." + (eql (random n) 0)) + +;; Randomly permute a sequence +(defun random-permute (seq) + (setq seq (copy-seq seq)) + (let ((len (length seq))) + (loop for i from len downto 2 + do (let ((r (random i))) + (rotatef (elt seq r) (elt seq (1- i)))))) + seq) + diff --git a/ansi-tests/remove-aux.lsp b/ansi-tests/remove-aux.lsp index 9cdca6b3..fc697dff 100644 --- a/ansi-tests/remove-aux.lsp +++ b/ansi-tests/remove-aux.lsp @@ -21,19 +21,6 @@ (elt "abcdefgh" (random 8))) (t (error "Can't get random element of type ~A~%." type)))) -(defun random-from-seq (seq) - "Generate a random member of a sequence." - (let ((len (length seq))) - (assert (> len 0)) - (elt seq (random len)))) - -(defmacro random-case (&body cases) - (let ((len (length cases))) - (assert (> len 0)) - `(case (random ,len) - ,@(loop for i from 0 for e in cases collect `(,i ,e)) - (t (error "Can't happen?! (in random-case~%"))))) - (defun make-random-remove-input (len type element-type) "Randomly generate a test case for REMOVE. Given a length @@ -124,17 +111,6 @@ (defun my-remove-if-not (pred &rest args) (apply #'my-remove-if (complement pred) args)) -(defun coin (&optional (n 2)) (eql (random n) 0)) - -;; Randomly permute a sequence -(defun random-permute (seq) - (setq seq (copy-seq seq)) - (let ((len (length seq))) - (loop for i from len downto 2 - do (let ((r (random i))) - (rotatef (elt seq r) (elt seq (1- i)))))) - seq) - (defun make-random-rd-params (maxlen) "Generate random paramaters for remove/delete/etc. functions." (let* ((element-type t) -- GitLab