anchor.diff:  
   (in-package :galois)
   
  +;; todo:
  +;;   *. make gdiv evaluate each element before proceeding to the next. This should make it run a lot faster.
  +;;   2. make gdiv and gmul both use the same type of expression tree
  +;;   3. make one expression tree evaluator that is used for both gmul and gdiv
  +;;   4. find a better implementation of g/ (currently brute force)
  +;;   5. implement reed-solomon decoding
  +;;   6. more options for generator polynomials, to allow other first consective roots
  +;;   7. implement more ccsds features, e.g. dual basis and virtual fill
  +
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; internal functions
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
positive.code:     (loop for prodsum in (if (> (length p) (length q))
                               (polyprod p q)
                               (polyprod q p))
       collect (loop for x in prodsum
                  as pr = 0 then r
                  as r = (g+ gf pr (g* gf (car x) (cdr x)))
                  finally (return r))))
  
  (defmethod geval((gf gf) p x)
    (loop for z in (cdr p)
  
negative.code:                   for q1 in (reverse qq)
                    collect (cons q1 p0))))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;; CLOS definitions
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  