summaryrefslogtreecommitdiff
path: root/lisp/calc/calc-arith.el
diff options
context:
space:
mode:
authorJay Belanger <jay.p.belanger@gmail.com>2004-11-30 21:58:53 +0000
committerJay Belanger <jay.p.belanger@gmail.com>2004-11-30 21:58:53 +0000
commit773a144d44770ee760c7220d1079c14deb1f674f (patch)
treedc6e4e52ab9772c4cc4eba7d6bacf75c8b9f1fb4 /lisp/calc/calc-arith.el
parentcacfe88b03bd2e8538e8cf12c77b2f9c230c5302 (diff)
(math-possible-signs): Added checks to intervals.
(math-pow-of-zero): Strengthen checks for positive and negative exponents.
Diffstat (limited to 'lisp/calc/calc-arith.el')
-rw-r--r--lisp/calc/calc-arith.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/calc/calc-arith.el b/lisp/calc/calc-arith.el
index a5c5232404..3a436cb1d3 100644
--- a/lisp/calc/calc-arith.el
+++ b/lisp/calc/calc-arith.el
@@ -387,9 +387,12 @@
((Math-negp a) 1)
((Math-zerop a) 2)
((eq (car a) 'intv)
- (cond ((Math-zerop (nth 2 a)) 6)
- ((Math-zerop (nth 3 a)) 3)
- (t 7)))
+ (cond
+ ((math-known-posp (nth 2 a)) 4)
+ ((math-known-negp (nth 3 a)) 1)
+ ((Math-zerop (nth 2 a)) 6)
+ ((Math-zerop (nth 3 a)) 3)
+ (t 7)))
((eq (car a) 'sdev)
(if (math-known-realp (nth 1 a)) 7 15))
(t 8)))
@@ -1750,10 +1753,10 @@
'(var nan var-nan)
(math-reject-arg (list '^ a b) "*Indeterminate form")))
;; 0^positive = 0
- ((math-posp b)
+ ((math-known-posp b)
a)
;; 0^negative is undefined (let math-div handle it)
- ((math-negp b)
+ ((math-known-negp b)
(math-div 1 a))
;; 0^infinity is undefined
((math-infinitep b)