diff options
author | Colin Walters <walters@gnu.org> | 2001-11-19 07:44:56 +0000 |
---|---|---|
committer | Colin Walters <walters@gnu.org> | 2001-11-19 07:44:56 +0000 |
commit | 3132f345bc1ab68e4425178266e3d4ad1b2ccd02 (patch) | |
tree | 43339ccf578fb555b44dd0c84aa0e7b0389dc8b0 /lisp/calc/calcalg2.el | |
parent | f269b73e3ea3de8c539d544fd0310b63fc029f20 (diff) | |
download | emacs-3132f345bc1ab68e4425178266e3d4ad1b2ccd02.tar.gz |
Change all toplevel `setq' forms to `defvar' forms, and move them
before their first use. Use `when', `unless'. Remove trailing
periods from error forms. Add description and headers suggested by
Emacs Lisp coding conventions.
Diffstat (limited to 'lisp/calc/calcalg2.el')
-rw-r--r-- | lisp/calc/calcalg2.el | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/lisp/calc/calcalg2.el b/lisp/calc/calcalg2.el index c7957feb3d7..c5ed7688d3d 100644 --- a/lisp/calc/calcalg2.el +++ b/lisp/calc/calcalg2.el @@ -1,6 +1,9 @@ -;; Calculator for GNU Emacs, part II [calc-alg-2.el] +;;; calcalg2.el --- more algebraic functions for Calc + ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. -;; Written by Dave Gillespie, daveg@synaptics.com. + +;; Author: David Gillespie <daveg@synaptics.com> +;; Maintainer: Colin Walters <walters@debian.org> ;; This file is part of GNU Emacs. @@ -19,7 +22,9 @@ ;; file named COPYING. Among other things, the copyright notice ;; and this notice must be preserved on all copies. +;;; Commentary: +;;; Code: ;; This file is autoloaded from calc-ext.el. (require 'calc-ext) @@ -32,7 +37,8 @@ (defun calc-derivative (var num) (interactive "sDifferentiate with respect to: \np") (calc-slow-wrapper - (and (< num 0) (error "Order of derivative must be positive")) + (when (< num 0) + (error "Order of derivative must be positive")) (let ((func (if (calc-is-hyperbolic) 'calcFunc-tderiv 'calcFunc-deriv)) n expr) (if (or (equal var "") (equal var "$")) @@ -40,8 +46,8 @@ expr (calc-top-n 2) var (calc-top-n 1)) (setq var (math-read-expr var)) - (if (eq (car-safe var) 'error) - (error "Bad format in expression: %s" (nth 1 var))) + (when (eq (car-safe var) 'error) + (error "Bad format in expression: %s" (nth 1 var))) (setq n 1 expr (calc-top-n 1))) (while (>= (setq num (1- num)) 0) @@ -592,14 +598,11 @@ (math-derivative (nth 2 expr))))))) - - - -(setq math-integ-var '(var X ---)) -(setq math-integ-var-2 '(var Y ---)) -(setq math-integ-vars (list 'f math-integ-var math-integ-var-2)) -(setq math-integ-var-list (list math-integ-var)) -(setq math-integ-var-list-list (list math-integ-var-list)) +(defvar math-integ-var '(var X ---)) +(defvar math-integ-var-2 '(var Y ---)) +(defvar math-integ-vars (list 'f math-integ-var math-integ-var-2)) +(defvar math-integ-var-list (list math-integ-var)) +(defvar math-integ-var-list-list (list math-integ-var-list)) (defmacro math-tracing-integral (&rest parts) (list 'and @@ -1704,6 +1707,8 @@ +(defvar math-tabulate-initial nil) +(defvar math-tabulate-function nil) (defun calcFunc-table (expr var &optional low high step) (or low (setq low '(neg (var inf var-inf)) high '(var inf var-inf))) (or high (setq high low low 1)) @@ -1761,9 +1766,6 @@ (list low high)) (and step (list step)))))) -(setq math-tabulate-initial nil) -(setq math-tabulate-function nil) - (defun math-scan-for-limits (x) (cond ((Math-primp x)) ((and (eq (car x) 'calcFunc-subscr) @@ -1785,13 +1787,13 @@ (math-scan-for-limits (car x)))))) +(defvar math-disable-sums nil) (defun calcFunc-sum (expr var &optional low high step) (if math-disable-sums (math-reject-arg)) (let* ((res (let* ((calc-internal-prec (+ calc-internal-prec 2))) (math-sum-rec expr var low high step))) (math-disable-sums t)) (math-normalize res))) -(setq math-disable-sums nil) (defun math-sum-rec (expr var &optional low high step) (or low (setq low '(neg (var inf var-inf)) high '(var inf var-inf))) @@ -1941,6 +1943,7 @@ (setq temp (list '* (car not-const) temp))) temp))))) +(defvar math-sum-int-pow-cache (list '(0 1))) ;; Following is from CRC Math Tables, 27th ed, pp. 52-53. (defun math-sum-integer-power (pow) (let ((calc-prefer-frac t) @@ -1963,7 +1966,6 @@ (nconc math-sum-int-pow-cache (list (nreverse new))) n (1+ n)))) (nth pow math-sum-int-pow-cache))) -(setq math-sum-int-pow-cache (list '(0 1))) (defun math-to-exponentials (expr) (and (consp expr) @@ -2013,13 +2015,13 @@ (cons (car expr) (mapcar 'math-to-exps (cdr expr)))))) +(defvar math-disable-prods nil) (defun calcFunc-prod (expr var &optional low high step) (if math-disable-prods (math-reject-arg)) (let* ((res (let* ((calc-internal-prec (+ calc-internal-prec 2))) (math-prod-rec expr var low high step))) (math-disable-prods t)) (math-normalize res))) -(setq math-disable-prods nil) (defun math-prod-rec (expr var &optional low high step) (or low (setq low '(neg (var inf var-inf)) high '(var inf var-inf))) @@ -2165,6 +2167,7 @@ +(defvar math-solve-ranges nil) ;;; Attempt to reduce lhs = rhs to solve-var = rhs', where solve-var appears ;;; in lhs but not in rhs or rhs'; return rhs'. ;;; Uses global values: solve-*. @@ -2311,7 +2314,6 @@ (calc-record-why "*No inverse known" lhs) nil)))) -(setq math-solve-ranges nil) (defun math-try-solve-prod () (cond ((eq (car lhs) '*) @@ -2656,6 +2658,8 @@ (math-div a 4)))) nil t)) +(defvar math-symbolic-solve nil) +(defvar math-int-coefs nil) (defun math-poly-all-roots (var p &optional math-factoring) (catch 'ouch (let* ((math-symbolic-solve calc-symbolic-mode) @@ -2750,7 +2754,6 @@ vec (math-solve-get-int 1 (1- (length orig-p)) 1)) vec)))))) -(setq math-symbolic-solve nil) (defun math-lcm-denoms (&rest fracs) (let ((den 1)) @@ -2870,7 +2873,6 @@ (math-mul (math-sqrt (math-sub (math-sqr aa) rnd0)) (if (math-negp xim) -1 1))))))))))) -(setq math-int-coefs nil) ;;; The following routine is from Numerical Recipes, section 9.5. (defun math-poly-laguerre-root (p x polish) |