close Warning: Can't synchronize with repository "(default)" (The repository directory has changed, you should resynchronize the repository with: trac-admin $ENV repository resync '(default)'). Look in the Trac log for more information.

Changeset 2761


Ignore:
Timestamp:
2015-06-20T19:22:05-07:00 (10 years ago)
Author:
Marek Rychlik
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/f4grobner/polynomial.lisp

    r2760 r2761  
    102102
    103103
    104 (defmacro fast-add/subtract (p q order-fn
    105                              add/subtract-method-name 
    106                              &optional
    107                                (uminus-method-name nil uminus-method-name-supplied-p))
     104(defmacro fast-add/subtract (p q order-fn add/subtract-fn uminus-fn)
    108105  "Return an expression which will efficiently adds/subtracts two
    109106polynomials, P and Q.  The addition/subtraction of coefficients is
     
    131128            )
    132129           (equal-p
    133             (let ((s (funcall ,add/subtract-method-name (lc p) (lc q))))
     130            (let ((s (funcall ,add/subtract-fn (lc p) (lc q))))
    134131              (cond
    135132                ((r-zerop s)
     
    144141            ;;Negate the term of Q if UMINUS provided, signallig
    145142            ;;that we are doing subtraction
    146             ,@(when uminus-method-name-supplied-p
    147                     `((setf (lc q) (funcall #',uminus-method-name (lc q)))))
     143            ,@(when uminus-fn
     144                    `((setf (lc q) (funcall #',uminus-fn (lc q)))))
    148145            (rotatef (cdr q) r q)))))))
    149146
Note: See TracChangeset for help on using the changeset viewer.