diff options
author | Jay Belanger <jay.p.belanger@gmail.com> | 2005-02-15 19:27:17 +0000 |
---|---|---|
committer | Jay Belanger <jay.p.belanger@gmail.com> | 2005-02-15 19:27:17 +0000 |
commit | 40b444acab7a616650166acccdba7b0c75f0e701 (patch) | |
tree | 1c3d7a538b7206b8308a99e62e27316227ea1ed8 /lisp/calc | |
parent | 6735a29b343972d958c9c03a2b29e56aa1a69bd8 (diff) | |
download | emacs-40b444acab7a616650166acccdba7b0c75f0e701.tar.gz |
Add simplification rules for calcFunc-sec, calcFunc-csc, calcFunc-cot.
Diffstat (limited to 'lisp/calc')
-rw-r--r-- | lisp/calc/calc-units.el | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index e8a3abfe958..4b3c284ddad 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el @@ -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) |