]> code.delx.au - gnu-emacs/blobdiff - lisp/calc/calc-rules.el
Merge from emacs--rel--22
[gnu-emacs] / lisp / calc / calc-rules.el
index 90abce2218603c2ca01f773617ed48c435d59158..17f76574436f027a35d63fea7cdcb5c430f0e4d8 100644 (file)
@@ -1,40 +1,35 @@
 ;;; calc-rules.el --- rules for simplifying algebraic expressions in Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004,
+;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
-;; Maintainers: D. Goel <deego@gnufans.org>
-;;              Colin Walters <walters@debian.org>
+;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
 
 ;; This file is part of GNU Emacs.
 
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
 ;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY.  No author or distributor
-;; accepts responsibility to anyone for the consequences of using it
-;; or for whether it serves any particular purpose or works at all,
-;; unless he says so in writing.  Refer to the GNU Emacs General Public
-;; License for full details.
-
-;; Everyone is granted permission to copy, modify and redistribute
-;; GNU Emacs, but only under the conditions described in the
-;; GNU Emacs General Public License.   A copy of this license is
-;; supposed to have been given to you along with GNU Emacs so you
-;; can know your rights and responsibilities.  It should be in a
-;; file named COPYING.  Among other things, the copyright notice
-;; and this notice must be preserved on all copies.
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
 ;;; Code:
 
 ;; This file is autoloaded from calc-ext.el.
-(require 'calc-ext)
 
+(require 'calc-ext)
 (require 'calc-macs)
 
-(defun calc-Need-calc-rules () nil)
-
-
 (defun calc-compile-rule-set (name rules)
   (prog2
    (message "Preparing rule set %s..." name)
@@ -157,10 +152,14 @@ tan(select(2 a))          :=  2 tan(select(a)) / (1 - tan(a)^2),
 tan(select(n a))               :=  (tan((n-1) select(a)) + tan(a)) /
                                    (1 - tan((n-1) a) tan(a))
                                    :: integer(n) :: n > 2,
+cot(select(a + b))             :=  (cot(select(a)) cot(b) - 1) /
+                                   (cot(a) + cot(b)),
 sinh(select(a + b))            :=  sinh(select(a)) cosh(b) + cosh(a) sinh(b),
 cosh(select(a + b))            :=  cosh(select(a)) cosh(b) + sinh(a) sinh(b),
 tanh(select(a + b))            :=  (tanh(select(a)) + tanh(b)) /
                                    (1 + tanh(a) tanh(b)),
+coth(select(a + b))            :=  (coth(select(a)) coth(b) + 1) /
+                                   (coth(a) + coth(b)),
 x && select(a || b)            :=  (x && select(a)) || (x && b),
 select(a || b) && x            :=  (select(a) && x) || (b && x),
 ! select(a && b)               :=  (!a) || (!b),
@@ -273,12 +272,18 @@ exp(select(x))                    :=  1 / exp(select(-x)),
 sin(select(x))                 :=  -sin(select(-x)),
 cos(select(x))                 :=  cos(select(-x)),
 tan(select(x))                 :=  -tan(select(-x)),
+sec(select(x))                 :=  sec(select(-x)),
+csc(select(x))                 :=  -csc(select(-x)),
+cot(select(x))                 :=  -cot(select(-x)),
 arcsin(select(x))              :=  -arcsin(select(-x)),
 arccos(select(x))              :=  4 arctan(1) - arccos(select(-x)),
 arctan(select(x))              :=  -arctan(select(-x)),
 sinh(select(x))                        :=  -sinh(select(-x)),
 cosh(select(x))                        :=  cosh(select(-x)),
 tanh(select(x))                        :=  -tanh(select(-x)),
+sech(select(x))                        :=  sech(select(-x)),
+csch(select(x))                        :=  -csch(select(-x)),
+coth(select(x))                        :=  -coth(select(-x)),
 arcsinh(select(x))             :=  -arcsinh(select(-x)),
 arctanh(select(x))             :=  -arctanh(select(-x)),
 select(x) = a                  :=  select(-x) = -a,
@@ -438,4 +443,7 @@ fitsystem(y, xv, pv, 0)  :=  fitsystem(y, xv, cons(fvh,fvt))
                                                    hasfitparams(pv)))),
 fitparam(n) = x  :=  x ]"))
 
+(provide 'calc-rules)
+
+;; arch-tag: 0ed54a52-38f3-4ed7-9ca7-b8ecf8f2febe
 ;;; calc-rules.el ends here