• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/emacs-93/emacs/lisp/calc/

Lines Matching +defs:calc +defs:hypot

0 ;;; calc-math.el --- mathematical functions for Calc
30 ;; This file is autoloaded from calc-ext.el.
32 (require 'calc-ext)
33 (require 'calc-macs)
35 (defun calc-sqrt (arg)
37 (calc-slow-wrapper
38 (if (calc-is-inverse)
39 (calc-unary-op "^2" 'calcFunc-sqr arg)
40 (calc-unary-op "sqrt" 'calcFunc-sqrt arg))))
42 (defun calc-isqrt (arg)
44 (calc-slow-wrapper
45 (if (calc-is-inverse)
46 (calc-unary-op "^2" 'calcFunc-sqr arg)
47 (calc-unary-op "isqt" 'calcFunc-isqrt arg))))
50 (defun calc-hypot (arg)
52 (calc-slow-wrapper
53 (calc-binary-op "hypt" 'calcFunc-hypot arg)))
55 (defun calc-ln (arg)
57 (calc-invert-func)
58 (calc-exp arg))
60 (defun calc-log10 (arg)
62 (calc-hyperbolic-func)
63 (calc-ln arg))
65 (defun calc-log (arg)
67 (calc-slow-wrapper
68 (if (calc-is-inverse)
69 (calc-binary-op "alog" 'calcFunc-alog arg)
70 (calc-binary-op "log" 'calcFunc-log arg))))
72 (defun calc-ilog (arg)
74 (calc-slow-wrapper
75 (if (calc-is-inverse)
76 (calc-binary-op "alog" 'calcFunc-alog arg)
77 (calc-binary-op "ilog" 'calcFunc-ilog arg))))
79 (defun calc-lnp1 (arg)
81 (calc-invert-func)
82 (calc-expm1 arg))
84 (defun calc-exp (arg)
86 (calc-slow-wrapper
87 (if (calc-is-hyperbolic)
88 (if (calc-is-inverse)
89 (calc-unary-op "lg10" 'calcFunc-log10 arg)
90 (calc-unary-op "10^" 'calcFunc-exp10 arg))
91 (if (calc-is-inverse)
92 (calc-unary-op "ln" 'calcFunc-ln arg)
93 (calc-unary-op "exp" 'calcFunc-exp arg)))))
95 (defun calc-expm1 (arg)
97 (calc-slow-wrapper
98 (if (calc-is-inverse)
99 (calc-unary-op "ln+1" 'calcFunc-lnp1 arg)
100 (calc-unary-op "ex-1" 'calcFunc-expm1 arg))))
102 (defun calc-pi ()
104 (calc-slow-wrapper
105 (if (calc-is-inverse)
106 (if (calc-is-hyperbolic)
107 (if calc-symbolic-mode
108 (calc-pop-push-record 0 "phi" '(var phi var-phi))
109 (calc-pop-push-record 0 "phi" (math-phi)))
110 (if calc-symbolic-mode
111 (calc-pop-push-record 0 "gmma" '(var gamma var-gamma))
112 (calc-pop-push-record 0 "gmma" (math-gamma-const))))
113 (if (calc-is-hyperbolic)
114 (if calc-symbolic-mode
115 (calc-pop-push-record 0 "e" '(var e var-e))
116 (calc-pop-push-record 0 "e" (math-e)))
117 (if calc-symbolic-mode
118 (calc-pop-push-record 0 "pi" '(var pi var-pi))
119 (calc-pop-push-record 0 "pi" (math-pi)))))))
121 (defun calc-sin (arg)
123 (calc-slow-wrapper
124 (if (calc-is-hyperbolic)
125 (if (calc-is-inverse)
126 (calc-unary-op "asnh" 'calcFunc-arcsinh arg)
127 (calc-unary-op "sinh" 'calcFunc-sinh arg))
128 (if (calc-is-inverse)
129 (calc-unary-op "asin" 'calcFunc-arcsin arg)
130 (calc-unary-op "sin" 'calcFunc-sin arg)))))
132 (defun calc-arcsin (arg)
134 (calc-invert-func)
135 (calc-sin arg))
137 (defun calc-sinh (arg)
139 (calc-hyperbolic-func)
140 (calc-sin arg))
142 (defun calc-arcsinh (arg)
144 (calc-invert-func)
145 (calc-hyperbolic-func)
146 (calc-sin arg))
148 (defun calc-sec (arg)
150 (calc-slow-wrapper
151 (if (calc-is-hyperbolic)
152 (calc-unary-op "sech" 'calcFunc-sech arg)
153 (calc-unary-op "sec" 'calcFunc-sec arg))))
155 (defun calc-sech (arg)
157 (calc-hyperbolic-func)
158 (calc-sec arg))
160 (defun calc-cos (arg)
162 (calc-slow-wrapper
163 (if (calc-is-hyperbolic)
164 (if (calc-is-inverse)
165 (calc-unary-op "acsh" 'calcFunc-arccosh arg)
166 (calc-unary-op "cosh" 'calcFunc-cosh arg))
167 (if (calc-is-inverse)
168 (calc-unary-op "acos" 'calcFunc-arccos arg)
169 (calc-unary-op "cos" 'calcFunc-cos arg)))))
171 (defun calc-arccos (arg)
173 (calc-invert-func)
174 (calc-cos arg))
176 (defun calc-cosh (arg)
178 (calc-hyperbolic-func)
179 (calc-cos arg))
181 (defun calc-arccosh (arg)
183 (calc-invert-func)
184 (calc-hyperbolic-func)
185 (calc-cos arg))
187 (defun calc-csc (arg)
189 (calc-slow-wrapper
190 (if (calc-is-hyperbolic)
191 (calc-unary-op "csch" 'calcFunc-csch arg)
192 (calc-unary-op "csc" 'calcFunc-csc arg))))
194 (defun calc-csch (arg)
196 (calc-hyperbolic-func)
197 (calc-csc arg))
199 (defun calc-sincos ()
201 (calc-slow-wrapper
202 (if (calc-is-inverse)
203 (calc-enter-result 1 "asnc" (list 'calcFunc-arcsincos (calc-top-n 1)))
204 (calc-enter-result 1 "sncs" (list 'calcFunc-sincos (calc-top-n 1))))))
206 (defun calc-tan (arg)
208 (calc-slow-wrapper
209 (if (calc-is-hyperbolic)
210 (if (calc-is-inverse)
211 (calc-unary-op "atnh" 'calcFunc-arctanh arg)
212 (calc-unary-op "tanh" 'calcFunc-tanh arg))
213 (if (calc-is-inverse)
214 (calc-unary-op "atan" 'calcFunc-arctan arg)
215 (calc-unary-op "tan" 'calcFunc-tan arg)))))
217 (defun calc-arctan (arg)
219 (calc-invert-func)
220 (calc-tan arg))
222 (defun calc-tanh (arg)
224 (calc-hyperbolic-func)
225 (calc-tan arg))
227 (defun calc-arctanh (arg)
229 (calc-invert-func)
230 (calc-hyperbolic-func)
231 (calc-tan arg))
233 (defun calc-cot (arg)
235 (calc-slow-wrapper
236 (if (calc-is-hyperbolic)
237 (calc-unary-op "coth" 'calcFunc-coth arg)
238 (calc-unary-op "cot" 'calcFunc-cot arg))))
240 (defun calc-coth (arg)
242 (calc-hyperbolic-func)
243 (calc-cot arg))
245 (defun calc-arctan2 ()
247 (calc-slow-wrapper
248 (calc-enter-result 2 "atn2" (cons 'calcFunc-arctan2 (calc-top-list-n 2)))))
250 (defun calc-conj (arg)
252 (calc-wrapper
253 (calc-unary-op "conj" 'calcFunc-conj arg)))
255 (defun calc-imaginary ()
257 (calc-slow-wrapper
258 (calc-pop-push-record 1 "i*" (math-imaginary (calc-top-n 1)))))
260 (defun calc-to-degrees (arg)
262 (calc-wrapper
263 (calc-unary-op ">deg" 'calcFunc-deg arg)))
265 (defun calc-to-radians (arg)
267 (calc-wrapper
268 (calc-unary-op ">rad" 'calcFunc-rad arg)))
271 (defun calc-degrees-mode (arg)
274 (calc-wrapper
275 (calc-change-mode 'calc-angle-mode 'deg)
277 ((= arg 2) (calc-radians-mode))
278 ((= arg 3) (calc-hms-mode))
281 (defun calc-radians-mode ()
283 (calc-wrapper
284 (calc-change-mode 'calc-angle-mode 'rad)
373 (if calc-symbolic-mode
381 (if calc-symbolic-mode
391 (if calc-symbolic-mode
401 (if calc-symbolic-mode
450 (calc-record-why 'numberp a)
459 (if calc-symbolic-mode
491 (= (math-numdigs (nth 1 a)) calc-internal-prec))))
498 (= (math-numdigs (nth 1 b)) calc-internal-prec)))
505 (= (math-numdigs (nth 1 a)) calc-internal-prec))))))
531 (1+ (- (+ (math-numdigs (nth 1 b)) (nth 2 b)) calc-internal-prec)))))
544 (defun math-hypot (a b)
554 (calc-record-why 'scalarp a)
555 (list 'calcFunc-hypot a b)))
559 (calc-record-why 'scalarp b)
560 (list 'calcFunc-hypot a b)))
566 (math-to-hms (math-hypot (math-from-hms a 'deg)
568 (math-to-hms (math-hypot (math-from-hms a 'deg) b))))
570 (math-to-hms (math-hypot a (math-from-hms b 'deg))))
572 (defalias 'calcFunc-hypot 'math-hypot)
587 (and (not calc-symbolic-mode)
595 (and (not calc-symbolic-mode)
601 (and (not calc-symbolic-mode)
673 ;;; Most functions increase calc-internal-prec by 2 digits, then round
681 ((memq calc-angle-mode '(deg hms))
686 (cond ((eq calc-angle-mode 'deg)
690 ((eq calc-angle-mode 'hms)
697 ((memq calc-angle-mode '(deg hms))
698 (if calc-symbolic-mode
704 (cond ((memq calc-angle-mode '(deg hms))
705 (if calc-symbolic-mode
716 (if (eq calc-angle-mode 'deg)
736 (t (calc-record-why 'scalarp x)
741 (if (eq calc-angle-mode 'deg)
779 (t (calc-record-why 'scalarp x)
791 (if (eq calc-angle-mode 'deg)
804 (if (and (math-zerop (cdr sc)) (not calc-infinite-mode))
806 (calc-record-why "*Division by zero")
829 (t (calc-record-why 'scalarp x)
834 (eq calc-angle-mode 'deg)
840 (eq calc-angle-mode 'rad)
853 (not calc-infinite-mode))
855 (calc-record-why "*Division by zero")
895 (t (calc-record-why 'scalarp x)
900 (eq calc-angle-mode 'deg)
915 (not calc-infinite-mode))
917 (calc-record-why "*Division by zero")
953 (t (calc-record-why 'scalarp x)
958 (if (eq calc-angle-mode 'deg)
971 (if (and (math-zerop (car sc)) (not calc-infinite-mode))
973 (calc-record-why "*Division by zero")
992 (t (calc-record-why 'scalarp x)
1138 (calc-symbolic-mode (signal 'inexact-result nil))
1143 (calc-symbolic-mode (signal 'inexact-result nil))
1165 ((and (eq x 1) (eq calc-angle-mode 'deg)) 90)
1166 ((and (eq x -1) (eq calc-angle-mode 'deg)) -90)
1167 (calc-symbolic-mode (signal 'inexact-result nil))
1183 (t (calc-record-why 'numberp x)
1188 ((and (eq x 0) (eq calc-angle-mode 'deg)) 90)
1189 ((and (eq x -1) (eq calc-angle-mode 'deg)) 180)
1190 (calc-symbolic-mode (signal 'inexact-result nil))
1206 (t (calc-record-why 'numberp x)
1211 ((and (eq x 1) (eq calc-angle-mode 'deg)) 45)
1212 ((and (eq x -1) (eq calc-angle-mode 'deg)) -45)
1231 (t (calc-record-why 'numberp x)
1256 (calc-symbolic-mode (signal 'inexact-result nil))
1284 (calc-record-why 'anglep x)
1304 (calc-record-why 'anglep y)
1336 ((and (memq x '(1 -1)) calc-symbolic-mode)
1352 (t (calc-record-why 'numberp x)
1358 (calc-symbolic-mode (signal 'inexact-result nil))
1383 (t (calc-record-why 'numberp x)
1393 (calc-symbolic-mode (signal 'inexact-result nil))
1438 (if calc-infinite-mode
1450 (let ((calc-infinite-mode t))
1463 (t (calc-record-why 'numberp x)
1482 (if calc-infinite-mode
1485 (calc-symbolic-mode (signal 'inexact-result nil))
1514 (t (calc-record-why 'numberp x)
1523 (if calc-infinite-mode
1527 (if calc-infinite-mode
1531 (if calc-infinite-mode
1555 (calc-symbolic-mode (signal 'inexact-result nil))
1578 (calc-record-why 'numberp x)
1579 (calc-record-why 'numberp b))
1621 (eq (nth 1 math-log-base-cache) calc-internal-prec)))
1622 (setq math-log-base-cache (list b calc-internal-prec
1628 (if calc-infinite-mode
1633 (calc-symbolic-mode (signal 'inexact-result nil))
1654 (t (calc-record-why 'numberp x)
1671 (calc-symbolic-mode (signal 'inexact-result nil))
1679 ((eq calc-complex-mode 'polar) ; negative and real
1737 (if calc-symbolic-mode (signal 'inexact-result nil))
1752 (t (calc-record-why 'numberp x)
1763 (if calc-symbolic-mode (signal 'inexact-result nil))
1780 (t (calc-record-why 'numberp x)
1793 (if calc-symbolic-mode (signal 'inexact-result nil))
1813 (t (calc-record-why 'numberp x)
1824 (if calc-symbolic-mode (signal 'inexact-result nil))
1843 (t (calc-record-why 'numberp x)
1854 (if calc-symbolic-mode (signal 'inexact-result nil))
1875 (t (calc-record-why 'numberp x)
1888 (if calc-symbolic-mode (signal 'inexact-result nil))
1911 (t (calc-record-why 'numberp x)
1922 (if calc-symbolic-mode (signal 'inexact-result nil))
1939 (t (calc-record-why 'numberp x)
1945 ((and (eq x -1) calc-symbolic-mode)
1947 ((and (eq x 0) calc-symbolic-mode)
1954 (if calc-symbolic-mode (signal 'inexact-result nil))
1984 (t (calc-record-why 'numberp x)
1990 ((and (Math-equal-int x 1) calc-infinite-mode)
1992 ((and (Math-equal-int x -1) calc-infinite-mode)
1999 (if calc-symbolic-mode (signal 'inexact-result nil))
2006 (if (and (math-equal-int x 1) calc-infinite-mode)
2008 (if (and (math-equal-int x -1) calc-infinite-mode)
2023 (t (calc-record-why 'numberp x)
2062 (provide 'calc-math)
2065 ;;; calc-math.el ends here