From 82d0b88720b1d2b0449e42ae2e9e7994fd4a5e8f Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Mon, 16 Nov 2020 16:53:24 +0100 Subject: [PATCH] Don't quote lambdas in calc/calcalg{2,3}.el * lisp/calc/calcalg2.el (calcFunc-inv\', calcFunc-sqrt\') (calcFunc-deg\', calcFunc-rad\', calcFunc-ln\') (calcFunc-log10\', calcFunc-lnp1\', calcFunc-log\') (calcFunc-log\'2, calcFunc-exp\', calcFunc-expm1\') (calcFunc-sin\', calcFunc-cos\', calcFunc-tan\', calcFunc-sec\') (calcFunc-csc\', calcFunc-cot\', calcFunc-arcsin\') (calcFunc-arccos\', calcFunc-arctan\', calcFunc-sinh\') (calcFunc-cosh\', calcFunc-tanh\', calcFunc-sech\') (calcFunc-csch\', calcFunc-coth\', calcFunc-arcsinh\') (calcFunc-arccosh\', calcFunc-arctanh\', calcFunc-bern\'2) (calcFunc-euler\'2, calcFunc-gammag\'2, calcFunc-gammaG\'2) (calcFunc-gammaP\'2, calcFunc-gammaQ\'2, calcFunc-betaB\') (calcFunc-betaI\', calcFunc-erf\', calcFunc-erfc\') (calcFunc-besJ\'2, calcFunc-besY\'2, calcFunc-sum) (calcFunc-prod, calcFunc-integ, calcFunc-if, calcFunc-subscr) (math-do-integral, calcFunc-integ, math-decompose-poly) (math-solve-system-rec, math-solve-system-subst, math-solve-for) (calcFunc-inv, calcFunc-sqrt, calcFunc-conj, calcFunc-abs) (calcFunc-deg, calcFunc-rad, calcFunc-ln, calcFunc-log10) (calcFunc-lnp1, calcFunc-exp, calcFunc-expm1, calcFunc-sin) (calcFunc-cos, calcFunc-tan, calcFunc-arcsin, calcFunc-arccos) (calcFunc-arctan, calcFunc-sinh, calcFunc-cosh, calcFunc-tanh) (calcFunc-arcsinh, calcFunc-arccosh, calcFunc-arctanh): * lisp/calc/calcalg3.el (calc-get-fit-variables) (calcFunc-polint, calcFunc-ratint, math-all-vars-but): Don't quote lambdas. --- lisp/calc/calcalg2.el | 583 +++++++++++++++++++++--------------------- lisp/calc/calcalg3.el | 16 +- 2 files changed, 294 insertions(+), 305 deletions(-) diff --git a/lisp/calc/calcalg2.el b/lisp/calc/calcalg2.el index 7894bd93015..bf4d6261910 100644 --- a/lisp/calc/calcalg2.el +++ b/lisp/calc/calcalg2.el @@ -361,175 +361,175 @@ res)))) (put 'calcFunc-inv\' 'math-derivative-1 - (function (lambda (u) (math-neg (math-div 1 (math-sqr u)))))) + (lambda (u) (math-neg (math-div 1 (math-sqr u))))) (put 'calcFunc-sqrt\' 'math-derivative-1 - (function (lambda (u) (math-div 1 (math-mul 2 (list 'calcFunc-sqrt u)))))) + (lambda (u) (math-div 1 (math-mul 2 (list 'calcFunc-sqrt u))))) (put 'calcFunc-deg\' 'math-derivative-1 - (function (lambda (_) (math-div-float '(float 18 1) (math-pi))))) + (lambda (_) (math-div-float '(float 18 1) (math-pi)))) (put 'calcFunc-rad\' 'math-derivative-1 - (function (lambda (_) (math-pi-over-180)))) + (lambda (_) (math-pi-over-180))) (put 'calcFunc-ln\' 'math-derivative-1 - (function (lambda (u) (math-div 1 u)))) + (lambda (u) (math-div 1 u))) (put 'calcFunc-log10\' 'math-derivative-1 - (function (lambda (u) - (math-div (math-div 1 (math-normalize '(calcFunc-ln 10))) - u)))) + (lambda (u) + (math-div (math-div 1 (math-normalize '(calcFunc-ln 10))) + u))) (put 'calcFunc-lnp1\' 'math-derivative-1 - (function (lambda (u) (math-div 1 (math-add u 1))))) + (lambda (u) (math-div 1 (math-add u 1)))) (put 'calcFunc-log\' 'math-derivative-2 - (function (lambda (x b) - (and (not (Math-zerop b)) - (let ((lnv (math-normalize - (list 'calcFunc-ln b)))) - (math-div 1 (math-mul lnv x))))))) + (lambda (x b) + (and (not (Math-zerop b)) + (let ((lnv (math-normalize + (list 'calcFunc-ln b)))) + (math-div 1 (math-mul lnv x)))))) (put 'calcFunc-log\'2 'math-derivative-2 - (function (lambda (x b) - (let ((lnv (list 'calcFunc-ln b))) - (math-neg (math-div (list 'calcFunc-log x b) - (math-mul lnv b))))))) + (lambda (x b) + (let ((lnv (list 'calcFunc-ln b))) + (math-neg (math-div (list 'calcFunc-log x b) + (math-mul lnv b)))))) (put 'calcFunc-exp\' 'math-derivative-1 - (function (lambda (u) (math-normalize (list 'calcFunc-exp u))))) + (lambda (u) (math-normalize (list 'calcFunc-exp u)))) (put 'calcFunc-expm1\' 'math-derivative-1 - (function (lambda (u) (math-normalize (list 'calcFunc-expm1 u))))) + (lambda (u) (math-normalize (list 'calcFunc-expm1 u)))) (put 'calcFunc-sin\' 'math-derivative-1 - (function (lambda (u) (math-to-radians-2 (math-normalize - (list 'calcFunc-cos u)) t)))) + (lambda (u) (math-to-radians-2 (math-normalize + (list 'calcFunc-cos u)) t))) (put 'calcFunc-cos\' 'math-derivative-1 - (function (lambda (u) (math-neg (math-to-radians-2 - (math-normalize - (list 'calcFunc-sin u)) t))))) + (lambda (u) (math-neg (math-to-radians-2 + (math-normalize + (list 'calcFunc-sin u)) t)))) (put 'calcFunc-tan\' 'math-derivative-1 - (function (lambda (u) (math-to-radians-2 - (math-sqr - (math-normalize - (list 'calcFunc-sec u))) t)))) + (lambda (u) (math-to-radians-2 + (math-sqr + (math-normalize + (list 'calcFunc-sec u))) t))) (put 'calcFunc-sec\' 'math-derivative-1 - (function (lambda (u) (math-to-radians-2 - (math-mul - (math-normalize - (list 'calcFunc-sec u)) - (math-normalize - (list 'calcFunc-tan u))) t)))) + (lambda (u) (math-to-radians-2 + (math-mul + (math-normalize + (list 'calcFunc-sec u)) + (math-normalize + (list 'calcFunc-tan u))) t))) (put 'calcFunc-csc\' 'math-derivative-1 - (function (lambda (u) (math-neg - (math-to-radians-2 - (math-mul - (math-normalize - (list 'calcFunc-csc u)) - (math-normalize - (list 'calcFunc-cot u))) t))))) + (lambda (u) (math-neg + (math-to-radians-2 + (math-mul + (math-normalize + (list 'calcFunc-csc u)) + (math-normalize + (list 'calcFunc-cot u))) t)))) (put 'calcFunc-cot\' 'math-derivative-1 - (function (lambda (u) (math-neg - (math-to-radians-2 - (math-sqr - (math-normalize - (list 'calcFunc-csc u))) t))))) + (lambda (u) (math-neg + (math-to-radians-2 + (math-sqr + (math-normalize + (list 'calcFunc-csc u))) t)))) (put 'calcFunc-arcsin\' 'math-derivative-1 - (function (lambda (u) - (math-from-radians-2 - (math-div 1 (math-normalize - (list 'calcFunc-sqrt - (math-sub 1 (math-sqr u))))) t)))) + (lambda (u) + (math-from-radians-2 + (math-div 1 (math-normalize + (list 'calcFunc-sqrt + (math-sub 1 (math-sqr u))))) t))) (put 'calcFunc-arccos\' 'math-derivative-1 - (function (lambda (u) - (math-from-radians-2 - (math-div -1 (math-normalize - (list 'calcFunc-sqrt - (math-sub 1 (math-sqr u))))) t)))) + (lambda (u) + (math-from-radians-2 + (math-div -1 (math-normalize + (list 'calcFunc-sqrt + (math-sub 1 (math-sqr u))))) t))) (put 'calcFunc-arctan\' 'math-derivative-1 - (function (lambda (u) (math-from-radians-2 - (math-div 1 (math-add 1 (math-sqr u))) t)))) + (lambda (u) (math-from-radians-2 + (math-div 1 (math-add 1 (math-sqr u))) t))) (put 'calcFunc-sinh\' 'math-derivative-1 - (function (lambda (u) (math-normalize (list 'calcFunc-cosh u))))) + (lambda (u) (math-normalize (list 'calcFunc-cosh u)))) (put 'calcFunc-cosh\' 'math-derivative-1 - (function (lambda (u) (math-normalize (list 'calcFunc-sinh u))))) + (lambda (u) (math-normalize (list 'calcFunc-sinh u)))) (put 'calcFunc-tanh\' 'math-derivative-1 - (function (lambda (u) (math-sqr - (math-normalize - (list 'calcFunc-sech u)))))) + (lambda (u) (math-sqr + (math-normalize + (list 'calcFunc-sech u))))) (put 'calcFunc-sech\' 'math-derivative-1 - (function (lambda (u) (math-neg - (math-mul - (math-normalize (list 'calcFunc-sech u)) - (math-normalize (list 'calcFunc-tanh u))))))) + (lambda (u) (math-neg + (math-mul + (math-normalize (list 'calcFunc-sech u)) + (math-normalize (list 'calcFunc-tanh u)))))) (put 'calcFunc-csch\' 'math-derivative-1 - (function (lambda (u) (math-neg - (math-mul - (math-normalize (list 'calcFunc-csch u)) - (math-normalize (list 'calcFunc-coth u))))))) + (lambda (u) (math-neg + (math-mul + (math-normalize (list 'calcFunc-csch u)) + (math-normalize (list 'calcFunc-coth u)))))) (put 'calcFunc-coth\' 'math-derivative-1 - (function (lambda (u) (math-neg - (math-sqr - (math-normalize - (list 'calcFunc-csch u))))))) + (lambda (u) (math-neg + (math-sqr + (math-normalize + (list 'calcFunc-csch u)))))) (put 'calcFunc-arcsinh\' 'math-derivative-1 - (function (lambda (u) - (math-div 1 (math-normalize - (list 'calcFunc-sqrt - (math-add (math-sqr u) 1))))))) + (lambda (u) + (math-div 1 (math-normalize + (list 'calcFunc-sqrt + (math-add (math-sqr u) 1)))))) (put 'calcFunc-arccosh\' 'math-derivative-1 - (function (lambda (u) - (math-div 1 (math-normalize - (list 'calcFunc-sqrt - (math-add (math-sqr u) -1))))))) + (lambda (u) + (math-div 1 (math-normalize + (list 'calcFunc-sqrt + (math-add (math-sqr u) -1)))))) (put 'calcFunc-arctanh\' 'math-derivative-1 - (function (lambda (u) (math-div 1 (math-sub 1 (math-sqr u)))))) + (lambda (u) (math-div 1 (math-sub 1 (math-sqr u))))) (put 'calcFunc-bern\'2 'math-derivative-2 - (function (lambda (n x) - (math-mul n (list 'calcFunc-bern (math-add n -1) x))))) + (lambda (n x) + (math-mul n (list 'calcFunc-bern (math-add n -1) x)))) (put 'calcFunc-euler\'2 'math-derivative-2 - (function (lambda (n x) - (math-mul n (list 'calcFunc-euler (math-add n -1) x))))) + (lambda (n x) + (math-mul n (list 'calcFunc-euler (math-add n -1) x)))) (put 'calcFunc-gammag\'2 'math-derivative-2 - (function (lambda (a x) (math-deriv-gamma a x 1)))) + (lambda (a x) (math-deriv-gamma a x 1))) (put 'calcFunc-gammaG\'2 'math-derivative-2 - (function (lambda (a x) (math-deriv-gamma a x -1)))) + (lambda (a x) (math-deriv-gamma a x -1))) (put 'calcFunc-gammaP\'2 'math-derivative-2 - (function (lambda (a x) (math-deriv-gamma a x - (math-div - 1 (math-normalize - (list 'calcFunc-gamma - a))))))) + (lambda (a x) (math-deriv-gamma a x + (math-div + 1 (math-normalize + (list 'calcFunc-gamma + a)))))) (put 'calcFunc-gammaQ\'2 'math-derivative-2 - (function (lambda (a x) (math-deriv-gamma a x - (math-div - -1 (math-normalize - (list 'calcFunc-gamma - a))))))) + (lambda (a x) (math-deriv-gamma a x + (math-div + -1 (math-normalize + (list 'calcFunc-gamma + a)))))) (defun math-deriv-gamma (a x scale) (math-mul scale @@ -537,13 +537,13 @@ (list 'calcFunc-exp (math-neg x))))) (put 'calcFunc-betaB\' 'math-derivative-3 - (function (lambda (x a b) (math-deriv-beta x a b 1)))) + (lambda (x a b) (math-deriv-beta x a b 1))) (put 'calcFunc-betaI\' 'math-derivative-3 - (function (lambda (x a b) (math-deriv-beta x a b - (math-div - 1 (list 'calcFunc-beta - a b)))))) + (lambda (x a b) (math-deriv-beta x a b + (math-div + 1 (list 'calcFunc-beta + a b))))) (defun math-deriv-beta (x a b scale) (math-mul (math-mul (math-pow x (math-add a -1)) @@ -551,101 +551,96 @@ scale)) (put 'calcFunc-erf\' 'math-derivative-1 - (function (lambda (x) (math-div 2 - (math-mul (list 'calcFunc-exp - (math-sqr x)) - (if calc-symbolic-mode - '(calcFunc-sqrt - (var pi var-pi)) - (math-sqrt-pi))))))) + (lambda (x) (math-div 2 + (math-mul (list 'calcFunc-exp + (math-sqr x)) + (if calc-symbolic-mode + '(calcFunc-sqrt + (var pi var-pi)) + (math-sqrt-pi)))))) (put 'calcFunc-erfc\' 'math-derivative-1 - (function (lambda (x) (math-div -2 - (math-mul (list 'calcFunc-exp - (math-sqr x)) - (if calc-symbolic-mode - '(calcFunc-sqrt - (var pi var-pi)) - (math-sqrt-pi))))))) + (lambda (x) (math-div -2 + (math-mul (list 'calcFunc-exp + (math-sqr x)) + (if calc-symbolic-mode + '(calcFunc-sqrt + (var pi var-pi)) + (math-sqrt-pi)))))) (put 'calcFunc-besJ\'2 'math-derivative-2 - (function (lambda (v z) (math-div (math-sub (list 'calcFunc-besJ - (math-add v -1) - z) - (list 'calcFunc-besJ - (math-add v 1) - z)) - 2)))) + (lambda (v z) (math-div (math-sub (list 'calcFunc-besJ + (math-add v -1) + z) + (list 'calcFunc-besJ + (math-add v 1) + z)) + 2))) (put 'calcFunc-besY\'2 'math-derivative-2 - (function (lambda (v z) (math-div (math-sub (list 'calcFunc-besY - (math-add v -1) - z) - (list 'calcFunc-besY - (math-add v 1) - z)) - 2)))) + (lambda (v z) (math-div (math-sub (list 'calcFunc-besY + (math-add v -1) + z) + (list 'calcFunc-besY + (math-add v 1) + z)) + 2))) (put 'calcFunc-sum 'math-derivative-n - (function - (lambda (expr) - (if (math-expr-contains (cons 'vec (cdr (cdr expr))) math-deriv-var) - (throw 'math-deriv nil) - (cons 'calcFunc-sum - (cons (math-derivative (nth 1 expr)) - (cdr (cdr expr)))))))) + (lambda (expr) + (if (math-expr-contains (cons 'vec (cdr (cdr expr))) math-deriv-var) + (throw 'math-deriv nil) + (cons 'calcFunc-sum + (cons (math-derivative (nth 1 expr)) + (cdr (cdr expr))))))) (put 'calcFunc-prod 'math-derivative-n - (function - (lambda (expr) - (if (math-expr-contains (cons 'vec (cdr (cdr expr))) math-deriv-var) - (throw 'math-deriv nil) - (math-mul expr - (cons 'calcFunc-sum - (cons (math-div (math-derivative (nth 1 expr)) - (nth 1 expr)) - (cdr (cdr expr))))))))) + (lambda (expr) + (if (math-expr-contains (cons 'vec (cdr (cdr expr))) math-deriv-var) + (throw 'math-deriv nil) + (math-mul expr + (cons 'calcFunc-sum + (cons (math-div (math-derivative (nth 1 expr)) + (nth 1 expr)) + (cdr (cdr expr)))))))) (put 'calcFunc-integ 'math-derivative-n - (function - (lambda (expr) - (if (= (length expr) 3) - (if (equal (nth 2 expr) math-deriv-var) - (nth 1 expr) - (math-normalize - (list 'calcFunc-integ - (math-derivative (nth 1 expr)) - (nth 2 expr)))) - (if (= (length expr) 5) - (let ((lower (math-expr-subst (nth 1 expr) (nth 2 expr) - (nth 3 expr))) - (upper (math-expr-subst (nth 1 expr) (nth 2 expr) - (nth 4 expr)))) - (math-add (math-sub (math-mul upper - (math-derivative (nth 4 expr))) - (math-mul lower - (math-derivative (nth 3 expr)))) - (if (equal (nth 2 expr) math-deriv-var) - 0 - (math-normalize - (list 'calcFunc-integ - (math-derivative (nth 1 expr)) (nth 2 expr) - (nth 3 expr) (nth 4 expr))))))))))) + (lambda (expr) + (if (= (length expr) 3) + (if (equal (nth 2 expr) math-deriv-var) + (nth 1 expr) + (math-normalize + (list 'calcFunc-integ + (math-derivative (nth 1 expr)) + (nth 2 expr)))) + (if (= (length expr) 5) + (let ((lower (math-expr-subst (nth 1 expr) (nth 2 expr) + (nth 3 expr))) + (upper (math-expr-subst (nth 1 expr) (nth 2 expr) + (nth 4 expr)))) + (math-add (math-sub (math-mul upper + (math-derivative (nth 4 expr))) + (math-mul lower + (math-derivative (nth 3 expr)))) + (if (equal (nth 2 expr) math-deriv-var) + 0 + (math-normalize + (list 'calcFunc-integ + (math-derivative (nth 1 expr)) (nth 2 expr) + (nth 3 expr) (nth 4 expr)))))))))) (put 'calcFunc-if 'math-derivative-n - (function - (lambda (expr) - (and (= (length expr) 4) - (list 'calcFunc-if (nth 1 expr) - (math-derivative (nth 2 expr)) - (math-derivative (nth 3 expr))))))) + (lambda (expr) + (and (= (length expr) 4) + (list 'calcFunc-if (nth 1 expr) + (math-derivative (nth 2 expr)) + (math-derivative (nth 3 expr)))))) (put 'calcFunc-subscr 'math-derivative-n - (function - (lambda (expr) - (and (= (length expr) 3) - (list 'calcFunc-subscr (nth 1 expr) - (math-derivative (nth 2 expr))))))) + (lambda (expr) + (and (= (length expr) 3) + (list 'calcFunc-subscr (nth 1 expr) + (math-derivative (nth 2 expr)))))) (defvar math-integ-var '(var X ---)) @@ -1015,11 +1010,10 @@ res '(calcFunc-integsubst))) (and (memq (length part) '(3 4 5)) (let ((parts (mapcar - (function - (lambda (x) - (math-expr-subst - x (nth 2 part) - math-integ-var))) + (lambda (x) + (math-expr-subst + x (nth 2 part) + math-integ-var)) (cdr part)))) (math-integrate-by-substitution expr (car parts) t @@ -1516,7 +1510,7 @@ var low high) (nth 2 (nth 2 expr)))) ((eq (car-safe expr) 'vec) - (cons 'vec (mapcar (function (lambda (x) (calcFunc-integ x var low high))) + (cons 'vec (mapcar (lambda (x) (calcFunc-integ x var low high)) (cdr expr)))) (t (let ((state (list calc-angle-mode @@ -2742,28 +2736,27 @@ math-t1 math-t2 math-t3) (setq math-t2 (math-polynomial-base math-solve-lhs - (function - (lambda (solve-b) - (let ((math-solve-b solve-b) - (math-poly-neg-powers '(1)) - (math-poly-mult-powers nil) - (math-poly-frac-powers 1) - (math-poly-exp-base t)) - (and (not (equal math-solve-b math-solve-lhs)) - (or (not (memq (car-safe math-solve-b) '(+ -))) sub-rhs) - (setq math-t3 '(1 0) math-t2 1 - math-t1 (math-is-polynomial math-solve-lhs - math-solve-b 50)) - (if (and (equal math-poly-neg-powers '(1)) - (memq math-poly-mult-powers '(nil 1)) - (eq math-poly-frac-powers 1) - sub-rhs) - (setq math-t1 (cons (math-sub (car math-t1) math-solve-rhs) - (cdr math-t1))) - (math-solve-poly-funny-powers sub-rhs)) - (math-solve-crunch-poly degree) - (or (math-expr-contains math-solve-b math-solve-var) - (math-expr-contains (car math-t3) math-solve-var)))))))) + (lambda (solve-b) + (let ((math-solve-b solve-b) + (math-poly-neg-powers '(1)) + (math-poly-mult-powers nil) + (math-poly-frac-powers 1) + (math-poly-exp-base t)) + (and (not (equal math-solve-b math-solve-lhs)) + (or (not (memq (car-safe math-solve-b) '(+ -))) sub-rhs) + (setq math-t3 '(1 0) math-t2 1 + math-t1 (math-is-polynomial math-solve-lhs + math-solve-b 50)) + (if (and (equal math-poly-neg-powers '(1)) + (memq math-poly-mult-powers '(nil 1)) + (eq math-poly-frac-powers 1) + sub-rhs) + (setq math-t1 (cons (math-sub (car math-t1) math-solve-rhs) + (cdr math-t1))) + (math-solve-poly-funny-powers sub-rhs)) + (math-solve-crunch-poly degree) + (or (math-expr-contains math-solve-b math-solve-var) + (math-expr-contains (car math-t3) math-solve-var))))))) (if math-t2 (list (math-pow math-t2 (car math-t3)) (cons 'vec math-t1) @@ -3326,12 +3319,11 @@ (delq (car v) (copy-sequence var-list)) (let ((math-solve-simplifying nil) (s (mapcar - (function - (lambda (x) - (cons - (car x) - (math-solve-system-subst - (cdr x))))) + (lambda (x) + (cons + (car x) + (math-solve-system-subst + (cdr x)))) solns))) (if elim s @@ -3347,35 +3339,33 @@ ;; Eliminated all variables, so now put solution into the proper format. (setq solns (sort solns - (function - (lambda (x y) - (not (memq (car x) (memq (car y) math-solve-vars))))))) + (lambda (x y) + (not (memq (car x) (memq (car y) math-solve-vars)))))) (if (eq math-solve-full 'all) (math-transpose (math-normalize (cons 'vec (if solns - (mapcar (function (lambda (x) (cons 'vec (cdr x)))) solns) - (mapcar (function (lambda (x) (cons 'vec x))) eqn-list))))) + (mapcar (lambda (x) (cons 'vec (cdr x))) solns) + (mapcar (lambda (x) (cons 'vec x)) eqn-list))))) (math-normalize (cons 'vec (if solns - (mapcar (function (lambda (x) (cons 'calcFunc-eq x))) solns) - (mapcar 'car eqn-list))))))) + (mapcar (lambda (x) (cons 'calcFunc-eq x)) solns) + (mapcar #'car eqn-list))))))) (defun math-solve-system-subst (x) ; uses "res" and "v" (let ((accum nil) (res2 math-solve-system-res)) (while x (setq accum (nconc accum - (mapcar (function - (lambda (r) - (if math-solve-simplifying - (math-simplify - (math-expr-subst - (car x) math-solve-system-vv r)) - (math-expr-subst - (car x) math-solve-system-vv r)))) + (mapcar (lambda (r) + (if math-solve-simplifying + (math-simplify + (math-expr-subst + (car x) math-solve-system-vv r)) + (math-expr-subst + (car x) math-solve-system-vv r))) (car res2))) x (cdr x) res2 (cdr res2))) @@ -3471,11 +3461,10 @@ (let ((old-len (length res)) new-len) (setq res (delq nil - (mapcar (function - (lambda (x) - (and (not (memq (car-safe x) - '(cplx polar))) - x))) + (mapcar (lambda (x) + (and (not (memq (car-safe x) + '(cplx polar))) + x)) res)) new-len (length res)) (if (< new-len old-len) @@ -3545,119 +3534,119 @@ (put 'calcFunc-inv 'math-inverse - (function (lambda (x) (math-div 1 x)))) + (lambda (x) (math-div 1 x))) (put 'calcFunc-inv 'math-inverse-sign -1) (put 'calcFunc-sqrt 'math-inverse - (function (lambda (x) (math-sqr x)))) + (lambda (x) (math-sqr x))) (put 'calcFunc-conj 'math-inverse - (function (lambda (x) (list 'calcFunc-conj x)))) + (lambda (x) (list 'calcFunc-conj x))) (put 'calcFunc-abs 'math-inverse - (function (lambda (x) (math-solve-get-sign x)))) + (lambda (x) (math-solve-get-sign x))) (put 'calcFunc-deg 'math-inverse - (function (lambda (x) (list 'calcFunc-rad x)))) + (lambda (x) (list 'calcFunc-rad x))) (put 'calcFunc-deg 'math-inverse-sign 1) (put 'calcFunc-rad 'math-inverse - (function (lambda (x) (list 'calcFunc-deg x)))) + (lambda (x) (list 'calcFunc-deg x))) (put 'calcFunc-rad 'math-inverse-sign 1) (put 'calcFunc-ln 'math-inverse - (function (lambda (x) (list 'calcFunc-exp x)))) + (lambda (x) (list 'calcFunc-exp x))) (put 'calcFunc-ln 'math-inverse-sign 1) (put 'calcFunc-log10 'math-inverse - (function (lambda (x) (list 'calcFunc-exp10 x)))) + (lambda (x) (list 'calcFunc-exp10 x))) (put 'calcFunc-log10 'math-inverse-sign 1) (put 'calcFunc-lnp1 'math-inverse - (function (lambda (x) (list 'calcFunc-expm1 x)))) + (lambda (x) (list 'calcFunc-expm1 x))) (put 'calcFunc-lnp1 'math-inverse-sign 1) (put 'calcFunc-exp 'math-inverse - (function (lambda (x) (math-add (math-normalize (list 'calcFunc-ln x)) - (math-mul 2 - (math-mul '(var pi var-pi) - (math-solve-get-int - '(var i var-i)))))))) + (lambda (x) (math-add (math-normalize (list 'calcFunc-ln x)) + (math-mul 2 + (math-mul '(var pi var-pi) + (math-solve-get-int + '(var i var-i))))))) (put 'calcFunc-exp 'math-inverse-sign 1) (put 'calcFunc-expm1 'math-inverse - (function (lambda (x) (math-add (math-normalize (list 'calcFunc-lnp1 x)) - (math-mul 2 - (math-mul '(var pi var-pi) - (math-solve-get-int - '(var i var-i)))))))) + (lambda (x) (math-add (math-normalize (list 'calcFunc-lnp1 x)) + (math-mul 2 + (math-mul '(var pi var-pi) + (math-solve-get-int + '(var i var-i))))))) (put 'calcFunc-expm1 'math-inverse-sign 1) (put 'calcFunc-sin 'math-inverse - (function (lambda (x) (let ((n (math-solve-get-int 1))) - (math-add (math-mul (math-normalize - (list 'calcFunc-arcsin x)) - (math-pow -1 n)) - (math-mul (math-half-circle t) - n)))))) + (lambda (x) (let ((n (math-solve-get-int 1))) + (math-add (math-mul (math-normalize + (list 'calcFunc-arcsin x)) + (math-pow -1 n)) + (math-mul (math-half-circle t) + n))))) (put 'calcFunc-cos 'math-inverse - (function (lambda (x) (math-add (math-solve-get-sign - (math-normalize - (list 'calcFunc-arccos x))) - (math-solve-get-int - (math-full-circle t)))))) + (lambda (x) (math-add (math-solve-get-sign + (math-normalize + (list 'calcFunc-arccos x))) + (math-solve-get-int + (math-full-circle t))))) (put 'calcFunc-tan 'math-inverse - (function (lambda (x) (math-add (math-normalize (list 'calcFunc-arctan x)) - (math-solve-get-int - (math-half-circle t)))))) + (lambda (x) (math-add (math-normalize (list 'calcFunc-arctan x)) + (math-solve-get-int + (math-half-circle t))))) (put 'calcFunc-arcsin 'math-inverse - (function (lambda (x) (math-normalize (list 'calcFunc-sin x))))) + (lambda (x) (math-normalize (list 'calcFunc-sin x)))) (put 'calcFunc-arccos 'math-inverse - (function (lambda (x) (math-normalize (list 'calcFunc-cos x))))) + (lambda (x) (math-normalize (list 'calcFunc-cos x)))) (put 'calcFunc-arctan 'math-inverse - (function (lambda (x) (math-normalize (list 'calcFunc-tan x))))) + (lambda (x) (math-normalize (list 'calcFunc-tan x)))) (put 'calcFunc-sinh 'math-inverse - (function (lambda (x) (let ((n (math-solve-get-int 1))) - (math-add (math-mul (math-normalize - (list 'calcFunc-arcsinh x)) - (math-pow -1 n)) - (math-mul (math-half-circle t) - (math-mul - '(var i var-i) - n))))))) + (lambda (x) (let ((n (math-solve-get-int 1))) + (math-add (math-mul (math-normalize + (list 'calcFunc-arcsinh x)) + (math-pow -1 n)) + (math-mul (math-half-circle t) + (math-mul + '(var i var-i) + n)))))) (put 'calcFunc-sinh 'math-inverse-sign 1) (put 'calcFunc-cosh 'math-inverse - (function (lambda (x) (math-add (math-solve-get-sign - (math-normalize - (list 'calcFunc-arccosh x))) - (math-mul (math-full-circle t) - (math-solve-get-int - '(var i var-i))))))) + (lambda (x) (math-add (math-solve-get-sign + (math-normalize + (list 'calcFunc-arccosh x))) + (math-mul (math-full-circle t) + (math-solve-get-int + '(var i var-i)))))) (put 'calcFunc-tanh 'math-inverse - (function (lambda (x) (math-add (math-normalize - (list 'calcFunc-arctanh x)) - (math-mul (math-half-circle t) - (math-solve-get-int - '(var i var-i))))))) + (lambda (x) (math-add (math-normalize + (list 'calcFunc-arctanh x)) + (math-mul (math-half-circle t) + (math-solve-get-int + '(var i var-i)))))) (put 'calcFunc-tanh 'math-inverse-sign 1) (put 'calcFunc-arcsinh 'math-inverse - (function (lambda (x) (math-normalize (list 'calcFunc-sinh x))))) + (lambda (x) (math-normalize (list 'calcFunc-sinh x)))) (put 'calcFunc-arcsinh 'math-inverse-sign 1) (put 'calcFunc-arccosh 'math-inverse - (function (lambda (x) (math-normalize (list 'calcFunc-cosh x))))) + (lambda (x) (math-normalize (list 'calcFunc-cosh x)))) (put 'calcFunc-arctanh 'math-inverse - (function (lambda (x) (math-normalize (list 'calcFunc-tanh x))))) + (lambda (x) (math-normalize (list 'calcFunc-tanh x)))) (put 'calcFunc-arctanh 'math-inverse-sign 1) diff --git a/lisp/calc/calcalg3.el b/lisp/calc/calcalg3.el index f1f67211b84..fdcde95dae7 100644 --- a/lisp/calc/calcalg3.el +++ b/lisp/calc/calcalg3.el @@ -480,13 +480,13 @@ "Fitting variables" (format "%s; %s" (mapconcat 'symbol-name - (mapcar (function (lambda (v) - (nth 1 v))) + (mapcar (lambda (v) + (nth 1 v)) defv) ",") (mapconcat 'symbol-name - (mapcar (function (lambda (v) - (nth 1 v))) + (mapcar (lambda (v) + (nth 1 v)) defc) ","))))) (coefs nil)) @@ -1336,7 +1336,7 @@ (or (> (length (nth 1 data)) 2) (math-reject-arg data "*Too few data points")) (if (and (math-vectorp x) (or (math-constp x) math-expand-formulas)) - (cons 'vec (mapcar (function (lambda (x) (calcFunc-polint data x))) + (cons 'vec (mapcar (lambda (x) (calcFunc-polint data x)) (cdr x))) (or (math-objectp x) math-expand-formulas (math-reject-arg x 'objectp)) (math-with-extra-prec 2 @@ -1352,7 +1352,7 @@ (or (> (length (nth 1 data)) 2) (math-reject-arg data "*Too few data points")) (if (and (math-vectorp x) (or (math-constp x) math-expand-formulas)) - (cons 'vec (mapcar (function (lambda (x) (calcFunc-ratint data x))) + (cons 'vec (mapcar (lambda (x) (calcFunc-ratint data x)) (cdr x))) (or (math-objectp x) math-expand-formulas (math-reject-arg x 'objectp)) (math-with-extra-prec 2 @@ -1910,8 +1910,8 @@ (while p (setq vars (delq (assoc (car-safe p) vars) vars) p (cdr p))) - (sort (mapcar 'car vars) - (function (lambda (x y) (string< (nth 1 x) (nth 1 y))))))) + (sort (mapcar #'car vars) + (lambda (x y) (string< (nth 1 x) (nth 1 y)))))) ;; The variables math-all-vars-vars (the vars for math-all-vars) and ;; math-all-vars-found are local to math-all-vars-in, but are used by -- 2.39.5