]> git.eshelyaron.com Git - emacs.git/commitdiff
Add simplification rules for calcFunc-sec, calcFunc-csc, calcFunc-cot.
authorJay Belanger <jay.p.belanger@gmail.com>
Tue, 15 Feb 2005 19:27:17 +0000 (19:27 +0000)
committerJay Belanger <jay.p.belanger@gmail.com>
Tue, 15 Feb 2005 19:27:17 +0000 (19:27 +0000)
lisp/calc/calc-units.el

index e8a3abfe95857d6b6b2226773296485288b99ad4..4b3c284ddada39879e5f7c52325e87026d2b4aba 100644 (file)
@@ -1241,6 +1241,45 @@ Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).")
              (eq (nth 1 (nth 2 rad)) 'rad)
              (list 'calcFunc-tan (nth 1 rad))))))
 
+(math-defsimplify calcFunc-sec
+  (and math-simplifying-units
+       (math-units-in-expr-p (nth 1 math-simplify-expr) nil)
+       (let ((rad (math-simplify-units
+                  (math-evaluate-expr
+                   (math-to-standard-units (nth 1 math-simplify-expr) nil))))
+            (calc-angle-mode 'rad))
+        (and (eq (car-safe rad) '*)
+             (math-realp (nth 1 rad))
+             (eq (car-safe (nth 2 rad)) 'var)
+             (eq (nth 1 (nth 2 rad)) 'rad)
+             (list 'calcFunc-sec (nth 1 rad))))))
+
+(math-defsimplify calcFunc-csc
+  (and math-simplifying-units
+       (math-units-in-expr-p (nth 1 math-simplify-expr) nil)
+       (let ((rad (math-simplify-units
+                  (math-evaluate-expr
+                   (math-to-standard-units (nth 1 math-simplify-expr) nil))))
+            (calc-angle-mode 'rad))
+        (and (eq (car-safe rad) '*)
+             (math-realp (nth 1 rad))
+             (eq (car-safe (nth 2 rad)) 'var)
+             (eq (nth 1 (nth 2 rad)) 'rad)
+             (list 'calcFunc-csc (nth 1 rad))))))
+
+(math-defsimplify calcFunc-cot
+  (and math-simplifying-units
+       (math-units-in-expr-p (nth 1 math-simplify-expr) nil)
+       (let ((rad (math-simplify-units
+                  (math-evaluate-expr
+                   (math-to-standard-units (nth 1 math-simplify-expr) nil))))
+            (calc-angle-mode 'rad))
+        (and (eq (car-safe rad) '*)
+             (math-realp (nth 1 rad))
+             (eq (car-safe (nth 2 rad)) 'var)
+             (eq (nth 1 (nth 2 rad)) 'rad)
+             (list 'calcFunc-cot (nth 1 rad))))))
+
 
 (defun math-remove-units (expr)
   (if (math-check-unit-name expr)