]> code.delx.au - gnu-emacs/blobdiff - lisp/calc/calc-arith.el
(math-eqn-special-funcs): Add functions to list.
[gnu-emacs] / lisp / calc / calc-arith.el
index a5c523240496c60b6e22f0198fd16481d97c9fd4..38c10f5cc9f958e88bce6be46e2c75e9bc25d4ec 100644 (file)
                                       calcFunc-max calcFunc-min))
 
 (defvar math-real-if-arg-functions '(calcFunc-sin calcFunc-cos
-                                    calcFunc-tan calcFunc-arctan
+                                    calcFunc-tan calcFunc-sec
+                                     calcFunc-csc calcFunc-cot
+                                     calcFunc-arctan
                                     calcFunc-sinh calcFunc-cosh
-                                    calcFunc-tanh calcFunc-exp
+                                    calcFunc-tanh calcFunc-sech
+                                     calcFunc-csch calcFunc-coth
+                                     calcFunc-exp
                                     calcFunc-gamma calcFunc-fact))
 
 (defvar math-integer-functions '(calcFunc-idiv
               ((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)))
         '(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)