;ELC   
;;; compiled by amu@mit.edu on Wed Dec 18 01:19:33 1996
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/calc-2.02e/calc-stuff.el
;;; emacs version 19.30.1.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`calc-stuff.el' was compiled for Emacs 19.29 or later"))


(byte-code "!!" [require calc-ext calc-macs] 2)
(defalias 'calc-Need-calc-stuff #[nil "" [nil] 1])
#@140 Use the number at the top of stack as the numeric prefix for the next command.
With a prefix, push that prefix as a number onto the stack.
(defalias 'calc-num-prefix #[(n) "!" [calc-do #[nil "\f !#!! !( !!\")" [n calc-enter-result 0 "" prefix-numeric-value calc-top 1 num math-messy-integerp math-trunc error "Argument must be a small integer" calc-pop-stack prefix-arg message "%d-"] 5]] 2 (#$ . 600) "P"])
(defalias 'calc-more-recursion-depth #[(n) "!" [calc-do #[nil " 	 \n!\n \n! ĉV' \n_\n_)\"" [calc-is-inverse calc-less-recursion-depth n prefix-numeric-value 2 1 max-specpdl-size max-lisp-eval-depth message "max-lisp-eval-depth is now %d"] 4]] 2 nil "P"])
(defalias 'calc-less-recursion-depth #[(n) "\n ! V  \f]])\"" [n prefix-numeric-value 2 1 max-specpdl-size 600 max-lisp-eval-depth 200 message "max-lisp-eval-depth is now %d"] 4 nil "P"])
(defalias 'calc-explain-why #[(why &optional more) "@=\n A@A@\n Ă0\n;\" \n0\n=, Ƃ0\n=V R :B @>R :R @>R Ƃ0ʂ0\n= | :l @>| :| @>| Ƃ0̂0\n=  : @> ΂0Ƃ0\n=  : @= Y ΂0 : @> : @> Ƃ0ʂ0\n=^:: @>::0@=6@=:@>*A@:\"A@@=3A@V3!3V:΂0Z:J@>Z:Z@>ZƂ0̂0\n=hׂ0\n=rق0\n=|ۂ0\n=݂0\n=݂0\n=0\n=:@>:@>00\n=0\n=0\n=0\n=0\n=0\n=\n!\n00\n=0\n=\"0\n=,0\n\"9;=Aa@89;@;S@X@\"Q9;8@ A 9BtC wD #-" [why * pred arg "Wrong type of argument" integerp "Integer expected" natnump (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) (bigpos bigneg) "Nonnegative integer expected" posintp "Positive integer expected" fixnump "Small integer expected" fixnatnump bigpos 0 fixposintp bigneg (frac float) math-posp posp "Positive number expected" negp "Negative number expected" nonzerop "Nonzero number expected" realp "Real number expected" anglep hmsp "HMS form expected" datep (bigpos bigneg frac float cplx polar hms date sdev intv mod) (bigpos bigneg frac float) "Real number or date form expected" "Date form expected" numberp "Number expected" scalarp vectorp "Vector or matrix expected" numvecp "Number or vector expected" matrixp "Matrix expected" square-matrixp math-matrixp "Square matrix expected" objectp constp "Constant expected" range "Argument out of range" format "%s expected" msg ": " punc t calc-can-abbrev-vectors math-format-flat-expr ", " message "%s%s" more "  [w=more]" ""] 5])
(defalias 'calc-why #[nil "	= 	\n= A \f$ \f@\fA\"\fA0 !!" [this-command last-command calc-last-why-command calc-why calc-which-why calc-explain-why message "(No further explanations available)" "No explanations available"] 3 nil nil])
(byte-code "" [nil calc-which-why calc-last-why-command] 1)
(defalias 'calc-version #[nil "\n#" [message "Calc %s, installed %s" calc-version calc-installed-date] 4 nil nil])
(defalias 'calc-flush-caches #[nil "!" [calc-do #[nil "	\n\f\"!" [nil math-lud-cache math-log2-cache math-radix-digits-cache math-radix-float-cache-tag math-random-cache math-max-digits-cache math-checked-rewrites math-integral-cache math-units-table math-decls-cache-tag t math-eval-rules-cache-tag math-graph-var-cache math-graph-data-cache math-format-date-cache math-holidays-cache-tag mapcar #[(x) "L" [x -100] 2] math-cache-list message "All internal calculator caches have been reset."] 3]] 2 nil nil])
(defalias 'calc-clean #[(n) "\"" [calc-do #[nil ">?   Â 	< 	!	!	X5 	\\7 	E)A !D#*" [calc-simplify-mode (none num) calc-is-hyperbolic calcFunc-clean calcFunc-pclean func calc-enter-result 1 "cln" n prefix-numeric-value calc-top-n 0 calc-internal-prec] 7] 6631] 3 nil "P"])
(defalias 'calc-clean-num #[(num) "	 	!  Y X Z  ![!" [calc-clean num prefix-numeric-value last-command-char 48 57 error "Number required"] 3 nil "P"])
(defalias 'calcFunc-clean #[(a &optional prec) "Q : @= 8Y !\"* W3 !E:D @>D E\f!!*= 8=h  i \"։A@!!E!!!)> @A\"B> @A\"B!= \f 8[V [!\"U ! !\" !Ç: @> ! D" [prec float 2 0 calcFunc-clean a math-trunc 3 calc-record-why "*Precision must be an integer 3 or above" (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) t math-chopping-small calc-internal-prec math-normalize polar math-mod calc-angle-mode rad math-two-pi 360 theta math-neg (vec date hms) mapcar (cplx mod sdev intv) math-compare calcFunc-xpon -1 math-num-integerp math-lessp (bigpos bigneg frac float cplx polar hms date sdev intv mod) math-infinitep] 7])
(byte-code "" [nil math-chopping-small] 1)
(defalias 'calcFunc-pclean #[(a &optional prec) "\n\"" [math-map-over-constants #[(x) "	\n\"" [calcFunc-clean x prec] 3] a] 3])
(defalias 'calcFunc-pfloat #[(a) "\n\"" [math-map-over-constants math-float a] 3])
(defalias 'calcFunc-pfrac #[(a &optional tol) "\n\"" [math-map-over-constants #[(x) "	\n\"" [calcFunc-frac x tol] 3] a] 3])
(defalias 'math-map-over-constants #[(func expr) "	!" [math-map-over-constants-rec expr] 2])
(defalias 'math-map-over-constants-rec #[(expr) ": @> @>' : @>% \f!_ @>W \f=W GUW 8:K 8@>W @A@!8E@A\"B" [expr (bigpos bigneg frac float cplx polar hms date mod var) (intv sdev) (bigpos bigneg frac float cplx polar hms date sdev intv mod) func (^ calcFunc-subscr) math-float 3 2 (bigpos bigneg) math-map-over-constants-rec mapcar] 4])
