Avoid double mapping from symbolic literals to variables in CNF creation
authorUtz-Uwe Haus <lisp@uuhaus.de>
Tue, 22 Jun 2010 15:21:43 +0000 (22 17:21 +0200)
committerUtz-Uwe Haus <lisp@uuhaus.de>
Tue, 22 Jun 2010 15:21:43 +0000 (22 17:21 +0200)
Signed-off-by: Utz-Uwe Haus <lisp@uuhaus.de>
satwrap.lisp

index 4b2f6fe..116b7b2 100644 (file)
@@ -421,11 +421,11 @@ Supports :IMPLY, :IFF, binary :XOR, and :NOR. "
           (clean-clauses (cnf)
             ;; destructively apply MAPPING
             (if (atomic cnf)
-                (setf cnf (funcall mapping cnf))
+                (setf cnf cnf)
                 (setf (cdr cnf) ;; we must be looking at an AND
                       (loop :for clause :in (cdr cnf)
                          :if (atomic clause)
-                         :collect (funcall mapping clause)
+                         :collect clause
                          :else :if (not (trivial-clausep clause))
                          :collect `(:OR ,@(remove-duplicates 
                                            (cdr clause)