home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / calc-2.02d-bin.lha / lib / emacs / site-lisp / calc.elc < prev    next >
Encoding:
Text File  |  1996-10-12  |  61.4 KB  |  684 lines

  1.  
  2. (provide (quote calc))
  3.  
  4. (defun calc-record-compilation-date nil (byte-code "Á‰‡" [calc-installed-date "Thu Oct 10 19:05:03 1996 by GNU Emacs Lover"] 2))
  5.  
  6. (calc-record-compilation-date)
  7.  
  8. (defvar calc-info-filename "calc.info" "\
  9. *File name in which to look for the Calculator's Info documentation.")
  10.  
  11. (defvar calc-settings-file "~/.emacs" "\
  12. *File in which to record permanent settings; default is \"~/.emacs\".")
  13.  
  14. (defvar calc-autoload-directory nil "\
  15. Name of directory from which additional \".elc\" files for Calc should be
  16. loaded.  Should include a trailing \"/\".
  17. If nil, use original installation directory.
  18. This can safely be nil as long as the Calc files are on the load-path.")
  19.  
  20. (defvar calc-gnuplot-name "gnuplot" "\
  21. *Name of GNUPLOT program, for calc-graph features.")
  22.  
  23. (defvar calc-gnuplot-plot-command nil "\
  24. *Name of command for displaying GNUPLOT output; %s = file name to print.")
  25.  
  26. (defvar calc-gnuplot-print-command "lp %s" "\
  27. *Name of command for printing GNUPLOT output; %s = file name to print.")
  28.  
  29. (defvar calc-bug-address "daveg@synaptics.com")
  30.  
  31. (defvar calc-scan-for-dels t)
  32.  
  33. (defvar calc-extensions-loaded nil)
  34.  
  35. (defvar calc-stack (quote ((top-of-stack 1 nil))))
  36.  
  37. (defvar calc-display-sci-high 0)
  38.  
  39. (defvar calc-display-sci-low -3)
  40.  
  41. (defvar calc-other-modes nil)
  42.  
  43. (defvar calc-Y-help-msgs nil)
  44.  
  45. (defvar calc-loaded-settings-file nil)
  46.  
  47. (defconst calc-mode-var-list (quote ((calc-always-load-extensions nil) (calc-mode-save-mode local) (calc-line-numbering t) (calc-line-breaking t) (calc-display-just nil) (calc-display-origin nil) (calc-left-label "") (calc-right-label "") (calc-number-radix 10) (calc-leading-zeros nil) (calc-group-digits nil) (calc-group-char ",") (calc-point-char ".") (calc-frac-format (":" nil)) (calc-prefer-frac nil) (calc-hms-format "%s@ %s' %s\"") (calc-date-format ((H ":" mm C SS pp " ") Www " " Mmm " " D ", " YYYY)) (calc-standard-date-formats ("N" "<H:mm:SSpp >Www Mmm D, YYYY" "D Mmm YYYY<, h:mm:SS>" "Www Mmm BD< hh:mm:ss> YYYY" "M/D/Y< H:mm:SSpp>" "D.M.Y< h:mm:SS>" "M-D-Y< H:mm:SSpp>" "D-M-Y< h:mm:SS>" "j<, h:mm:SS>" "YYddd< hh:mm:ss>")) (calc-float-format (float 0)) (calc-full-float-format (float 0)) (calc-complex-format nil) (calc-matrix-just center) (calc-full-vectors t) (calc-full-trail-vectors t) (calc-break-vectors nil) (calc-vector-commas ",") (calc-vector-brackets "[]") (calc-matrix-brackets (R O)) (calc-complex-mode cplx) (calc-infinite-mode nil) (calc-display-strings nil) (calc-simplify-mode nil) (calc-auto-recompute t) (calc-word-size 32) (calc-previous-modulo nil) (calc-display-raw nil) (calc-internal-prec 12) (calc-angle-mode deg) (calc-algebraic-mode nil) (calc-incomplete-algebraic-mode nil) (calc-symbolic-mode nil) (calc-matrix-mode nil) (calc-autorange-units nil) (calc-shift-prefix nil) (calc-window-height 7) (calc-was-keypad-mode nil) (calc-full-mode nil) (calc-language nil) (calc-language-option nil) (calc-user-parse-tables nil) (calc-show-selections t) (calc-use-selections t) (calc-assoc-selections t) (calc-display-trail t) (calc-display-working-message lots) (calc-auto-why (quote maybe)) (calc-timing nil) (calc-gnuplot-default-device "default") (calc-gnuplot-default-output "STDOUT") (calc-gnuplot-print-device "postscript") (calc-gnuplot-print-output "auto") (calc-gnuplot-geometry nil) (calc-graph-default-resolution 15) (calc-graph-default-resolution-3d 5) (calc-invocation-macro nil))))
  48.  
  49. (defconst calc-local-var-list (quote (calc-stack calc-stack-top calc-undo-list calc-redo-list calc-always-load-extensions calc-mode-save-mode calc-display-raw calc-line-numbering calc-line-breaking calc-display-just calc-display-origin calc-left-label calc-right-label calc-auto-why calc-algebraic-mode calc-incomplete-algebraic-mode calc-symbolic-mode calc-matrix-mode calc-inverse-flag calc-hyperbolic-flag calc-keep-args-flag calc-angle-mode calc-number-radix calc-leading-zeros calc-group-digits calc-group-char calc-point-char calc-frac-format calc-prefer-frac calc-hms-format calc-date-format calc-standard-date-formats calc-float-format calc-full-float-format calc-complex-format calc-matrix-just calc-full-vectors calc-full-trail-vectors calc-break-vectors calc-vector-commas calc-vector-brackets calc-matrix-brackets calc-complex-mode calc-infinite-mode calc-display-strings calc-simplify-mode calc-auto-recompute calc-autorange-units calc-show-plain calc-show-selections calc-use-selections calc-assoc-selections calc-word-size calc-internal-prec)))
  50.  
  51. (defun calc-init-base nil (byte-code "KÁ!…        †L M\"?NO \"??
  52. …) ?‰ˆPQ!†@RQS\"ˆKS!…bTSK!U=…bVSK8…|WXY@\"!?…‰A‰ˆ‚hˆ†…ïZ!…ïZ!YP
  53.         …ÀWX
  54.     @\"!?…Í    A‰    ˆ‚­ˆ    …î[\\ZX    @\"!!C\"‰*† …] ^\"?…[\\ !C\"‰*ˆ_`ab#ˆ_cab#ˆ_def#ˆ_dgh#ˆ_iej#ˆ_igk#ˆ_lem#ˆ_lgn#ˆo pÏÏÏÏÏÏÏÏÏÏÏρqrÏÏÏÏ Ï!Ï\"Ï#Ï$Ï%Ï&Ï'Ï(s)Ï*s+Ï,Ï-Ï.Ï/Ï0Ï1Ï2ô3ô5Ï6Ï7Ï8Ï9Ï:t;u<v=w>x?y‰@ˆz{A\"ˆz|B\"ˆ}C!ƒ[ς°~ ‰CˆCô\"ˆ€C‚#ˆ€Cƒ„#ˆ€C…†#ˆ€C‡ˆ#ˆ€C‰Š#ˆ€C‹Œ#ˆ€CŽ#ˆ€C#ˆ€C‘’#ˆ€C“”#ˆ€C•–#ˆ€C—˜#ˆ€C™Ï#ˆ€Cš›#ˆ€Cœ#ˆ€CžŸ#ˆ€C ¡#ˆ€C¢£#ˆ€C¤£#ˆ€C¥¦#ˆ€C§¨#ˆ€C©Ÿ#ˆ€Cª«#ˆ€C¬­#ˆz®¯\"ˆz°±²P\"ˆz³´\"ˆ~ ‰Dˆ ƒÞµ¶C\"‚4
  55. ƒëVC8‚íC
  56. ƒúVD8‚üDsGFEG·W…3FGEGH¸=ƒ$¸‚'¹IˆGT‰Gˆ‚+ˆzº»\"ˆz¼½\"ˆ€D ¾#ˆ€D¿À#ˆ€DÁÂ#ˆzÃHƒ™ÄÅÆI\"ÅÇI\"È#‚œÉ\"ˆ~ ‰JˆzÊË\"ˆUÌÍ\"ˆUÎÏ\"ˆzÐÑ\"ˆzÒÓ\"‡" [calc-emacs-type-epoch epoch::version calc-emacs-type-19 emacs-version calc-emacs-type-lucid calc-emacs-type-gnu19 name p load-path p2 name2 calc-autoload-directory calc-version calc-version-date calc-trail-pointer nil calc-trail-overlay calc-was-split calc-undo-list calc-redo-list calc-main-buffer calc-trail-buffer calc-why calc-next-why calc-inverse-flag calc-hyperbolic-flag calc-keep-args-flag calc-function-open calc-function-close calc-language-output-filter calc-language-input-filter calc-radix-formatter calc-last-kill calc-previous-alg-entry calc-dollar-values calc-dollar-used calc-hashes-used calc-quick-prev-results calc-said-hello calc-executing-macro calc-any-selections calc-help-phase calc-full-help-flag calc-refresh-count calc-display-dirty calc-prepared-composition calc-selection-cache-default-entry calc-embedded-info calc-embedded-active calc-standalone-flag var-EvalRules math-eval-rules-cache-tag t math-radix-explicit-format math-expr-function-mapping math-expr-variable-mapping math-read-expr-quotes math-working-step math-working-step-2 var-i var-pi var-e var-phi var-gamma var-Modes calc-mode-var-list calc-local-var-list calc-mode-map calc-digit-map cmap dmap i calc-scan-for-dels global-map calc-dispatch-map fboundp string-lessp "19" string-match "Lucid" global-key-binding "#" global-set-key calc-dispatch car-safe autoload 1 file-exists-p expand-file-name "calc-misc.elc" file-name-directory nconc directory-file-name equal "" put calc-mode mode-class special calc-trail-mode inexact-result error-conditions (error inexact-result calc-error) error-message "Calc internal error (inexact-result)" math-overflow (error math-overflow calc-error) "Floating-point overflow occurred" math-underflow (error math-underflow calc-error) "Floating-point underflow occurred" "2.02c" "Tue Mar 22 1994" "(" ")" 0 (special-const (math-imaginary 1)) (special-const (math-pi)) (special-const (math-e)) (special-const (math-phi)) (special-const (math-gamma-const)) (special-const (math-get-modes-vec)) mapcar (lambda (v) (byte-code "Á@!†@Â8L‡" [v boundp 1] 4)) (lambda (v) (byte-code "Â!†    ÁL‡" [v nil boundp] 3)) boundp make-keymap suppress-keymap define-key "+" calc-plus "-" calc-minus "*" calc-times "/" calc-divide "%" calc-mod "&" calc-inv "^" calc-power "¥" calc-percent "e" calcDigit-start "i" calc-info "n" calc-change-sign "q" calc-quit "Y" "Y?" calc-shift-Y-prefix-help "?" calc-help " " calc-enter "'" calc-algebraic-entry "$" calc-auto-algebraic-entry "\"" "    " calc-roll-down "‰" calc-roll-up "" "" calc-last-args-stub "
  57. " calc-over (lambda (x) (byte-code "Âà   !Ä#‡" [calc-mode-map x define-key char-to-string undefined] 5)) "lOW" (lambda (x) (byte-code "Âà   !Ä#‡" [calc-mode-map x define-key char-to-string calc-missing-key] 5)) "ABCDEFGHIJKLMNPQRSTUVXZabcdfghjkmoprstuvwxyz" ":\\|!()[]<>{},;=~` ë÷" (lambda (x) (byte-code "Âà   !Ä#‡" [calc-mode-map x define-key char-to-string calcDigit-start] 5)) "_0123456789.#@" map-keymap (lambda (keys bind) (byte-code "à   
  58. Ä=ƒÄ‚Å#‡" [calc-digit-map keys bind define-key undefined calcDigit-nondigit] 5)) 128 undefined calcDigit-nondigit (lambda (x) (byte-code "Âà   !Ä#‡" [calc-digit-map x define-key char-to-string calcDigit-key] 5)) "_0123456789.e+-:n#@oh'\"mspM" (lambda (x) (byte-code "Âà   !Ä#‡" [calc-digit-map x define-key char-to-string calcDigit-letter] 5)) "abcdfgijklqrtuvwxyzABCDEFGHIJKLNOPQRSTUVWXYZ" calcDigit-algebraic "`" calcDigit-edit "" abort-recursive-edit (lambda (x) (byte-code "ÀÁ‡" [err (byte-code "Ä    Å#ˆÄ
  59.     Æ#ˆÄ
  60. Ç    !ƒC ƒ<    GÈUƒ8É    ÊH:ƒ/Ë    ÊHB‚4Ë    ÊHD!‚9̂@ÍΠ   \"‚FΠ   PÏ#‡" [calc-digit-map x calc-mode-map calc-emacs-type-lucid define-key calcDigit-backspace calc-pop vectorp 1 vector 0 meta "" vconcat "" calc-pop-above] 9) ((error (byte-code "À‡" [nil] 1)))] 3)) append where-is-internal delete-backward-char backward-delete-char ("") ("" "") (lambda (x) (byte-code "Âà   @!    A#ˆÄÅà   @!\"…!ÂÃÆ    @ÇÈ#!    A#ˆÂÉÊ    @\"    A#‡" [calc-dispatch-map x define-key char-to-string string-match "abcdefhijklnopqrstuwxyz" - 97 -1 format "%c"] 12)) ((97 . calc-embedded-activate) (98 . calc-big-or-small) (99 . calc) (100 . calc-embedded-duplicate) (101 . calc-embedded) (102 . calc-embedded-new-formula) (103 . calc-grab-region) (104 . calc-dispatch-help) (105 . calc-info) (106 . calc-embedded-select) (107 . calc-keypad) (108 . calc-load-everything) (109 . read-kbd-macro) (110 . calc-embedded-next) (111 . calc-other-window) (112 . calc-embedded-previous) (113 . quick-calc) (114 . calc-grab-rectangle) (115 . calc-info-summary) (116 . calc-tutorial) (117 . calc-embedded-update-formula) (119 . calc-embedded-word) (120 . calc-quit) (121 . calc-copy-to-buffer) (122 . calc-user-invocation) (61 . calc-embedded-update-formula) (39 . calc-embedded-new-formula) (96 . calc-embedded-edit) (58 . calc-grab-sum-down) (95 . calc-grab-sum-across) (48 . calc-reset) (35 . calc-same-interface) (63 . calc-dispatch-help)) calc-extensions "calc-ext" calc-need-macros "calc-macs" (lambda (x) (byte-code "ÁÂA\"‡" [x mapcar (lambda (func) (byte-code "    @\"‡" [func x autoload] 3))] 3)) (("calc-aent" calc-Need-calc-aent calc-alg-digit-entry calc-alg-entry calc-check-user-syntax calc-do-alg-entry calc-do-calc-eval calc-do-quick-calc calc-match-user-syntax math-build-parse-table math-find-user-tokens math-read-expr-list math-read-exprs math-read-if math-read-token math-remove-dashes) ("calc-misc" calc-Need-calc-misc calc-delete-windows-keep calc-do-handle-whys calc-do-refresh calc-num-prefix-name calc-record-list calc-record-why calc-report-bug calc-roll-down-stack calc-roll-up-stack calc-temp-minibuffer-message calcFunc-floor calcFunc-inv calcFunc-trunc math-concat math-constp math-div2 math-div2-bignum math-do-working math-evenp math-fixnatnump math-fixnump math-floor math-imod math-ipow math-looks-negp math-mod math-negp math-posp math-pow math-read-radix-digit math-reject-arg math-trunc math-zerop)) (lambda (x) (byte-code "ÁÂA\"‡" [x mapcar (lambda (cmd) (byte-code "Ä    @ÂÃ$‡" [cmd x nil t autoload] 5))] 3)) (("calc-aent" calc-algebraic-entry calc-auto-algebraic-entry calcDigit-algebraic calcDigit-edit) ("calc-misc" another-calc calc-big-or-small calc-dispatch-help calc-help calc-info calc-info-summary calc-inv calc-last-args-stub calc-missing-key calc-mod calc-other-window calc-over calc-percent calc-pop-above calc-power calc-roll-down calc-roll-up calc-shift-Y-prefix-help calc-tutorial calcDigit-letter report-calc-bug))] 79))
  61.  
  62. (calc-init-base)
  63.  
  64. (defun calc-dispatch (&optional arg) "\
  65. Invoke the GNU Emacs Calculator.  See calc-dispatch-help for details." (interactive "P") (byte-code "ˆÃ!ˆÄÅÆˆÇ    !‡" [echo-keystrokes arg nil sit-for err (byte-code "à;?†9ÄÅ\"†9Æ    \"Ç=†9ÄÈ\"…3Æ    ÉÊO\"9…3Ë    ÉÊOÂ#ˆË    Ç#)‡" [keys calc-dispatch-map nil this-command-keys string-match "\\`\\|\\`-0-9#]\\|`[­°-¹]" lookup-key calc-same-interface "\\`[-]" 0 1 define-key] 10) ((error (byte-code "À‡" [nil] 1))) calc-do-dispatch] 4))
  66.  
  67. (defun calc-do-dispatch (arg) (byte-code "à   ƒ    Ä‚ÅÆÇÈ !\"
  68. \"É
  69. \"‰ˆÊË!ˆƒ1Ì!†*Í ˆÎ!‚3Ï )‡" [key calc-dispatch-help calc-dispatch-map calc-read-key-sequence "Calc options: Calc, Keypad, Quick, Embed; eXit; Info, Tutorial; Grab; ?=more" format "%s  (Type ? for a list of Calc options)" key-description this-command-keys lookup-key message "" commandp calc-extensions call-interactively beep] 11))
  70.  
  71. (setq calc-dispatch-help nil)
  72.  
  73. (defun calc-read-key-sequence (prompt map) (byte-code "ÉÊËÌ !\"͠ΠÏ †Ð !ˆÑÅ!Ò A!ˆÓŽÔ!ˆÕÇ!ˆÖרƒ:Ù A!‚>Ú A!!!ƒGۂH!))+‡" [prompt2 glob loc prompt key t map nil calc-emacs-type-19 format "%s " key-description this-command-keys current-global-map current-local-map input-pending-p message calc-read-key calc-unread-command ((byte-code "Â!ˆÃ    !‡" [glob loc use-global-map use-local-map] 3)) use-global-map use-local-map read-key-sequence commandp key-binding vector char-to-string ""] 17))
  74.  
  75. (defun calc-mode nil "\
  76. Calculator major mode.
  77.  
  78. This is an RPN calculator featuring arbitrary-precision integer, rational,
  79. floating-point, complex, matrix, and symbolic arithmetic.
  80.  
  81. RPN calculation:  2 RET 3 +    produces 5.
  82. Algebraic style:  ' 2+3 RET    produces 5.
  83.  
  84. Basic operators are +, -, *, /, ^, & (reciprocal), % (modulo), n (change-sign).
  85.  
  86. Press ? repeatedly for more complete help.  Press `h i' to read the
  87. Calc manual on-line, `h s' to read the summary, or `h t' for the tutorial.
  88.  
  89. Notations:  3.14e6     3.14 * 10^6
  90.             _23        negative number -23 (or type `23 n')
  91.             17:3       the fraction 17/3
  92.             5:2:3      the fraction 5 and 2/3
  93.             16#12C     the integer 12C base 16 = 300 base 10
  94.             8#177:100  the fraction 177:100 base 8 = 127:64 base 10
  95.             (2, 4)     complex number 2 + 4i
  96.             (2; 4)     polar complex number (r; theta)
  97.             [1, 2, 3]  vector  ([[1, 2], [3, 4]] is a matrix)
  98.             [1 .. 4)   semi-open interval, 1 <= x < 4
  99.             2 +/- 3    (p key) number with mean 2, standard deviation 3
  100.             2 mod 3    (M key) number 2 computed modulo 3
  101.         <1 jan 91> Date form (enter using ' key)
  102.  
  103.  
  104. \\{calc-mode-map}
  105. " (interactive) (byte-code "ˈÔÕ\"ˆÖ ˆ×    Ø=ƒÙ ˆ
  106. ‚ !ˆÔÚ\"ˆÛÜ!ˆÛÝ!ˆÅ‰ˆÅ‰ˆÞ‰ˆß‰ˆàá
  107. \"
  108. >†NáâËEC‰
  109. G‰    ˆã
  110. G    ä#‰    ˆ †våæ\"†vʼn ˆçÅ\"ˆè=…éÏ!…Šêëì#ˆ…Àí@î\"…µåïâ8\"…µåðâ8\"…µÅ‰ˆA‰ˆ‚)ˆñò!ˆóÅ!ˆô ˆéÓ!…Õ…íõö!ˆ÷ ˆøùB!ˆË‰ˆô ˆú ‡" [calc-local-var-list calc-algebraic-mode calc-alg-map calc-mode-map truncate-lines t buffer-read-only major-mode mode-name calc-stack-top calc-stack nil calc-loaded-settings-file calc-settings-file window-system mouse-map p command-line-args calc-standalone-flag calc-defs mapcar (lambda (v) (byte-code "ÁJ\"‡" [v set-default] 3)) kill-all-local-variables use-local-map total calc-extensions (lambda (v) (byte-code "Á!‡" [v make-local-variable] 2)) make-local-variable overlay-arrow-position overlay-arrow-string calc-mode "Calculator" assq top-of-stack 1 - -1 string-match "\\.emacs" load x boundp substitute-key-definition x-paste-text calc-x-paste-text equal "-f" "calc" "full" run-hooks calc-mode-hook calc-refresh calc-set-mode-line message "Evaluating calc-defs..." calc-need-macros eval progn calc-check-defines] 26))
  111.  
  112. (defun calc-check-defines nil (byte-code "ÂÃ!…UÄÂÃ!!…Å8?… AA‰ˆ‚ ˆƒPŠÆ ˆÇ ˆÈqˆ…IÉÃ@Á#ˆÊÅ8!ˆAA‰ˆ‚/ˆË )‚TÌÃÁ\")‡" [plist nil symbol-plist calc-define copy-sequence 1 calc-extensions calc-need-macros "*Calculator*" put eval calc-check-defines setplist] 11))
  113.  
  114. (setq calc-check-defines (quote calc-check-defines))
  115.  
  116. (defun calc-trail-mode (&optional buf) "\
  117. Calc Trail mode.
  118. This mode is used by the *Calc Trail* buffer, which records all results
  119. obtained by the GNU Emacs Calculator.
  120.  
  121. Calculator commands beginning with the `t' key are used to manipulate
  122. the Trail.
  123.  
  124. This buffer uses the same key map as the *Calculator* buffer; calculator
  125. commands given here will actually operate on the *Calculator* stack." (interactive) (byte-code "ȈˠˆÌ!ˆÍ‰ˆÎ‰ˆÄ‰ˆÄ‰ˆÏÐ!ˆÏÑ!ˆ…/ÏÇ!ˆ‰ˆÒ ÓU…EÈÔÕ    Ö×
  126. Ø&)ˆÙÚ!‡" [calc-mode-map major-mode mode-name truncate-lines t buffer-read-only buf calc-main-buffer nil calc-version calc-installed-date fundamental-mode use-local-map calc-trail-mode "Calc Trail" make-local-variable overlay-arrow-position overlay-arrow-string buffer-size 0 insert "Emacs Calculator v" " by Dave Gillespie, " "installed " "
  127. " run-hooks calc-trail-mode-hook] 13))
  128.  
  129. (defun calc-create-buffer nil (byte-code "ÆÇ!qˆÈ=†È ˆ    É]‰ˆ
  130. …Ê ˆ …'Ê ˆË Å#‡" [major-mode max-lisp-eval-depth calc-always-load-extensions calc-language calc-language-option t get-buffer-create "*Calculator*" calc-mode 1000 calc-extensions calc-set-language] 8))
  131.  
  132. (defun calc (&optional arg full-display interactive) "\
  133. The Emacs Calculator.  Full documentation is listed under \"calc-mode\"." (interactive "P") (byte-code "Áˆƒ.Ñ=†+Ò ˆÓ!ÔUƒ!ÕÖ × Á#‚+Ó!ØU…+Ù ‚(ÚÛ!…<Ù ˆÜÝ !qˆ
  134. Þ=ƒHß ‚(pࠈÁ‰ˆÆ=†^?…^ƒhápÆ\"‚ÙÚp!ƒvâÚp!!‚ÙÁ‰ˆãÉ!…ƒ    ƒŒäÉ!‚Ùå 
  135.  …¡æ
  136. !ç è#VƒÕ順µ
  137. æ
  138. !Ý E‰ˆê
  139. ëæ
  140. !è#Á#‰
  141. ˆì
  142. p\"ˆâ
  143. !‚Øíp!)ˆŠî qˆ…ðï ð U…ðñòÆ\")ˆóô!ˆäõ!ˆö!…    ÷!…    â!ˆø ˆ…\"t†…\"ùè!ˆóú!ˆÆ‰)‡" [arg nil major-mode oldbuf calc-was-keypad-mode full-display t calc-full-mode calc-was-split calc-window-hook w pop-up-windows window-min-height calc-window-height calc-display-trail calc-said-hello interactive 0 calc-extensions prefix-numeric-value -1 calc-grab-region region-beginning region-end -2 calc-keypad get-buffer-window "*Calc Keypad*" window-buffer selected-window calc-mode calc-quit calc-create-buffer switch-to-buffer select-window boundp run-hooks get-largest-window window-height + 2 one-window-p split-window - set-window-buffer pop-to-buffer calc-trail-buffer window-width screen-width calc-trail-display 1 message "Welcome to the GNU Emacs Calculator!  Press `?' or `h' for help, `q' to quit." calc-start-hook windowp window-point calc-check-defines sit-for ""] 45))
  144.  
  145. (defun full-calc nil "\
  146. Invoke the Calculator and give it a full-sized window." (interactive) (byte-code "ÀˆÂÀÁt#‡" [nil t calc] 4))
  147.  
  148. (defun calc-same-interface (arg) "\
  149. Invoke the Calculator using the most recent interface (calc or calc-keypad)." (interactive "P") (byte-code "ňÆÇ È\"…É ÊVƒË ‚;Ì=ƒ\"Í    !‚;Î=ƒ-Ï ‚;
  150. ƒ6Р‚;Ñ     Ä#‡" [major-mode arg calc-was-keypad-mode calc-full-mode t nil equal buffer-name "*Gnuplot Trail*" recursion-depth 0 exit-recursive-edit calc-edit-mode calc-edit-finish MacEdit-mode MacEdit-finish-edit calc-keypad calc] 11))
  151.  
  152. (defun calc-quit (&optional non-fatal) (interactive) (byte-code "ˆ…    ?…ÎÂ!ˆÏРÑ\"…Ò ÓV… Ô ˆ Õ=ƒ,Ö ‚Ð ×=ƒ7Ø ‚Ðt…D …Dp ÓH=ƒMÙÂ!‚Ð Ú=†UÛ ˆÜÝ!ˆÂ‰ˆÞß\"ˆpàp!áâ!
  153.     ãÍ !ˆ    …—ä    !å SW…—æ    !ç U…—àâ!?…£ä    !èZ‰ ˆ ƒ²é
  154. \"‚»ã!ˆã
  155. !ˆê!ˆê!ˆ
  156. …Ïê
  157. !+‡" [calc-standalone-flag non-fatal nil major-mode calc-embedded-info calc-undo-list calc-redo-list calc-local-var-list buf win kbuf calc-window-height calc-was-split calc-trail-buffer save-buffers-kill-emacs equal buffer-name "*Gnuplot Trail*" recursion-depth 0 exit-recursive-edit calc-edit-mode calc-edit-cancel MacEdit-mode MacEdit-cancel-edit calc-embedded calc-mode calc-create-buffer run-hooks calc-end-hook mapcar (lambda (v) (byte-code "ÁJ\"‡" [v set-default] 3)) get-buffer-window get-buffer "*Calc Keypad*" delete-windows-on window-height screen-height window-width screen-width 2 calc-delete-windows-keep bury-buffer] 28))
  158.  
  159. (defun quick-calc nil "\
  160. Do a quick calculation in the minibuffer without invoking full Calculator." (interactive) (byte-code "ÀˆÁ ‡" [nil calc-do-quick-calc] 2))
  161.  
  162. (defun calc-eval (str &optional separator &rest args) "\
  163. Do a quick calculation and return the result as a string.
  164. Return value will either be the formatted result in string form,
  165. or a list containing a character position and an error message in string form." (byte-code "à   
  166. #‡" [str separator args calc-do-calc-eval] 4))
  167.  
  168. (defun calc-keypad nil "\
  169. Invoke the Calculator in \"visual keypad\" mode.
  170. This is most useful in the X window system.
  171. In this mode, click on the Calc \"buttons\" using the left mouse button.
  172. Or, position the cursor manually and do M-x calc-keypad-press." (interactive) (byte-code "ÁˆÂ ˆÃt\"‡" [calc-full-mode nil calc-extensions calc-do-keypad] 4))
  173.  
  174. (defun full-calc-keypad nil "\
  175. Invoke the Calculator in full-screen \"visual keypad\" mode.
  176. See calc-keypad for details." (interactive) (byte-code "ÁˆÂ ˆÃÀt\"‡" [t nil calc-extensions calc-do-keypad] 4))
  177.  
  178. (defun calc-do (do-body &optional do-slow) (byte-code "Ò ˆÁ …
  179. ?…Ó …Ô  ƒՂ Ö]׉ˆØŽÙÚۏ)+ˆÜÁ!‡" [calc-command-flags nil calc-start-time calc-timing gc-cons-threshold calc-aborted-prefix calc-old-aborted-prefix calc-internal-prec calc-date-format end-time time major-mode calc-final-point-line calc-final-point-column calc-inverse-flag calc-hyperbolic-flag calc-keep-args-flag calc-embedded-info calc-check-defines calc-extensions current-time-string 2000000 100000 "" ((byte-code "    ‰ˆ    … ÐÑ    \"ˆ
  180. …DÒÅÓ Ô
  181. \"ƒ%Ղ4Öר!Õ\"ר
  182. !Õ\"\"ÙÚ\"…CÐÛ\",ˆÜ>†U    Ý=†UÞ ˆß>…~    à=ƒpá
  183. !ˆâ !‚~Šã ˆá
  184. !ˆâ !)ˆä>†•Šã ˆÅ Åʼn)ˆå>…¢æçè!!ˆé ˆ…­ê ‡" [calc-old-aborted-prefix calc-aborted-prefix calc-start-time calc-internal-prec calc-date-format nil end-time time calc-command-flags major-mode calc-final-point-line calc-final-point-column calc-inverse-flag calc-hyperbolic-flag calc-keep-args-flag calc-embedded-info calc-record "<Aborted>" 12 current-time-string equal 0 math-sub calcFunc-unixtime math-parse-date math-lessp 1 "(t)" no-align calc-trail-mode calc-align-stack-window position-point calc-mode goto-line move-to-column calc-select-buffer keep-flags do-edit switch-to-buffer get-buffer-create "*Calc Edit*" calc-set-mode-line calc-embedded-finish-command] 22)) err (byte-code "Šƒ
  185. É ‚ Ê ˆ    Ë=…Ì …Í
  186. !ˆ …+ …+ÎÏ!ˆÐÑ!ˆÒ!ˆÇ‰ˆÓ>…>Ô ˆÑ>…IÎÕ!)‡" [calc-embedded-info calc-algebraic-mode calc-alg-map do-slow calc-display-working-message do-body calc-aborted-prefix nil calc-command-flags calc-embedded-select-buffer calc-select-buffer total calc-extensions use-local-map message "Working..." calc-set-command-flag clear-message funcall renum-stack calc-renumber-stack ""] 10) ((error (byte-code "@Ã=…Ä8;…ÅÆÄ8\"ƒÃÇ!‚'‰ˆÈ@A\"‡" [err calc-aborted-prefix nil error 1 string-match "max-specpdl-size\\|max-lisp-eval-depth" "Computation got stuck or ran too long.  Type `M' to increase the limit." signal] 5))) identity] 6))
  187.  
  188. (setq calc-aborted-prefix nil)
  189.  
  190. (setq calc-start-time nil)
  191.  
  192. (defun calc-set-command-flag (f) (byte-code "    >?…     B‰‡" [f calc-command-flags] 2))
  193.  
  194. (defun calc-select-buffer nil (byte-code "Ã=†     ƒ    q‚ ÄÅ!
  195. ƒ
  196. q‚ÆÇ!)‡" [major-mode calc-main-buffer buf calc-mode get-buffer "*Calculator*" error "Calculator buffer not available"] 3))
  197.  
  198. (defun calc-cursor-stack-index (&optional index) (byte-code "dbˆÁ†
  199. Ã![!‡" [index forward-line calc-substack-height 1] 3))
  200.  
  201. (defun calc-stack-size nil (byte-code "G    Z‡" [calc-stack calc-stack-top] 2))
  202.  
  203. (defun calc-substack-height (n) (byte-code "Å
  204.  \\‰ˆ ÅV…    …&Æ    @8\\ S    A‰ˆ‚
  205. ˆ*‡" [sum stack calc-stack n calc-stack-top 0 1] 4))
  206.  
  207. (defun calc-set-mode-line nil (byte-code "Šâ ˆ    @ã    8äå ƒæ‚çè GéV…&êè ëéOì\"ƒ1è éáO‚2çíî!!ïð=ƒEñ‚XƒNò‚XƒWó‚Xç    ƒaô‚bç
  208. õ=ƒmö‚ˆ÷
  209. !ƒ|äø
  210. \"‚ˆ
  211. ù=ƒ‡ú‚ˆç û=ƒ“ü‚”烝ý‚žç?ƒ¨ç‚´ã=ƒ³þ‚´ÿ@=ƒÃA‚B=ƒÒC‚D=ƒåäE\"‚F=ƒôG‚H=ƒI‚J=ƒK‚çLUƒ ç‚TMUƒ/N‚TOUƒ>P‚TQUƒMR‚TäS\"ƒ_T‚`ç?ƒj炃U=ƒyV‚ƒíî!!WPX=ƒ Y
  212. !ƒ—炝äZ
  213. \"‚ì[=ƒ±ä\\
  214. \"‚ì]=ƒÐY
  215. !ƒÇ^‚Íä_
  216. \"‚ì`=…ìY
  217. !ƒæa‚ìäb
  218. \"?ƒƒäc\"‚ç‚5d=ƒ#ƒäe\"‚ f‚5ƒ2äg\"‚5h÷!ƒFäi\"‚RƒOç‚Rjƒ[ç‚^kl=ƒmm‚³ ?ƒv炳n=ƒ…o‚³p=ƒ”q‚³r=ƒ£s‚³t=ƒ²u‚³çƒ¼炿vwx!…́x ƒÖy‚×ç …ìz ëV…ì{ã|\"ƒõ}‚ö烁~‚烁‚烁€‚çƒ%‚&灂ã\"ƒ6ƒ‚7灄ï\"&&ê  \"ƒOá‚e ‰ ˆ…† !ˆ …e‡ +)‡" [fmt calc-float-format figs new-mode-string calc-embedded-info calc-internal-prec calc-angle-mode calc-algebraic-mode calc-incomplete-algebraic-mode calc-symbolic-mode calc-matrix-mode t calc-complex-mode calc-prefer-frac calc-infinite-mode calc-simplify-mode calc-word-size calc-number-radix calc-leading-zeros calc-language calc-display-just calc-display-origin calc-line-breaking calc-assoc-selections calc-mode-save-mode calc-auto-recompute calc-display-dirty calc-inverse-flag calc-hyperbolic-flag calc-keep-args-flag calc-stack-top calc-other-modes mode-line-buffer-identification nil calc-select-buffer 1 format "Calc%s%s: %d %s %-14s" "Embed" "" buffer-name 12 equal 0 "*Calculator*" capitalize symbol-name concat total "Alg* " "Alg " "Alg[( " "Symb " matrix "Matrix " integerp "Matrix%d " scalar "Scalar " polar "Polar " "Frac " "+Inf " "Inf " none "NoSimp " num "NumSimp " binary "BinSimp%d " alg "AlgSimp " ext "ExtSimp " units "UnitSimp " 10 2 "Bin " 8 "Oct " 16 "Hex " "Radix%d " "Zero " tex "TeX " " " float zerop "Norm%d " fix "Fix%d " sci "Sci " "Sci%d " eng "Eng " "Eng%d " "Left%d " right "Right%d " "Right " "Center%d " "Center " "Wid%d " "Wide " "Break " save "Save " local "Local " edit "LocEdit " perm "LocPerm " global "Global " "Manual " fboundp calc-gnuplot-alive "Graph " calc-stack-size calc-top sel "Sel " "Dirty " "Inv " "Hyp " "Keep " /= "Narrow " apply set-buffer-modified-p buffer-modified-p calc-embedded-mode-line-change] 63))
  219.  
  220. (defun calc-align-stack-window nil (byte-code "Â=ƒ2Ãp!    …ÄÅ!ˆÆÇÈ    !Z!ˆÉ    `\")ˆÄÅ!ˆÊË!…/ÌÅ!Sb‚9ŠÍ ˆÎ )‡" [major-mode win calc-mode get-buffer-window calc-cursor-stack-index 0 vertical-motion 2 window-height set-window-start looking-at " *\\.$" match-end calc-select-buffer calc-align-stack-window] 11))
  221.  
  222. (defun calc-check-stack (n) (byte-code "Á V…
  223. ÂÃ!ˆÄW…ÂÅ!‡" [n calc-stack-size error "Too few elements on stack" 0 "Invalid argument"] 4))
  224.  
  225. (defun calc-push-list (vals &optional m sels) (byte-code "…x    ƒË
  226. #‚lŠÌ ˆ@ Í @E
  227. †\"Í\\Î
  228. †-ÍS!ˆÍVƒMÏÐÑZ\"ÐS\"B\"‚TB‰ˆÊ    ÒÓ!Ô\")ˆÕÖD!ˆ×Ø!+)ˆA A‰ˆ‚‡" [vals calc-executing-macro m sels val entry mm calc-stack-top calc-stack buffer-read-only nil calc-push-list-in-macro calc-select-buffer 1 calc-cursor-stack-index setcdr nthcdr 2 insert math-format-stack-value "
  229. " calc-record-undo push calc-set-command-flag renum-stack] 13))
  230.  
  231. (defun calc-pop-push-list (n vals &optional m sels) (byte-code "…    ?ƒÅ
  232. #‚Æ
  233.     #ˆÇ     #‡" [calc-any-selections sels n vals m calc-replace-selections calc-pop-stack calc-push-list] 6))
  234.  
  235. (defun calc-pop-push-record-list (n prefix vals &optional m sels) (byte-code ":…Å@!†@:†!…!C    …    C‰ˆÆÇ
  236. †*ÈÉ#!ˆ …CAƒ>Ê \"‚CË@ \"ˆÌ
  237.     $‡" [vals sels n m prefix integerp calc-check-stack + 1 -1 calc-record-list calc-record calc-pop-push-list] 10))
  238.  
  239. (defun calc-enter-result (n prefix vals &optional m) (byte-code "    ‰ˆ
  240. :…Æ
  241. @!†
  242. @:ƒÇÈ
  243. \"‰‚$È
  244. !‰ˆ
  245. :…4Æ
  246. @!†4
  247. @:†;
  248. C‰ˆÉ
  249. Ê\"…FÉˆË     
  250. $ˆÌ ‡" [calc-aborted-prefix prefix vals nil n m integerp mapcar calc-normalize equal ((nil)) calc-pop-push-record-list calc-handle-whys] 10))
  251.  
  252. (defun calc-normalize (val) (byte-code "Â>ƒ à   !‚Ä ˆÅ    !‡" [calc-simplify-mode val (nil none num) math-normalize calc-extensions calc-normalize-fancy] 4))
  253.  
  254. (defun calc-handle-whys nil (byte-code "…Á ‡" [calc-next-why calc-do-handle-whys] 2))
  255.  
  256. (defun calc-pop-stack (&optional n m sel-ok) (byte-code "†̉ˆ    †̉ˆ
  257. †”     \\…&?…&Í    \"…+Јƒ8Ï \"‚“ÐÑ Ò    Ó#E!ˆŠÔ ˆÉ ÌVƒ|Õ    S!ˆ`
  258. ÕÖ    ×#!ˆØ`
  259. \")ˆÙÚ ÛZ \"ÚÖ ×# \"\"‚Õ!ˆÚ \"‰ ˆØ`d\")ˆÜÝ!))‡" [n m calc-keep-args-flag mm calc-stack-top calc-any-selections sel-ok calc-executing-macro buffer-read-only nil bot calc-stack 1 calc-top-selected calc-sel-error calc-pop-stack-in-macro calc-record-undo pop calc-top-list full calc-select-buffer calc-cursor-stack-index + -1 delete-region setcdr nthcdr 2 calc-set-command-flag renum-stack] 19))
  260.  
  261. (defun calc-get-stack-element (x) (byte-code "Ä=ƒ
  262.     ‚9Å=ƒÆ    8‚9Æ    8?†%Ç=†%
  263. ?ƒ-    @‚9ƒ6È ‚9Æ    8‡" [sel-mode x calc-use-selections t entry sel 2 full calc-sel-error] 3))
  264.  
  265. (defun calc-top (&optional n sel-mode) (byte-code "†ÉˆÄ!ˆÅÆ    Ç#
  266. 8!‡" [n calc-stack-top calc-stack 1 calc-check-stack calc-get-stack-element + -1] 6))
  267.  
  268. (defun calc-top-n (&optional n sel-mode) (byte-code "ÂÃÄ    \"!!‡" [n sel-mode math-check-complete calc-normalize calc-top] 5))
  269.  
  270. (defun calc-top-list (&optional n m sel-mode) (byte-code "†Ɖˆ    †ƉˆÇÈ    É#!ˆÊV…9ËÌÈ     É# \"!ÍÌS
  271. \"Å\"ˆÎÏÐ
  272. \"!)‡" [n m top calc-stack-top calc-stack nil 1 calc-check-stack + -1 0 copy-sequence nthcdr setcdr nreverse mapcar calc-get-stack-element] 11))
  273.  
  274. (defun calc-top-list-n (&optional n m sel-mode) (byte-code "ÃÄÃÅÆ    
  275. #\"\"‡" [n m sel-mode mapcar math-check-complete calc-normalize calc-top-list] 8))
  276.  
  277. (defun calc-renumber-stack nil (byte-code "…ŠËÌ!ˆÍÃÎ\"ÏÐÃÇ#…:Ñ ˆÏÐÃÇ#…6ÃÑ ˆÒÓ!ˆÔc)ˆ‚ˆËÌ!ˆÕÐÃÇ#…›ÒÓ!ˆ    ÖVƒi×ØÙ    Ú\"Û @8…\\ƒc܂dÝ#c‚ŒÞ    !    ß    Û @8…zƒÜ‚‚Ýàá    GZâ\"#)ˆÑ ˆ    T A‰ˆ‚;+)ˆ
  278. …¥ã ‡" [calc-line-numbering lnum buffer-read-only nil stack calc-stack-top calc-stack t calc-use-selections prefix calc-embedded-info calc-cursor-stack-index 0 1 nthcdr re-search-forward "^[0-9]+[:*]" beginning-of-line delete-char 4 "    " re-search-backward 999 format "%03d%s" % 1000 2 "*" ":" int-to-string insert make-string 3 32 calc-embedded-stack-change] 20))
  279.  
  280. (defun calc-refresh (&optional align) (interactive) (byte-code "ÈÐ=…    ?…Ã`ÑÒӏÔÕ!à   Ã‰
  281. ˆÖ ˆ×cˆ…LebˆØÙ!ˆÚÛ@!Ü\"ˆA‰ˆ‚-ˆÝ ˆ …XÞß!ˆ
  282. …f …fÞà!ˆ†nƒv᠂x bˆ…€â!-ˆ…šÐ=?…šŠÙHqˆã!)ˆT‰‡" [major-mode calc-executing-macro buffer-read-only nil save-point save-mark save-aligned thing calc-stack calc-any-selections calc-any-evaltos calc-display-dirty calc-auto-recompute align calc-embedded-info calc-refresh-count calc-mode err (byte-code "À ‡" [mark] 2) ((error (byte-code "À‡" [nil] 1))) looking-at "\\.$" erase-buffer "--- Emacs Calculator Mode ---
  283. " forward-line 1 insert math-format-stack-value "
  284. " calc-renumber-stack calc-do (lambda nil (byte-code "Á‰‡" [calc-display-dirty nil] 2)) (lambda nil (byte-code "À ‡" [calc-refresh-evaltos] 2)) calc-align-stack-window set-mark calc-refresh] 13))
  285.  
  286. (defun calc-x-paste-text (arg) "\
  287. Move point to mouse position and insert window system cut buffer contents.
  288. If mouse is pressed in Calc window, push cut buffer contents onto the stack." (byte-code "Â!ˆ    Ã>ƒÄÅ!‚Æ!‡" [arg major-mode x-mouse-select (calc-mode calc-trail-mode) calc-do (lambda nil (byte-code " ˆÃ ÄÅ!!Æ    !Ç=…(Ä!‰ˆÆ    !Ç=…(ÇÈÉ    8\"ˆÊËÌ    #*‡" [buf val calc-extensions x-get-cut-buffer math-read-exprs calc-clean-newlines car-safe error "%s in yanked data" 2 calc-enter-result 0 "Xynk"] 12)) x-paste-text] 4))
  289.  
  290. (defun calc-check-trail-aligned nil (byte-code "ŠÁp!…ÂdS\"))‡" [win get-buffer-window pos-visible-in-window-p] 4))
  291.  
  292. (defun calc-trail-buffer nil (byte-code "?†    Ä!?…0ŠÅÆ!‰ˆ
  293. Ç=?…ÈÉ!†!pqˆ
  294. Ê=†.Ê    !))ˆ …:Ë !=†JŠqˆÌÍ!ˆÎ ‰)ˆ‡" [calc-trail-buffer buf major-mode calc-trail-pointer buffer-name get-buffer-create "*Calc Trail*" calc-mode get-buffer "*Calculator*" calc-trail-mode marker-buffer goto-line 2 point-marker] 9))
  295.  
  296. (defun calc-record (val &optional prefix) (byte-code "Á‰ˆ
  297. †•pÑ ÁÇ    ƒ/    ;ƒ\"    ‚, 
  298. Ò    Ó\")‚0ÔŠ qˆÕ Á dbˆ?ƒKÖc‚mG×V…YØÙ×#ƒgÚÓ×OÙ\"‚mÛÜ\"cˆÚÝ\"ˆÞ ! …ˆ…ˆß>?…à ˆdSb)*)-ˆ    ‡" [calc-aborted-prefix nil calc-executing-macro mainbuf buf calc-display-raw calc-can-abbrev-vectors t fval val calc-float-format calc-full-float-format aligned buffer-read-only prefix win calc-command-flags calc-trail-buffer math-format-flat-expr 0 "" calc-check-trail-aligned "     " 4 string-match " " insert format "%4s " "
  299. " get-buffer-window hold-trail calc-trail-here] 10))
  300.  
  301. (defun calc-trail-display (flag &optional no-refresh) (interactive "P") (byte-code "ňÈÇ !
  302. ƒ
  303. É>‚?‰ƒG?…DÊÃ!…$ ƒ-ËÃ!‚@ÌÅÍÎÏ Ð\"Ñ\"Æ#Ò \")ˆÓÔ!‚R…RÕ!ˆÓÖ!)ˆ‡" [win calc-display-trail flag calc-trail-window-hook w nil t calc-trail-buffer get-buffer-window (nil 0) boundp run-hooks split-window / * window-width 2 3 set-window-buffer calc-do (lambda nil (byte-code "     ‰ˆ †tƒÅ ‚Æ ‡" [overlay-arrow-string calc-trail-overlay overlay-arrow-position calc-trail-pointer no-refresh calc-do-refresh calc-refresh] 3)) delete-window (lambda nil (byte-code "†tƒÁ ‚ ‡" [no-refresh calc-do-refresh calc-refresh] 3))] 13))
  304.  
  305. (defun calc-trail-here nil (interactive) (byte-code "ˆÈ=ƒ~É ˆoƒÊË!‚m…ÊÌ!ˆo†\"mƒ+‰‚{Í `p#ˆÎ``Ï\\\"ÐP  ‰ˆÑÏ!ˆÒp!…zŠÊÓÔ!Õ\"!ˆÊËÔ!Z!ˆÖ`\"ˆ× Ï\\\"ˆqˆ  ‰))‚ØÙ!‡" [major-mode overlay-arrow-position nil calc-trail-pointer calc-trail-overlay overlay-arrow-string win calc-main-buffer calc-trail-mode beginning-of-line forward-line 1 -1 set-marker buffer-substring 4 ">" forward-char get-buffer-window / window-height 2 set-window-start set-window-point error "Not in Calc Trail buffer"] 17))
  306.  
  307. (defun calc-record-undo (rec) (byte-code "†\"Æ    >ƒ
  308. @B
  309. AB‰‚\" C
  310. BʼnˆÇÆ!‡" [calc-executing-macro calc-command-flags calc-undo-list rec calc-redo-list nil undo calc-set-command-flag] 2))
  311.  
  312. (defun calc-binary-op (name func arg &optional ident unary func2) (byte-code "    ‰ˆ
  313. ?ƒÇÈ     † ÉÊËÈ!\"B#‚'Ì ˆÍ    
  314. %‡" [calc-aborted-prefix name arg func2 func ident unary calc-enter-result 2 mapcar math-check-complete calc-top-list calc-extensions calc-binary-op-fancy] 10))
  315.  
  316. (defun calc-unary-op (name func arg &optional func2) (byte-code "    ‰ˆ
  317. ?ƒÅÆ     † ÇÈÆ!!D#‚#É ˆÊ    
  318. #‡" [calc-aborted-prefix name arg func2 func calc-enter-result 1 math-check-complete calc-top calc-extensions calc-unary-op-fancy] 8))
  319.  
  320. (defun calc-plus (arg) (interactive "P") (byte-code "ÀˆÁÂÃ\"‡" [nil calc-do (lambda nil (byte-code "ÂÃÄÅÁÆ&‡" [arg nil calc-binary-op "+" calcFunc-add 0 +] 7)) 34433] 3))
  321.  
  322. (defun calc-minus (arg) (interactive "P") (byte-code "ÀˆÁÂÃ\"‡" [nil calc-do (lambda nil (byte-code "ÁÂÃÄÅÆ&‡" [arg calc-binary-op "-" calcFunc-sub 0 neg -] 7)) 34607] 3))
  323.  
  324. (defun calc-times (arg) (interactive "P") (byte-code "ÀˆÁÂÃ\"‡" [nil calc-do (lambda nil (byte-code "ÂÃÄÅÁÆ&‡" [arg nil calc-binary-op "*" calcFunc-mul 1 *] 7)) 34782] 3))
  325.  
  326. (defun calc-divide (arg) (interactive "P") (byte-code "ÀˆÁÂÃ\"‡" [nil calc-do (lambda nil (byte-code "ÁÂÃÄÅÆ&‡" [arg calc-binary-op "/" calcFunc-div 0 calcFunc-inv /] 7)) 34957] 3))
  327.  
  328. (defun calc-change-sign (arg) (interactive "P") (byte-code "ÀˆÁÂ!‡" [nil calc-do (lambda nil (byte-code "ÁÂÃ#‡" [arg calc-unary-op "chs" neg] 4))] 2))
  329.  
  330. (defun calc-enter (n) (interactive "p") (byte-code "ÀˆÁÂ!‡" [nil calc-do (lambda nil (byte-code "ÂWƒÃÄÅ[\"!‚$ÂUƒÃÄÆ !!‚$ÃÄ!!‡" [n t 0 calc-push-list calc-top-list 1 calc-stack-size] 8))] 2))
  331.  
  332. (defun calc-pop (n) (interactive "P") (byte-code "ÀˆÁÂ!‡" [nil calc-do (lambda nil (byte-code "Ç    !    ?… ÈÉ!    ?…*Ê
  333. !Ë=…*
  334. 8Ì=ƒ(͂)ÎVƒEÏÉÐ
  335. !ÑÒ GÎZ \"Ä\"ˆ C)\"‚ÓWƒg…TÔÉ[\"ƒ^Õ[!‚dÖÉ[Æ#‚ÓUƒvÖ× ÉÆ#‚…„ÉU…„ÔÉÉ\"ƒÕÉ!‚Ö!*‡" [nn n top tt nil calc-any-selections t prefix-numeric-value calc-top 1 car-safe incomplete intv 3 2 calc-pop-push-list copy-sequence setcdr nthcdr 0 calc-top-selected calc-delete-selection calc-pop-stack calc-stack-size] 16))] 2))
  336.  
  337. (defun calcDigit-start nil (interactive) (byte-code "ÀˆÁÂ!‡" [nil calc-do (lambda nil (byte-code "†    ÎV…
  338. Ï=ƒР‚|Ñ ˆÄ‰ˆÄÄÄp
  339. ƒ2ÒӍ‚JÔ Õ\" ֎× ÕÄ#ˆØÙÚ#))    †VÛ    !‰ˆ;ƒbÜ!‚n…nÝÞß!!C!ˆà=…{᠈â -‡" [calc-algebraic-mode calc-number-radix last-command-char calc-aborted-prefix nil calc-digit-value calc-prev-char calc-prev-prev-char calc-buffer buf calc-emacs-type-lucid old-esc global-map calc-digit-map 14 101 calc-alg-digit-entry calc-unread-command calc-foo (byte-code "ÀÁˆÂÃÄ\"‡" [execute-kbd-macro (byte-code "ÁÂÃÄÅ#\"‡" [calc-digit-map throw calc-foo read-from-minibuffer "Calc: " ""] 6) error "Lucid Emacs requires RET after %s" "digit entry in kbd macro"] 3) lookup-key "" ((byte-code "Âà   #‡" [global-map old-esc define-key ""] 4)) define-key read-from-minibuffer "Calc: " "" math-read-number calc-alg-entry calc-push-list calc-record calc-normalize dots calc-extensions calc-dots] 13))] 2))
  340.  
  341. (defun calcDigit-nondigit nil (interactive) (byte-code "ȈÉÃ!† Ê!ˆË Š qˆÌ    !)‰)ˆ
  342. ?…$Í ÎVƒ0Ï ˆÐÑ!‚S Ò>†P‰ˆÓ Ô=…FÕYƒN‚OÈ!ˆÖ ‡" [minibuffer-local-map str calc-digit-value calc-buffer last-command-char prefix-arg current-prefix-arg last-input-char nil boundp use-local-map buffer-string math-read-number buffer-size 0 beep calc-temp-minibuffer-message " [Bad format]" (32 13) calc-unread-command 27 128 exit-minibuffer] 10))
  343.  
  344. (defun calc-minibuffer-contains (rex) (byte-code "ŠebˆÁ!)‡" [rex looking-at] 2))
  345.  
  346. (defun calcDigit-key nil (interactive) (byte-code "ˆdbˆÌ>…Í ÎV…ÏhÐ\"†*Ñ>…*ÒÓ!?…*ÒÔ!?ƒ2Õ ‚+ÒÖ!…j×>ƒCØc‚jÙ>…MÒÚ!?ƒUØc‚jÛ>ƒ`Üc‚jÝ=…jÞ    !cˆÒß!…tà=…yÜcˆÒá!…ƒâ=…ˆØcˆÒã!…’Ð=…—Ücˆä>…¡ÒÚ!†¹Ð=…­Òå!†¹æ=…¹Òç!…Áè!‰ˆé>ƒ ebˆêëÂÃ#…ÙêìÂÃ#?ƒáí ‚Òå!?…íêìÂÃ#ˆîï!…÷ðñ!ˆîò!ƒðñ!‚òcˆdb‚+ó=ƒ>Òô!†'Òõ!†'ÒÚ!†'Òö!ƒ/í ‚;Ò÷!?…8øcˆùc‚+ú=…HÒû!?ƒˆÒô!†ZÒü!†ZÒö!ƒbí ‚…Òý!ƒy ƒtþ Î\"c‚ví ‚…Ò÷!?…‚øcˆÿc‚+@!cˆÒA!…ځBCDE!FE!\"!EY…فGX…فH>†ÙIè!!…ØW))†çŠebˆîJ!)ƒK>…ùLø\"…þøc‚+    =… â=ƒM ˆN ‚+Oñ!ˆí ˆPQ!ˆ 
  347. ‰ ‡" [last-command-char calc-number-radix nil t calc-previous-modulo radix dig calc-hms-format this-command last-command calc-prev-prev-char calc-prev-char (43 45) buffer-size 0 /= 101 (109 115) calc-minibuffer-contains "[-+]?[0-9]+\\.?0*[@oh].*" "[-+]?\\(1[1-9]\\|[2-9][0-9]\\)#.*" calcDigit-nondigit "\\([-+]?\\|.* \\)\\'" (46 64) "0" (111 104 109) ".*#.*" (58 101) "1" 35 int-to-string "\\([-+]?[0-9]+#\\|[^:]*:\\)\\'" 58 "[-+]?[0-9]+#\\'" 46 "[-+]?0*\\([2-9]\\|1[0-4]\\)#\\'" (104 111 109 115 112) "[-+]?\\(1[5-9]\\|[2-9][0-9]\\)#.*" 110 "[-+]?\\(2[4-9]\\|[3-9][0-9]\\)#.*" upcase (95 110) search-forward " +/- " "e" beep looking-at "+" delete-char 1 "-" 112 ".*\\+/-.*" ".*mod.*" ".*[-+e:]\\'" ".* \\'" " " "+/- " 77 "[-+]?\\(2[3-9]\\|[3-9][0-9]\\)#.*" ".*mod *[^ ]+" ".*mod \\'" math-format-flat-expr "mod " char-to-string "[-+]?\\(.*\\+/- *\\|.*mod *\\)?\\([0-9][0-9]?\\)#[0-9a-zA-Z]*\\(:[0-9a-zA-Z]*\\(:[0-9a-zA-Z]*\\)?\\|.[0-9a-zA-Z]*\\(e[-+]?[0-9]*\\)?\\)?\\'" string-to-int buffer-substring match-beginning 2 match-end 36 (35 58 46 101 43 45) math-read-radix-digit "[-+]?\\(.*\\+/- *\\|.*mod *\\)?\\([0-9]+\\.?0*[@oh] *\\)?\\([0-9]+\\.?0*['m] *\\)?[0-9]*\\(\\.?[0-9]*\\(e[-+]?[0-3]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?\\)?\\|[0-9]:\\([0-9]+:\\)?[0-9]*\\)?[\"s]?\\'" (64 111 104 39 109) string-match calc-extensions calc-digit-dots delete-backward-char calc-temp-minibuffer-message " [Bad format]"] 56))
  348.  
  349. (defun calcDigit-backspace nil (interactive) (byte-code "ÈdbˆÄÅ!ƒÆÇ!‚7ÄÈ!ƒÆÇ!‚7ÄÉ!ƒ)ÆÊ!‚7Ë=ƒ4Ì ‚7ÆÍ!ˆÎ ÏU…EЉˆÑ ‡" [last-command t last-command-char nil calc-minibuffer-contains ".* \\+/- \\'" backward-delete-char 5 ".* mod \\'" ".* \\'" 2 calcDigit-start erase-buffer 1 buffer-size 0 13 calcDigit-nondigit] 11))
  350.  
  351. (defun math-normalize (a) (byte-code ":?ƒ&Ç!ƒ\"ÈY†ÉXƒÊ!‚‚#‚S@Ë=ƒˆGS8Ì=…ZÍ!‰
  352. A‰…T
  353. @Ì=†P
  354. ‰ˆ‚?ˆÎ    Ã\"*ˆAAAƒf‚…AAƒyÏ8ÐÑ8Ò\"\\‚…Aƒ„Ï8‚…Ì‚S@Ó=ƒìGS8Ì=…¼Í!‰
  355. A‰…¶
  356. @Ì=†²
  357. ‰ˆ‚¡ˆÎ    Ã\"*ˆAAAƒÈ‚éAAƒÜÏ8ÐÑ8Ò\"\\[‚éAƒèÏ8[‚é̂S@Ô=ƒÕÖÏ8!Ñ8\"‚S@×>†Ç@!†@:…@@Ø=?ƒ&Ù ˆÚ!‚S…1Ù …1Û †SÜÖA\"ÝÞߏ†R@:ƒMࠂR@B)‡" [a last digs nil t calc-simplify-mode args integerp 1000000 -1000000 math-bignum bigpos 0 copy-sequence setcdr 1 * 2 1000 bigneg float math-make-float math-normalize (frac cplx polar hms date mod sdev intv vec var quote special-const calcFunc-if calcFunc-lambda calcFunc-quote calcFunc-condition calcFunc-evalto) lambda calc-extensions math-normalize-fancy math-normalize-nonstandard mapcar err (byte-code "É    @Ê\"
  358. …-
  359. =†Ë ˆÌ ˆ †É    @\"…-Í    @BAÇ$†bƒ=ÎA\"‚b    @:†YÏ    @!†Y?…YË …YÏ    @!…bΠ   @\")‡" [func a var-EvalRules math-eval-rules-cache-tag math-eval-rules-cache-other math-eval-rules-cache args nil calc-extensions-loaded assq ((+ . math-add) (- . math-sub) (* . math-mul) (/ . math-div) (% . math-mod) (^ . math-pow) (neg . math-neg) (| . math-concat)) calc-extensions math-recompile-eval-rules math-apply-rewrites apply fboundp] 12) ((wrong-number-of-arguments (byte-code "ÃÄ@    B\"ˆÂ‡" [a args nil calc-record-why "*Wrong number of arguments"] 4)) (wrong-type-argument (byte-code "† ÄÅ    @
  360. B\"ˆÃ‡" [calc-next-why a args nil calc-record-why "Wrong type of argument"] 4)) (args-out-of-range (byte-code "ÃÄ@    B\"ˆÂ‡" [a args nil calc-record-why "*Argument out of range"] 4)) (inexact-result (byte-code "ÃÄ@    B\"ˆÂ‡" [a args nil calc-record-why "No exact representation for result"] 4)) (math-overflow (byte-code "ÃÄ@    B\"ˆÂ‡" [a args nil calc-record-why "*Floating-point overflow occurred"] 4)) (math-underflow (byte-code "ÃÄ@    B\"ˆÂ‡" [a args nil calc-record-why "*Floating-point underflow occurred"] 4)) (void-variable (byte-code "Å8Á=ƒ‰ˆÆ @ B!‚ÇÈÅ8\"‡" [err var-EvalRules nil a args 1 math-normalize calc-record-why "*Variable is void"] 5))) math-dimension-error] 19))
  361.  
  362. (defun math-floatp (a) (byte-code "Â!Ã=ƒ Á‚@Â!Ä>ƒ3ÅÆ8!†0ÅÇ8!†0@È=…0ÅÉ8!‚@Â!Ê=…@ÅÆ8!‡" [a t car-safe float (cplx polar mod sdev intv) math-floatp 1 2 intv 3 date] 9))
  363.  
  364. (defun math-check-complete (a) (byte-code "Â!ƒ
  365. ‚$Ã!Ä=ƒÅ!‚$:ƒ!‚$ÆÇ!‡" [a t integerp car-safe incomplete calc-incomplete-error error "Invalid data object encountered"] 5))
  366.  
  367. (defun math-bignum (a) (byte-code "ÁYƒÂÃ!B‚ÄÃ[!B‡" [a 0 bigpos math-bignum-big bigneg] 4))
  368.  
  369. (defun math-bignum-big (a) (byte-code "ÂUƒ
  370. Á‚ÃÄ\"ÅÆÄ\"!B‡" [a nil 0 % 1000 math-bignum-big /] 6))
  371.  
  372. (defun math-make-float (mant exp) (byte-code "Æ=ƒ
  373. ǂ¸
  374. È!Z    ÆW… É    \"     Z‰)ˆ:ƒkAÊ @Ë\"ÆU…g @ÆU…G A Ì\\‰ˆ‚4ˆÊ @Ë\"ÆU…^Í ! T‰ˆ‚HˆÎ@ B!‰)‚ÊË\"ÆU…ÏË\" T‰ˆ‚kˆ ÐX…‘Ñ È!Ò#ÐXƒ›ÓÔÅ\"‚¸ ÕY…ªÑ È!Ò#ÖYƒ´Ó×Å\"‚¸Ø E‡" [mant ldiff calc-internal-prec exp digs nil 0 (float 0 0) math-numdigs math-scale-rounding % 10 3 math-div10-bignum math-normalize / -4000000 + -1 signal math-underflow 3000000 4000000 math-overflow float] 17))
  375.  
  376. (defun math-div10-bignum (a) (byte-code "AƒÁ@Â\"ÃÄÅ8Â\"Æ\"\\ÇA!B‚\"Á@Â\"C‡" [a / 10 * % 1 100 math-div10-bignum] 7))
  377.  
  378. (defun math-float (a) (byte-code ":?†
  379. @Â>ƒÃÄ\"‚H@Å=ƒ(ÆÇÈ8!É8\"‚H@Ê=ƒ3‚H@Ë>ƒE@ÌÇA\"B‚HÍ!‡" [a t (bigpos bigneg) math-make-float 0 frac math-div math-float 1 2 float (cplx polar vec hms date sdev mod) mapcar math-float-fancy] 7))
  380.  
  381. (defun math-neg (a) (byte-code ":?ƒ [‚r@Â=ƒÃAB‚r@Ã=ƒ'ÂAB‚r@Ä>ƒ]@Å8:ƒRÅ8@Â=ƒIÃÅ8AB‚OÂÅ8AB‚VÅ8[Æ8E‚r@Ç>ƒo@ÈÉA\"B‚rÊ!‡" [a t bigpos bigneg (frac float) 1 2 (cplx vec hms date calcFunc-idn) mapcar math-neg math-neg-fancy] 4))
  382.  
  383. (defun math-numdigs (a) (byte-code ":ƒ4Aƒ0GS    8Ä    Å\"
  384. ÆYƒ Ç‚+
  385. ÈYƒ*ɂ+Ê\\*‚1ǂ{ÆYƒEËÌÍ\"!Å\\‚{ÈYƒO΂{ÏYƒYς{ÇUƒcǂ{ÐVƒmς{ÑVƒw΂{Ë[!‡" [a len top t * 3 100 0 10 -1 -2 math-numdigs / 1000 2 1 -10 -100] 5))
  386.  
  387. (defun math-scale-int (a n) (byte-code "ÃUƒ
  388.     ‚ÃVƒÄ    \"‚ÅÆ    [\"!‡" [n a t 0 math-scale-left math-normalize math-scale-right] 5))
  389.  
  390. (defun math-scale-left (a n) (byte-code "ÂUƒ
  391.     ‚|    :ƒ    @à   A\"B‚|ÄYƒA    ÅY†)    ÆXƒ5ÇÈ    !\"‚>ÇÉ    Å\"ÄZ\"‚|ÊUƒc    ËY†P    ÌXƒ\\ÇÈ    !Ê\"‚`É    Í\"‚|    ÎY†l    ÏXƒxÇÈ    !Ð\"‚|É    Ñ\"‡" [n a 0 math-scale-left-bignum 3 1000 -1000 math-scale-left math-bignum * 2 10000 -10000 100 100000 -100000 1 10] 13))
  392.  
  393. (defun math-scale-left-bignum (a n) (byte-code "ÂY…à   BÂZ‰ÂY…Ĉ‚ˆÃVƒ2Å    ÆUƒ,ǂ-ÈÃ#‚3    ‡" [n a 3 0 nil math-mul-bignum-digit 2 100 10] 4))
  394.  
  395. (defun math-scale-right (a n) (byte-code "ÂUƒ
  396.     ‚o    :ƒ    @à   A\"B‚o    ÂXƒ3    ÂUƒ*‚0Ä    [\"[‚oÅY…SÆ    Ç\"‰ÂV…KÅZ‰ÅY…SȈ‚9ˆÉUƒaÆ    Ê\"‚oËUƒnÆ    Ì\"‚o    ‡" [n a 0 math-scale-right-bignum math-scale-right 3 / 1000 nil 2 100 1 10] 7))
  397.  
  398. (defun math-scale-right-bignum (a n) (byte-code "ÂY…ÃÄÂ\"    \"ÅÂ\"‰ˆÆVƒ.Ç    ÈUƒ'ɂ(ÊÆ#A‚/    ‡" [n a 3 nthcdr / % 0 math-mul-bignum-digit 2 10 100] 7))
  399.  
  400. (defun math-scale-rounding (a n) (byte-code "ÄYƒÅ    \"‚¦    :ƒ}Æ    @ÇWƒ%È    AÇZ\"‚EÉUƒ4Ê    AËÄ#‚EÌUƒCÊ    AÍÄ#‚E    A
  401. …N
  402. @ÎYƒu
  403. Aƒq
  404. A@Ï=ƒfÐ
  405. AÑ\"‚n
  406. A@T
  407. AAB‚r҂w
  408. A)B!‚¦    ÄWƒŒÓ    [\"[‚¦ÌUƒ›Ô    Õ\\Ë\"‚¦ÔÖ    ÌZ\"Õ\\Ë\"‡" [n a val t 0 math-scale-left math-normalize -3 math-scale-right-bignum -2 math-mul-bignum-digit 10 -1 100 500 999 math-add-bignum (1) (1) math-scale-rounding / 5 math-scale-right] 13))
  409.  
  410. (defun math-add (a b) (byte-code ":†    :?…$    \\‰ˆÃX†ÄYƒ#Å!‚$†ú:ƒI@Æ>?…F@Ç=ƒCÈ8É=‚FÊ!‚LÉ=…rË!Ì=?…rÍ!…h    :?†h    @Î>ƒqÏ    !‚r    †ú    :ƒ—    @Ð>?…”    @Ç=ƒ‘È    8É=‚”Ê    !‚š    É=…ÀË    !Ì=?…ÀÍ    !…¶:?†¶@Ñ>ƒ¿Ï!‚À†ú:?†Í@Ò>…î    :?†Ú    @Ó>…î:?†ç@Ô>…w    :?†ô    @Õ>…w:†Å!‰ˆ    :† Å    !‰ˆ@Ö=ƒG    @Ö=ƒ&Ö×A    A\"B‚DØÙ    AA\"
  411. Ú=ƒ?ÖÙA    A\"B‚BÛ
  412. B)!‚w    @Ö=ƒoØÙA    A\"
  413. Ú=ƒgÖÙ    AA\"B‚jÛ
  414. B)!‚wÛ×A    A\"B†î:?†„@Ü>…    :?†‘    @Ý>…Þ …ß    \"†î:?†ª@à>…â    :?†·    @á>…â:…Ã@Ç=†ËÏ!‰ˆ    :…Õ    @Ç=†ÝÏ    !‰ˆâ    \"†îÞ …îã    \"†úÞ …úä    \"‡" [a b diff -1000000 1000000 math-bignum (bigpos bigneg) float 1 0 math-zerop car-safe mod math-floatp (bigpos bigneg frac) math-float (bigpos bigneg) (bigpos bigneg frac) (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) (bigpos bigneg) (bigpos bigneg) bigneg math-add-bignum math-normalize math-sub-bignum neg bigpos (bigpos bigneg frac) (bigpos bigneg frac) calc-extensions calc-add-fractions (bigpos bigneg frac float) (bigpos bigneg frac float) math-add-float math-add-objects-fancy math-add-symb-fancy] 30))
  415.  
  416. (defun math-add-bignum (a b) (byte-code "ƒº    ƒ¶Ç!ÄÄ
  417. …    …h ƒ?
  418. @    @\\‰ÈWƒ6É
  419. T\"ˆÄ‰‚<É
  420. Ê\\\"‚\\
  421. @    @\\‰ËWƒRÉ
  422. \"‚\\É
  423. Ì\\\"ˆÆ‰ˆ
  424. A    A‰ˆ‚ˆ ƒ¦    ƒ{ÍΠ   Ï\"\"‚£
  425. @È=…É
  426. Ð\"ˆ
  427. A‰ˆ‚{ˆ
  428. ƒŸÉ
  429.  
  430. @T\"ˆ‚£ÍÑ\"‚²    ƒ±Í    \"‚²,‚·‚»    ‡" [a b aa carry nil sum t copy-sequence 999 setcar -999 1000 -1000 nconc math-add-bignum (1) 0 (1)] 13))
  431.  
  432. (defun math-sub-bignum (a b) (byte-code "ƒÐ    ƒ¸È    !    ÄÄ
  433. ……n ƒB
  434. @@Z‰ÉYƒ8Ê
  435. S\"ˆÄ‰‚?Ê
  436. Ë\\\"‚b
  437. @@Z‰ÌYƒWÊ
  438. \"‚bÊ
  439. Í\\\"ˆÇ‰ˆ
  440. AA‰ˆ‚ˆ ƒ›
  441. @Ì=…‡Ê
  442. Ë\"ˆ
  443. A‰ˆ‚sˆ
  444. ƒ—Ê
  445.  
  446. @S\"ˆ    ‚˜Î‚´@Ì=…ªA‰ˆ‚›ˆƒ³Î‚´    ,‚Í@Ì=…ÇA‰ˆ‚¸ˆ…Í΂Ѡ   ‡" [b a aa borrow nil sum diff t copy-sequence 1 setcar 999 0 1000 neg] 10))
  447.  
  448. (defun math-add-float (a b) (byte-code "Ä    8Ä
  449. 8ZÅYƒ9 \\Yƒ    ‚6ÆÇÈ
  450. 8Å=ƒ+È    8‚1ÉÈ    8\"\"Ä
  451. 8\"‚X[‰ \\YƒH
  452. ‚XÆÇÈ    8ÉÈ
  453. 8\"\"Ä    8\")‡" [ediff a b calc-internal-prec 2 0 math-make-float math-add 1 math-scale-left] 9))
  454.  
  455. (defun math-sub (a b) (byte-code ":†    :ƒÂà   !\"‚,    Z‰ˆÄX†\"ÅYƒ+Æ!‚,‡" [a b math-add math-neg -1000000 1000000 math-bignum] 4))
  456.  
  457. (defun math-sub-float (a b) (byte-code "Ä    8Ä
  458. 8ZÅYƒ\\ \\Yƒ    ‚YÆÇÈ
  459. 8:ƒ>È
  460. 8@É=ƒ5ÊÈ
  461. 8AB‚;ÉÈ
  462. 8AB‚BÈ
  463. 8[Å=ƒNÈ    8‚TËÈ    8\"\"Ä
  464. 8\"‚ª[‰ \\Yƒk
  465. ‚ªÆÇÈ    8ËÈ
  466. 8\":ƒžËÈ
  467. 8\"@É=ƒ’ÊËÈ
  468. 8\"AB‚›ÉËÈ
  469. 8\"AB‚¥ËÈ
  470. 8\"[\"Ä    8\")‡" [ediff a b calc-internal-prec 2 0 math-make-float math-add 1 bigpos bigneg math-scale-left] 13))
  471.  
  472. (defun math-mul (a b) (byte-code ":?…(    :?…(ÂW…(ÃV…(    ÂW…(    ÃV…(Ä    \"†:ƒM@Å>?…J@Æ=ƒGÇ8È=‚JÉ!‚PÈ=…Ê    !Ë=?…    :?†f    @Ì>ƒ†Í    !…y:?†y@Î>ƒ‚Ï!‚ƒ‚Ð ˆÑ    \"†    :ƒ²    @Ò>?…¯    @Æ=ƒ¬Ç    8È=‚¯É    !‚µ    È=…òÊ!Ë=?…ò:?†Ë@Ó>ƒëÍ!…Þ    :?†Þ    @Ô>ƒçÏ    !‚è    ‚òРˆÑ    \"†:?†ÿ@Õ>…û    :?†     @Ö>…û:?†@×>…w    :?†&    @Ø>…w:†3Ù!‰ˆ    :†>Ù    !‰ˆÚ@    @=ƒLۂMÜAAƒm    AAƒbÝA    A\"‚jÞAÇ    8È#‚uÞ    AÇ8È#B!†û:?†„@ß>…    :?†‘    @à>…Р…á    \"†û:?†ª@â>…ï    :?†·    @ã>…ï:…Ã@Æ=†ËÏ!‰ˆ    :…Õ    @Æ=†ÝÏ    !‰ˆäåÇ8Ç    8\"æ8æ    8\\\"†ûР…ûç    \"†Р…è    \"‡" [a b 1000 -1000 * (bigpos bigneg) float 1 0 math-zerop car-safe mod (bigpos bigneg frac float cplx polar hms) math-floatp (bigpos bigneg frac) math-float calc-extensions math-mul-zero (bigpos bigneg) (bigpos bigneg frac float cplx polar hms) (bigpos bigneg frac) (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) (bigpos bigneg) (bigpos bigneg) math-bignum math-normalize bigpos bigneg math-mul-bignum math-mul-bignum-digit (bigpos bigneg frac) (bigpos bigneg frac) calc-mul-fractions (bigpos bigneg frac float) (bigpos bigneg frac float) math-make-float math-mul 2 math-mul-objects-fancy math-mul-symb-fancy] 31))
  473.  
  474. (defun math-infinitep (a &optional undir) (byte-code ":…    @Â>…-@Ã=?†ÄÅ8!ƒ$Å8‰‚)Æ8‰ˆ‚ˆ:…S@Ç=…SÆ8È>…S    …KÆ8É=ƒRʂS‡" [a undir (* / neg) * math-infinitep 1 2 var (var-inf var-uinf var-nan) var-inf (var uinf var-uinf)] 4))
  475.  
  476. (defun math-mul-bignum (a b) (byte-code "…Á    …Á    @ÉXƒ!    @ÊUƒÊC‚Ë!‚'Ì    @Ê#
  477. ÍÍÍÍÍ    A‰…½ A†HÎ ÊC\"‰    @ʉˆÏÐ@Ñ@\"\\ \\‰Ò\"\"ˆA‰…ÓÒ\"A†ˆÎÊC\"‰ˆ‚VˆÒY…¹Aƒ¯ÏAÓÒ\"A@\\\"‚¹ÎÓÒ\"C\"ˆ‚7ˆ
  478. .‡" [a b sum sump c d aa ss prod 1 0 copy-sequence math-mul-bignum-digit nil setcdr setcar % * 1000 /] 16))
  479.  
  480. (defun math-mul-bignum-digit (a d c) (byte-code "ƒS    ÅXƒ    ÅU…‚PÆ!ÇÈ
  481. ÉÊ
  482. @    \" \\‰Ë\"\"ˆ
  483. A…>
  484. AÌ Ë\"‰ˆ‚ˆ ËY…MÍ
  485. Ì Ë\"C\"ˆ+‚[ ÎV…[ C‡" [a d aa prod c 1 copy-sequence nil setcar % * 1000 / setcdr 0] 10))
  486.  
  487. (defun math-idivmod (a b) (byte-code "Ã=…
  488. Ä    Å\"ˆ    :†:ƒpÆ!…ÇWƒ5È    A\"É    @
  489. @B!
  490. AB)‚m    :†?Ê    !‰ˆ:†JÊ!‰ˆË    AA\"É    @@=ƒ_̂`Í
  491. @B!É    @
  492. AB!B)‚yΠ   \"Ï    \"B‡" [b a res 0 math-reject-arg "*Division by zero" natnump 1000 math-div-bignum-digit math-normalize math-bignum math-div-bignum bigpos bigneg / %] 14))
  493.  
  494. (defun math-quotient (a b) (byte-code ":?…        :?ƒ     ÆUƒÇÈ\"‚É    \"‚“Ê    !…)    ËWƒG    ÆUƒ9ÇÈ\"‚DÌ@ÍA    \"@B!‚“:†QÎ!‰ˆ    :†\\Π   !‰ˆGS    GSÉË S    A8T\"ÏÐA Æ#Р   A Æ#
  495. $Ì@    @=ƒÑ‚ŽÒ@B!,‡" [a b alen blen d res 0 math-reject-arg "*Division by zero" / natnump 1000 math-normalize math-div-bignum-digit math-bignum math-div-bignum-big math-mul-bignum-digit bigpos bigneg] 16))
  496.  
  497. (defun math-div-bignum (a b) (byte-code "Aƒ:
  498. GGÆÇ S8T\"ÈÉ
  499. Ê#É Ê#     $ ËUƒ-‚6@ÌA \"@B,‚GÌ
  500. @\"@ACB)‡" [b alen a blen d res / 1000 math-div-bignum-big math-mul-bignum-digit 0 1 math-div-bignum-digit] 8))
  501.  
  502. (defun math-div-bignum-digit (a b) (byte-code "ƒ#ÄA
  503. \"Å    AÆ\"@\\Ç
  504. \"    @BÈ
  505. \"B*‚$ɇ" [a res b num math-div-bignum-digit * 1000 / % (nil . 0)] 7))
  506.  
  507. (defun math-div-bignum-big (a b alen blen) (byte-code "    Wƒ  B‚/È AS    $ @ ABÉ    #@ @BAB+‡" [alen blen nil a res b num res2 math-div-bignum-big math-div-bignum-part] 5))
  508.  
  509. (defun math-div-bignum-part (a b blen) (byte-code "Æ    
  510. 8†ÇÈ\"    S
  511. 8†Ç\\    S 8É \"Ê^Ë
  512. Ì Ç#$+‡" [num blen a den b guess * 0 1000 / 999 math-div-bignum-try math-mul-bignum-digit] 9))
  513.  
  514. (defun math-div-bignum-try (a b c guess) (byte-code "Å    
  515. \"Æ=ƒÇ     Å
  516. \" S$‚ B)‡" [rem a c b guess math-sub-bignum neg math-div-bignum-try] 7))
  517.  
  518. (defun math-div (a b) (byte-code ":ƒ\"@Ä>?…@Å=ƒÆ8Ç=‚È!‚%Ç=…1É …1Ê    \"†z    :ƒV    @Ë>?…S    @Å=ƒPÆ    8Ç=‚SÈ    !‚Y    Ç=…–Ì!Í=?…–:?†o@Î>ƒÏ!…‚    :?†‚    @Ð>ƒ‹Ñ    !‚Œ    ‚–É ˆÒ    \"†z    :?†£    @Ó>…n:?†°@Ô>…n    :?†½    @Õ>…÷:?†Ê@Ö>…÷×    \"
  519. AÇ=ƒÞ
  520. @‚ö ƒìÉ ˆØ    \"‚öÙÚ    Ç\"ÚÇ\"\")†n    :?†    @Û>…:?†@Ü>…É …Ý    \"†n    :?†*    @Þ>…b:?†7@ß>…b    :…C    @Å=†KÑ    !‰ˆ:…U@Å=†]Ñ!‰ˆÙ    \"†nÉ …nà    \"†zÉ …zá    \"‡" [b a q calc-prefer-frac (bigpos bigneg) float 1 0 math-zerop calc-extensions math-div-by-zero (bigpos bigneg) car-safe mod (bigpos bigneg frac float cplx polar hms) math-floatp (bigpos bigneg frac) math-float math-div-zero (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) (bigpos bigneg) (bigpos bigneg) math-idivmod math-make-frac math-div-float math-make-float (bigpos bigneg frac) (bigpos bigneg frac) calc-div-fractions (bigpos bigneg frac float) (bigpos bigneg frac float) math-div-objects-fancy math-div-symb-fancy] 26))
  521.  
  522. (defun math-div-float (a b) (byte-code "    TÄÅ
  523. 8!ÄÅ 8!ZZÆ]ÇÈÉÅ
  524. 8\"Å 8\"Ê
  525. 8Ê 8ZZ\")‡" [ldiff calc-internal-prec a b math-numdigs 1 0 math-make-float math-quotient math-scale-int 2] 9))
  526.  
  527. (defun math-format-stack-value (entry) (byte-code "    ‰ˆ @Ò 8
  528. ?ƒӂeÇ=ƒ\"ÔÕ
  529. \"‚e
  530. ;ƒ+
  531. ‚e
  532. Ö=ƒ5ׂeƒ?‚e
  533. :?†I
  534. @Ø>…U    Ù>…U ?ƒ^Ú
  535. !‚eÛ ˆÜ
  536. Ý\"Þ!
  537. ß ß …yljˆ
  538. A 
  539. @‰
  540. ˆ
  541. ÝV…—àá
  542. â\"\"‰ˆãä\"†¶à
  543. Ö=ƒ°áGâ\"‚²\"‰ˆ…Õà    å=ƒÐ ƒÌæ‚Íç‚Ñè\"‰ˆãä\"†ÿ
  544. Ö=†ÿÛ ˆéêáë ì!G#Ý]â\"í%‰ˆ;ƒƒî!‚‚ï \"‰ ˆ…+ð \"‰ ˆ    å=ƒ= ñP‰ ‚M…M ÝòIˆ óôIˆõ Aö !\"ˆ .‡" [calc-selection-cache-entry calc-selection-cache-default-entry a entry math-comp-selected c calc-display-raw t calc-prepared-composition calc-language off s w calc-any-selections calc-left-label calc-line-numbering calc-right-label calc-language-output-filter 2 "<nil>" format "%s" top-of-stack "." (bigpos bigneg frac float cplx polar hms) (nil flat unform) math-format-number calc-extensions math-compose-expr 0 math-stack-value-offset nil math-comp-concat make-string 32 equal "" big (tag t "1:  ") "1:  " "    " list horiz - math-comp-width (break -1) prin1-to-string math-composition-to-string funcall "
  545. " 49 1 58 setcar calc-count-lines] 24))
  546.  
  547. (defun math-stack-value-offset (c) (byte-code "    ƒÈ‚    ÉÊ Ë ƒÌ ˆÍ ‚.† É‰ˆÎ!….‰ˆ GZÉ]
  548. \\B+‡" [num calc-line-numbering wid off calc-display-just calc-display-origin calc-line-breaking calc-left-label 4 0 calc-window-width nil calc-extensions math-stack-value-offset-fancy integerp] 7))
  549.  
  550. (defun calc-count-lines (s) (byte-code "ÄÅÆÇ #‰…
  551. T    T‰ˆ‚ˆ    *‡" [pos num newpos s 0 1 string-match "
  552. "] 4))
  553.  
  554. (defun math-format-value (a &optional w) (byte-code ":?†
  555. @Å>…    Æ>ƒÇ!‚&È ˆÃÉÊË\" \")‡" [a calc-language calc-line-breaking nil w (bigpos bigneg frac float cplx polar hms) (nil flat unform) math-format-number calc-extensions math-composition-to-string math-compose-expr 0] 6))
  556.  
  557. (defun calc-window-width nil (byte-code "ƒÃÄH!    ƒÅ    !‚Æ S)‚*ÅÃp!!
  558. ƒ(ǂ)ÈZ‡" [calc-embedded-info win calc-line-numbering get-buffer-window 0 window-width screen-width 5 1] 7))
  559.  
  560. (defun math-comp-concat (c1 c2) (byte-code ";…    ;ƒ    P‚    E‡" [c1 c2 horiz] 3))
  561.  
  562. (defun math-format-flat-expr (a prec) (byte-code ":†Ì!?†    Â=ƒÂÍÎ!P)‚X:?†'@Ï>ƒPÅÐ@GÑVƒ9҂:ÓÅÔÅ
  563.     Õ!.‚XÖ ˆ× \"‡" [a calc-display-raw t print-escape-newlines calc-group-digits nil calc-point-char calc-frac-format calc-complex-format calc-hms-format calc-language prec integerp "'" prin1-to-string (bigpos bigneg frac float cplx polar hms) "." 1 ("::" nil) (":" nil) "%s@ %s' %s\"" math-format-number calc-extensions math-format-flat-expr-fancy] 8))
  564.  
  565. (defun math-format-number (a &optional prec) (byte-code "Á=ƒÛÜ
  566. \"‚=Ý 8…
  567. :?†
  568. @Þ>ƒ+ß ˆàá
  569. !!‚=â
  570. !ƒ¢ †6?ƒšãUƒGä
  571. !‚—
  572. åWƒVæà
  573. [!P‚—ß ˆƒ”ƒ|çèUƒué
  574. !‚xê
  575. !#‚‘ÛëèUƒé
  576. !‚ê
  577. !#‚—ê
  578. !‚Ÿàì
  579. !!‚=
  580. ;ƒ«
  581. ‚=
  582. :?ƒ·í
  583. !‚=
  584. @î=ƒÅï
  585. A!‚=
  586. @ð=ƒÕæï
  587. A!P‚=
  588. @ñ=…àãUƒ3Ý
  589. 8:ƒóÝ
  590. 8@ð=‚øÝ
  591. 8åWƒæàò
  592. !!P‚0Ý
  593. 8 @Ý 8ó 
  594.      ô=…CåW…5[‰†C
  595. õ    !\\[Vƒ·ö    
  596. \\\"    â    !ƒ_ä    !‚d÷    A!‰ˆGX…øGZTù\"P‰ˆåVƒ å[O[óOQ‰‚¨P‰ˆ …´ú!‰‚+åW…Æ\\‰ˆåV…ïõ    !ZåW…îö    \"    
  597. Z‰
  598. )ˆâ    !ƒþä    !‚÷    A!‰ˆG
  599. \\ ñ=…,\\X…,è\\YƒšåUƒBûQ‰‚‹
  600. åX…MåVƒeåOóOQ‰‚‹
  601. åVƒ|ø
  602. ù\"Q‰‚‹ûø[ù\"R‰ˆ …—ú!‰‚*
  603. \\ ü=ƒ³ýþ\\ÿ\"T‚´ÝGV…ÎøGZù\"P‰ˆGW…êåOóOQ‰ˆ …öú!‰ˆÛ@>ƒ… AVƒB‚C‚DZ#‰**ˆ.‚=ß ˆE
  604. \"‡" [calc-display-raw t a calc-frac-format calc-group-digits calc-leading-zeros calc-number-radix math-radix-explicit-format calc-radix-formatter mant exp fmt calc-float-format figs point calc-point-char str calc-internal-prec adj len dpos calc-display-sci-high calc-display-sci-low eadj scale calc-language prec format "%s" 1 (bigpos bigneg) calc-extensions math-format-number math-adjust-fraction integerp 10 int-to-string 0 "-" funcall 2 math-format-binary math-format-radix "%d#%s" math-bignum prin1-to-string bigpos math-format-bignum bigneg float math-neg nil fix math-numdigs math-scale-rounding math-format-bignum-decimal make-string 48 math-group-float "0" eng math-mod 300002 3 (math maple) 191 "(%s*10.^%d)" "%s*10.^%d" "%se%d" math-format-number-fancy] 45))
  605.  
  606. (defun math-format-bignum (a) (byte-code "ÄU…    ?…
  607. ?ƒÅ !‚Æ ˆÇ !‡" [calc-number-radix calc-leading-zeros calc-group-digits a 10 math-format-bignum-decimal calc-extensions math-format-bignum-fancy] 4))
  608.  
  609. (defun math-format-bignum-decimal (a) (byte-code "ƒ:ÂAA…$ÃÄÅÆ8Ç\"@\\\"    PAA‰ˆ‚ˆÈÅÆ8†.ÉÇ\"@\\!    P)‚;ʇ" [a s "" format "%06d" * 1 1000 int-to-string 0 "0"] 6))
  610.  
  611. (defun math-read-number (s) (byte-code "ÌÍÎ\"ƒ@ÏÐ\"
  612. Ñ=…    GÐV…    ÒHÓ=ƒ*ÔÕ    P!‚<    GÖXƒ7×    !‚<ØÙ    !B)‚kÍÚ\"ƒUÔÏÐ\"ÏÛ\"P!‚kÍÜ\"ƒzÔÏÐ\"! …vÒHÝ=ƒs ‚vÞ !)‚kÍß\"ƒŠà ˆá!‚kÍâ\"ƒêÏÐ\"ÏÛ\" GGÒVƒ°Ô !‚±ÒÒVƒ¾Ô!‚¿Ò …ä…äÒV†ÔÒV…äãäå \"\"[E***‚kÍæ\"ƒjÏÐ\"ÏÛ\"    GÒVƒ Ô!‚Р   G    ÒHç>ƒè‚éX…&×    !    …e    …e:?†@@ê>…e    ëV…e    ìW…eí!ãÐ8Û8    \\E)**‚kË!‡" [s digs calc-language val int frac ilen flen mant exp t nil math-normalize string-match "\\` *\\([0-9]+\\) *\\'" math-match-substring 1 c 0 48 math-read-number "8#" 6 string-to-int bigpos math-read-bignum "\\`\\(.*\\)[     
  613. ]+\\([^]*\\)\\'" 2 "^[-_+]\\(.*\\)$" 43 math-neg "[^-+0-9eE.]" calc-extensions math-read-number-fancy "^\\([0-9]*\\)\\.\\([0-9]*\\)$" float math-add math-scale-int "^\\(.*\\)[eE]\\([-+]?[0-9]+\\)$" (43 45) 8 7 (bigpos bigneg frac float) -4000000 4000000 math-float] 34))
  614.  
  615. (defun math-match-substring (s n) (byte-code "Â!ƒ    Â!Ã!O‚ć" [n s match-beginning match-end ""] 6))
  616.  
  617. (defun math-read-bignum (s) (byte-code "GÁVƒÂÃÄO!ÅÆÃO!B‚Â!C‡" [s 3 string-to-int -3 nil math-read-bignum 0] 6))
  618.  
  619. (defconst math-tex-ignore-words (quote (("\\hbox") ("\\mbox") ("\\text") ("\\left") ("\\right") ("\\,") ("\\>") ("\\:") ("\\;") ("\\!") ("\\ ") ("\\quad") ("\\qquad") ("\\hfil") ("\\hfill") ("\\displaystyle") ("\\textstyle") ("\\dsize") ("\\tsize") ("\\scriptstyle") ("\\scriptscriptstyle") ("\\ssize") ("\\sssize") ("\\rm") ("\\bf") ("\\it") ("\\sl") ("\\roman") ("\\bold") ("\\italic") ("\\slanted") ("\\cal") ("\\mit") ("\\Cal") ("\\Bbb") ("\\frak") ("\\goth") ("\\evalto") ("\\matrix" mat) ("\\bmatrix" mat) ("\\pmatrix" mat) ("\\cr" punc ";") ("\\\\" punc ";") ("\\*" punc "*") ("\\{" punc "[") ("\\}" punc "]"))))
  620.  
  621. (defconst math-eqn-ignore-words (quote (("roman") ("bold") ("italic") ("mark") ("lineup") ("evalto") ("left" ("floor") ("ceil")) ("right" ("floor") ("ceil")) ("arc" ("sin") ("cos") ("tan") ("sinh") ("cosh") ("tanh")) ("size" n) ("font" n) ("fwd" n) ("back" n) ("up" n) ("down" n) ("above" punc ","))))
  622.  
  623. (defconst math-standard-opers (quote (("_" calcFunc-subscr 1200 1201) ("%" calcFunc-percent 1100 -1) ("u+" ident -1 1000) ("u-" neg -1 1000 197) ("u!" calcFunc-lnot -1 1000) ("mod" mod 400 400 185) ("+/-" sdev 300 300 185) ("!!" calcFunc-dfact 210 -1) ("!" calcFunc-fact 210 -1) ("^" ^ 201 200) ("**" ^ 201 200) ("*" * 196 195) ("2x" * 196 195) ("/" / 190 191) ("%" % 190 191) ("\\" calcFunc-idiv 190 191) ("+" + 180 181) ("-" - 180 181) ("|" | 170 171) ("<" calcFunc-lt 160 161) (">" calcFunc-gt 160 161) ("<=" calcFunc-leq 160 161) (">=" calcFunc-geq 160 161) ("=" calcFunc-eq 160 161) ("==" calcFunc-eq 160 161) ("!=" calcFunc-neq 160 161) ("&&" calcFunc-land 110 111) ("||" calcFunc-lor 100 101) ("?" (math-read-if) 91 90) ("!!!" calcFunc-pnot -1 85) ("&&&" calcFunc-pand 80 81) ("|||" calcFunc-por 75 76) (":=" calcFunc-assign 51 50) ("::" calcFunc-condition 45 46) ("=>" calcFunc-evalto 40 41) ("=>" calcFunc-evalto 40 -1))))
  624.  
  625. (setq math-expr-opers math-standard-opers)
  626.  
  627. (defun calc-grab-region (top bot arg) "\
  628. Parse the region as a vector of numbers and push it on the Calculator stack." (interactive "r
  629. P") (byte-code "ÈĠˆÅ    
  630. #‡" [top bot arg nil calc-extensions calc-do-grab-region] 5))
  631.  
  632. (defun calc-grab-rectangle (top bot arg) "\
  633. Parse a rectangle as a matrix of numbers and push it on the Calculator stack." (interactive "r
  634. P") (byte-code "ÈĠˆÅ    
  635. #‡" [top bot arg nil calc-extensions calc-do-grab-rectangle] 5))
  636.  
  637. (defun calc-grab-sum-down (top bot arg) "\
  638. Parse a rectangle as a matrix of numbers and sum its columns." (interactive "r
  639. P") (byte-code "ÈĠˆÅ    
  640. Æ$‡" [top bot arg nil calc-extensions calc-do-grab-rectangle calcFunc-reduced] 6))
  641.  
  642. (defun calc-grab-sum-across (top bot arg) "\
  643. Parse a rectangle as a matrix of numbers and sum its rows." (interactive "r
  644. P") (byte-code "ÈĠˆÅ    
  645. Æ$‡" [top bot arg nil calc-extensions calc-do-grab-rectangle calcFunc-reducea] 6))
  646.  
  647. (defun calc-embedded (arg &optional end obeg oend) "\
  648. Start Calc Embedded mode on the formula surrounding point." (interactive "P") (byte-code "ĈŠˆÆ    
  649. $‡" [arg end obeg oend nil calc-extensions calc-do-embedded] 6))
  650.  
  651. (defun calc-embedded-activate (&optional arg cbuf) "\
  652. Scan the current editing buffer for all embedded := and => formulas.
  653. Also looks for the equivalent TeX words, \\gets and \\evalto." (interactive "P") (byte-code "ˆà   \"‡" [arg cbuf nil calc-do-embedded-activate] 3))
  654.  
  655. (defun calc-user-invocation nil (interactive) (byte-code "Áˆ;†
  656. ÂÃ!ˆÄÁ\"‡" [calc-invocation-macro nil error "Use `Z I' inside Calc to define a `M-# Z' keyboard macro" execute-kbd-macro] 4))
  657.  
  658. (defmacro defmath (func args &rest body) (byte-code "àˆÄ    
  659. #‡" [func args body calc-extensions math-do-defmath] 5))
  660.  
  661. (defun calc-read-key (&optional optkey) (byte-code "ƒ!Æ Ç    ÃÃ#
  662. † †ÈÉ!ˆ
  663.     B))‚5ƒ/Ê 
  664.  
  665. B)‚5r
  666.  
  667. B)‡" [calc-emacs-type-lucid event key t optkey calc-emacs-type-gnu19 next-command-event event-to-character error "Expected a plain keystroke" read-event] 6))
  668.  
  669. (defun calc-unread-command (&optional input) (byte-code "ƒ
  670. †         B‰‚3 ƒ*É
  671. !ƒ Ê
  672. !‚%
  673. †% ‰‚3
  674. †0‰‡" [calc-emacs-type-gnu19 unread-command-events input last-command-event calc-emacs-type-lucid unread-command-event t unread-command-char last-command-char integerp character-to-event] 4))
  675.  
  676. (defun calc-clear-unread-commands nil (byte-code "ƒ
  677. ‰‚ ƒ‰‚lj‡" [calc-emacs-type-gnu19 unread-command-events nil calc-emacs-type-lucid unread-command-event t unread-command-char -1] 2))
  678.  
  679. (if calc-always-load-extensions (progn (calc-extensions) (calc-load-everything)))
  680.  
  681. (run-hooks (quote calc-load-hook))
  682.