Like vl-scope-find-portdecl, but uses a fast lookup table
(vl-scope-find-portdecl-fast name scope) → *
Function:
(defun vl-scope-find-portdecl-fast (name scope) (declare (xargs :guard (and (stringp name) (vl-scope-p scope)))) (let ((__function__ 'vl-scope-find-portdecl-fast)) (declare (ignorable __function__)) (mbe :logic (vl-scope-find-portdecl name scope) :exec (cdr (hons-get name (vl-scope-portdecl-alist scope))))))
Theorem:
(defthm vl-scope-find-portdecl-fast-of-str-fix-name (equal (vl-scope-find-portdecl-fast (str-fix name) scope) (vl-scope-find-portdecl-fast name scope)))
Theorem:
(defthm vl-scope-find-portdecl-fast-streqv-congruence-on-name (implies (streqv name name-equiv) (equal (vl-scope-find-portdecl-fast name scope) (vl-scope-find-portdecl-fast name-equiv scope))) :rule-classes :congruence)
Theorem:
(defthm vl-scope-find-portdecl-fast-of-vl-scope-fix-scope (equal (vl-scope-find-portdecl-fast name (vl-scope-fix scope)) (vl-scope-find-portdecl-fast name scope)))
Theorem:
(defthm vl-scope-find-portdecl-fast-vl-scope-equiv-congruence-on-scope (implies (vl-scope-equiv scope scope-equiv) (equal (vl-scope-find-portdecl-fast name scope) (vl-scope-find-portdecl-fast name scope-equiv))) :rule-classes :congruence)