(vl-fast-filter-descriptions names fal x nrev nrev2) → (mv nrev nrev2)
Function:
(defun vl-fast-filter-descriptions (names fal x nrev nrev2) (declare (xargs :stobjs (nrev nrev2))) (declare (xargs :guard (and (string-listp names) (vl-descriptionlist-p x) (equal fal (make-lookup-alist names))))) (let ((__function__ 'vl-fast-filter-descriptions)) (declare (ignorable __function__)) (cond ((atom x) (let* ((nrev (nrev-fix nrev)) (nrev2 (nrev-fix nrev2))) (mv nrev nrev2))) ((fast-memberp (vl-description->name (car x)) (string-list-fix names) fal) (let ((nrev (nrev-push (vl-description-fix (car x)) nrev))) (vl-fast-filter-descriptions names fal (cdr x) nrev nrev2))) (t (let ((nrev2 (nrev-push (vl-description-fix (car x)) nrev2))) (vl-fast-filter-descriptions names fal (cdr x) nrev nrev2))))))