[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp/calc calc-poly.el
From: |
Jay Belanger |
Subject: |
[Emacs-diffs] emacs/lisp/calc calc-poly.el |
Date: |
Sat, 24 Jan 2009 02:24:42 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Jay Belanger <jpb> 09/01/24 02:24:42
Modified files:
lisp/calc : calc-poly.el
Log message:
(calcFunc-apart): Improve test for rational functions.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/calc/calc-poly.el?cvsroot=emacs&r1=1.26&r2=1.27
Patches:
Index: calc-poly.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/calc/calc-poly.el,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- calc-poly.el 5 Jan 2009 03:20:16 -0000 1.26
+++ calc-poly.el 24 Jan 2009 02:24:41 -0000 1.27
@@ -961,22 +961,24 @@
((eq (car expr) '-)
(math-sub (calcFunc-apart (nth 1 expr) var)
(calcFunc-apart (nth 2 expr) var)))
- ((not (math-ratpoly-p expr var))
+ ((and var (not (math-ratpoly-p expr var)))
(math-reject-arg expr "Expected a rational function"))
(t
(let* ((calc-prefer-frac t)
(rat (math-to-ratpoly expr))
(num (car rat))
- (den (cdr rat))
- (qr (math-poly-div num den))
- (q (car qr))
- (r (cdr qr)))
+ (den (cdr rat)))
(or var
(setq var (math-polynomial-base den)))
+ (if (not (math-ratpoly-p expr var))
+ (math-reject-arg expr "Expected a rational function")
+ (let* ((qr (math-poly-div num den))
+ (q (car qr))
+ (r (cdr qr)))
(math-add q (or (and var
(math-expr-contains den var)
(math-partial-fractions r den var))
- (math-div r den)))))))
+ (math-div r den)))))))))
(defun math-padded-polynomial (expr var deg)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/lisp/calc calc-poly.el,
Jay Belanger <=