> From: Barton Willis
>
> proposed replacement for easy-cases
>
> (DEFUN EASY-CASES (*EXP *VAR)
> (COND ((OR (ATOM *EXP) (ATOM (CAR *EXP))) NIL)
> ((EQ (CAAR *EXP) 'MTIMES)
> (DO ((TERMS (CDR *EXP) (CDR TERMS)))
> ((NULL TERMS))
> (SOLVE (CAR TERMS) *VAR 1))
> 'MTIMES)))
>
> ;; This code is commented out because it exposes a bug in the way
> ;; solve (or its friends) handles multiplicities. A previous
> ;; version (1.2) had a typo (caar *exp) 'mexp ...) that prevented this
> ;; bug from manifesting. Barton Willis, 12 May 2004
>
> ;; ((EQ (CAAR *EXP) 'MEXPT)
> ;; (COND ((AND (INTEGERP (CADDR *EXP))
> ;; (PLUSP (CADDR *EXP)))
> ;; (SOLVE (CADR *EXP) *VAR (CADDR *EXP))
> ;; 'MEXPRAT)))))
>
> Barton
I have tested this and there are no regressions in the testsuite or in my
ode tests. I don't feel qualified to review the code, but can commit it
if someone approves it.
David