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-misc.elc < prev    next >
Encoding:
Text File  |  1996-10-12  |  18.1 KB  |  206 lines

  1.  
  2. (require (quote calc))
  3.  
  4. (defun calc-Need-calc-misc nil (byte-code "À‡" [nil] 1))
  5.  
  6. (defun calc-dispatch-help (arg) "\
  7. M-# is a prefix key; follow it with one of these letters:
  8.  
  9. For turning Calc on and off:
  10.   C  calc.  Start the Calculator in a window at the bottom of the screen.
  11.   O  calc-other-window.  Start the Calculator but don't select its window.
  12.   B  calc-big-or-small.  Control whether to use the full Emacs screen for Calc.
  13.   Q  quick-calc.  Use the Calculator in the minibuffer.
  14.   K  calc-keypad.  Start the Calculator in keypad mode (X window system only).
  15.   E  calc-embedded.  Use the Calculator on a formula in this editing buffer.
  16.   J  calc-embedded-select.  Like E, but select appropriate half of => or :=.
  17.   W  calc-embedded-word.  Like E, but activate a single word, i.e., a number.
  18.   Z  calc-user-invocation.  Invoke Calc in the way you defined with `Z I' cmd.
  19.   X  calc-quit.  Turn Calc off.
  20.  
  21. For moving data into and out of Calc:
  22.   G  calc-grab-region.  Grab the region defined by mark and point into Calc.
  23.   R  calc-grab-rectangle.  Grab the rectangle defined by mark, point into Calc.
  24.   :  calc-grab-sum-down.  Grab a rectangle and sum the columns.
  25.   _  calc-grab-sum-across.  Grab a rectangle and sum the rows.
  26.   Y  calc-copy-to-buffer.  Copy a value from the stack into the editing buffer.
  27.  
  28. For use with Embedded mode:
  29.   A  calc-embedded-activate.  Find and activate all :='s and =>'s in buffer.
  30.   D  calc-embedded-duplicate.  Make a copy of this formula and select it.
  31.   F  calc-embedded-new-formula.  Insert a new formula at current point.
  32.   N  calc-embedded-next.  Advance cursor to next known formula in buffer.
  33.   P  calc-embedded-previous.  Advance cursor to previous known formula.
  34.   U  calc-embedded-update-formula.  Re-evaluate formula at point.
  35.   `  calc-embedded-edit.  Use calc-edit to edit formula at point.
  36.  
  37. Documentation:
  38.   I  calc-info.  Read the Calculator manual in the Emacs Info system.
  39.   T  calc-tutorial.  Run the Calculator Tutorial using the Emacs Info system.
  40.   S  calc-summary.  Read the Summary from the Calculator manual in Info.
  41.  
  42. Miscellaneous:
  43.   L  calc-load-everything.  Load all parts of the Calculator into memory.
  44.   M  read-kbd-macro.  Read a region of keystroke names as a keyboard macro.
  45.   0  (zero) calc-reset.  Reset Calc stack and modes to default state.
  46.  
  47. Press twice (`M-# M-#' or `M-# #') to turn Calc on or off using the same
  48. Calc user interface as before (either M-# C or M-# K; initially M-# C)." (interactive "P") (byte-code "ĈƠˆƒNjˆÈÄ!‚ÃÈ!)‡" [calc-dispatch-help win key t nil arg calc-check-defines ((byte-code "ÃÄ!ˆÅÆ!…0ÇÈ!ˆÉÊË\"ˆÌÂ!‰@Í>…*ÎÏЏˆ‚ˆÑ    A!))‡" [win key t describe-function calc-dispatch-help get-buffer-window "*Help*" nil select-window message "Calc options: Calc, Keypad, ...  %s" "press SPC, DEL to scroll, C-g to cancel" calc-read-key (32 8 127 22 246) err (byte-code "@Á>ƒ  ‚à‡" [key (32 22) scroll-up scroll-down] 3) ((error (byte-code "À ‡" [beep] 2))) calc-unread-command] 9)) calc-do-dispatch] 4))
  49.  
  50. (defun calc-big-or-small (arg) "\
  51. Toggle Calc between full-screen and regular mode." (interactive "P") (byte-code "ňÆÇ!ÆÈ!ÆÉ!…,
  52. ƒ#    … Ê    !Ë =‚*Ì!Í S=‰ˆ ƒ9Î !ÏV‚; ?‰ˆ
  53. ƒLРˆÑ Å\"‚X…XРˆÒÅ Å#ˆÓ ƒbԂcÕ!+‡" [cwin twin kwin calc-full-mode arg nil get-buffer-window "*Calculator*" "*Calc Trail*" "*Calc Keypad*" window-width screen-width window-height screen-height prefix-numeric-value 0 calc-quit calc-do-keypad calc message "Now using full screen for Calc." "Now using partial screen for Calc."] 15))
  54.  
  55. (defun calc-other-window nil "\
  56. Invoke the Calculator in another window." (interactive) (byte-code "ˆÃ>ƒÄÅ!ˆÆ>…ÄÅ!‚,ÇÈ!ƒ#É ‚,Ê Ë    t#)‡" [major-mode win nil (calc-mode calc-trail-mode) other-window 1 (calc-mode calc-trail-mode) get-buffer-window "*Calculator*" calc-quit selected-window calc] 9))
  57.  
  58. (defun another-calc nil "\
  59. Create another, independent Calculator buffer." (interactive) (byte-code "ˆÃ=… ÄÅ    \"ˆÆÇ!qˆÈp!ˆÃ ‡" [major-mode calc-local-var-list nil calc-mode mapcar (lambda (v) (byte-code "ÁJ\"‡" [v set-default] 3)) generate-new-buffer "*Calculator*" pop-to-buffer] 5))
  60.  
  61. (defun calc-delete-windows-keep (&rest bufs) (byte-code "Ë ƒ ÌÍ\"‚c
  62. @Π   !ÅÅÅÏ    !Î!‰ˆ@ @U…DÐ8Ð 8U…DÑ8Ñ 8W…R‰ˆ‚ˆ     ‰ˆÒ    Ñ 8Ó    !Ô    !Õ    !% BÖ    !Π   !‰ˆ    =?…@ @U…Ð8Ð 8U…˜Åˆ‚[ˆ× !‰ˆÌÍ\"ˆË †b ÅØÔÐ
  63. 8!ƒºÐ
  64. 8‚¼Ù 
  65.         …þÔ    @@!ƒîƒÜÚ    @@!‚ë    @@Ñ    @8     A‰‚õÛ    @ \"‰ˆ    A‰ˆ‚È …UÜ
  66. @=Ą
  67. 8‚Ñ @8    Z\"‰ˆÝ    Ð @8\"ˆÞ    ß @8\"ˆà    á @8\"ˆ
  68. @@=…Câ    !ˆ    Ñ @8     A‰ˆ‚ÿˆÔ
  69. !…aâ
  70. !,-‡" [bufs w calc-was-split e wins nil w2 e2 main mainpos sel one-window-p mapcar delete-windows-on window-edges previous-window 2 1 list window-buffer window-point window-start next-window nreverse 0 selected-window delete-window delq split-window set-window-buffer set-window-point 3 set-window-start 4 select-window] 27))
  71.  
  72. (defun calc-info nil "\
  73. Run the Emacs Info system on the Calculator documentation." (interactive) (byte-code "ƈÇÈ!ˆÉÊ !ˆË!†C
  74. ÆÌÄ!…      B‰ˆ    …/ÍΠ   @\"‰!?…:    A‰ˆ‚!ˆ    …B ‰*ˆÏÐяˆÌÅ!…X;…XÒÓ\"†_ÔÕ\"‡" [calc-info-filename p load-path name Info-directory Info-current-file nil require info select-window get-largest-window file-name-absolute-p boundp file-exists-p expand-file-name err (byte-code "À ‡" [info] 2) ((error (byte-code "À‡" [nil] 1))) string-match "calc" Info-find-node "Top"] 12))
  75.  
  76. (defun calc-tutorial nil "\
  77. Run the Emacs Info system on the Calculator Tutorial." (interactive) (byte-code "ÀˆÁÂ!…
  78. àˆÄ ˆÅÆ!ˆÇ ˆÈÉ!‡" [nil get-buffer-window "*Calculator*" calc-quit calc-info Info-goto-node "Interactive Tutorial" calc-other-window message "Welcome to the Calc Tutorial!"] 7))
  79.  
  80. (defun calc-info-summary nil "\
  81. Run the Emacs Info system on the Calculator Summary." (interactive) (byte-code "ÀˆÁ ˆÂÃ!‡" [nil calc-info Info-goto-node "Summary"] 3))
  82.  
  83. (defun calc-help nil (interactive) (byte-code "ɈÊËÌÍ    \"C\"
  84. ƒ‚m † ƒ2 ƒ- ƒ(Π‚*Ï ‚/Р‚m=ƒDÑTGT\"‚E҉ˆ8ÓÔƒjÕÖרÙÚ\"\"GZÛ\"ÜR‚kÝ\"))‡" [msgs calc-version calc-full-help-flag calc-inverse-flag calc-hyperbolic-flag calc-help-phase this-command last-command msg nil append ("Press `h' for complete help; press `?' repeatedly for a summary" "Letter keys: Negate; Precision; Yank; Why; Xtended cmd; Quit" "Letter keys: SHIFT + Undo, reDo; Keep-args; Inverse, Hyperbolic" "Letter keys: SHIFT + sQrt; Sin, Cos, Tan; Exp, Ln, logB" "Letter keys: SHIFT + Floor, Round; Abs, conJ, arG; Pi" "Letter keys: SHIFT + Num-eval; More-recn; eXec-kbd-macro" "Other keys: +, -, *, /, ^, \\ (int div), : (frac div)" "Other keys: & (1/x), | (concat), % (modulo), ! (factorial)" "Other keys: ' (alg-entry), = (eval), ` (edit); M-RET (last-args)" "Other keys: SPC/RET (enter/dup), LFD (over); < > (scroll horiz)" "Other keys: DEL (drop), M-DEL (drop-above); { } (scroll vert)" "Other keys: TAB (swap/roll-dn), M-TAB (roll-up)" "Other keys: [ , ; ] (vector), ( , ) (complex), ( ; ) (polar)" "Prefix keys: Algebra, Binary/business, Convert, Display" "Prefix keys: Functions, Graphics, Help, J (select)" "Prefix keys: Kombinatorics/statistics, Modes, Store/recall" "Prefix keys: Trail/time, Units/statistics, Vector/matrix" "Prefix keys: Z (user), SHIFT + Z (define)" "Prefix keys: prefix + ? gives further help for that prefix") format "  Calc %s by Dave Gillespie, daveg@synaptics.com" calc-inv-hyp-prefix-help calc-inverse-prefix-help calc-hyperbolic-prefix-help % 0 message "%s" ":" make-string apply max mapcar length 32 "  [?=MORE]" ""] 16))
  85.  
  86. (defun calc-do-handle-whys nil (byte-code "Ç    È\"‰ˆ… Ä=†@@É=… …DÊ ˆË@ Ä=ƒ0A‚: …:Ì8@É=\"ˆ‰ˆÍÎ!‡" [calc-why calc-next-why nil calc-auto-why t calc-last-why-command this-command sort (lambda (x y) (byte-code "@Â=…     @Â=?‡" [x y *] 2)) * calc-extensions calc-explain-why 1 calc-clear-command-flag clear-message] 6))
  87.  
  88. (defun calc-record-why (&rest stuff) (byte-code "@Ã=ƒA‰‚l@9…GA…GÄ8:?†'Ä8@Å>†GÄ8:…7Ä8@Æ=…?ÇÄ8!†GÈÄ8!ƒRÉB‰‚l@;…]ÊË@\"…lÉ@ÄÂOABB‰ˆ    B‰ˆÂ‡" [stuff calc-next-why nil quiet 1 (bigpos bigneg frac float cplx polar hms date sdev intv mod) vec math-constp math-infinitep * string-match "\\`\\*"] 7))
  89.  
  90. (defun math-constp (a) (byte-code ":?†
  91. @Á>†9@Â>…9A‰….@:?†'@@Ã>†.Ä@!…6ň‚ˆ?‡" [a (bigpos bigneg frac float cplx polar hms) (sdev intv mod vec) (bigpos bigneg frac float cplx polar hms) math-constp nil] 2))
  92.  
  93. (defun calc-roll-down-stack (n &optional m) (byte-code "ÄWƒÅ[    \"‚TÄU†Æ V…Æ ‰ˆ    †'ljˆÇV…T    W…T
  94. …: ?ƒDÈ    \"‚TÉÊË    Ç\"Ë    Z    T\"\"\"‡" [n m calc-any-selections calc-use-selections 0 calc-roll-up-stack calc-stack-size 1 calc-roll-down-with-selections calc-pop-push-list append calc-top-list] 12))
  95.  
  96. (defun calc-roll-up-stack (n &optional m) (byte-code "ÄWƒÅ[    \"‚WÄU†Æ V…Æ ‰ˆ    †'ljˆÇV…W    W…W
  97. …: ?ƒDÈ    \"‚WÉÊË    ZÇ\"Ë    Ì    Í#\"\"\"‡" [n m calc-any-selections calc-use-selections 0 calc-roll-down-stack calc-stack-size 1 calc-roll-up-with-selections calc-pop-push-list append calc-top-list - -1] 15))
  98.  
  99. (defun calc-do-refresh nil (byte-code "ƒ ‰ˆÃ‚Ä ˆÂ‡" [calc-hyperbolic-flag calc-display-dirty t nil calc-refresh] 2))
  100.  
  101. (defun calc-record-list (vals &optional prefix) (byte-code "…@Â=†Ã@    \"ˆÄ‰ˆA‰ˆ‚‡" [vals prefix top-of-stack calc-record "..."] 4))
  102.  
  103. (defun calc-last-args-stub (arg) (interactive "p") (byte-code "ÁˆÂ ˆÃ!‡" [arg nil calc-extensions calc-last-args] 3))
  104.  
  105. (defun calc-power (arg) (interactive "P") (byte-code "ÀˆÁÂÃ\"‡" [nil calc-do (lambda nil (byte-code "…àƒÄÅÆ    ÂÂ%‚ÄÇÈ    ÂÂÉ&‡" [calc-extensions-loaded arg nil calc-is-inverse calc-binary-op "root" calcFunc-nroot "^" calcFunc-pow ^] 9)) 9408] 3))
  106.  
  107. (defun calc-mod (arg) (interactive "P") (byte-code "ÀˆÁÂÃ\"‡" [nil calc-do (lambda nil (byte-code "ÂÃÄÁÁÅ&‡" [arg nil calc-binary-op "%" calcFunc-mod %] 7)) 9660] 3))
  108.  
  109. (defun calc-inv (arg) (interactive "P") (byte-code "ÀˆÁÂÃ\"‡" [nil calc-do (lambda nil (byte-code "ÁÂÃ#‡" [arg calc-unary-op "inv" calcFunc-inv] 4)) 9830] 3))
  110.  
  111. (defun calc-percent nil (interactive) (byte-code "ÀˆÁÂÃ\"‡" [nil calc-do (lambda nil (byte-code "ÀÁÂÃÄÁ!DC#‡" [calc-pop-push-record-list 1 "%" calcFunc-percent calc-top-n] 6)) 9991] 3))
  112.  
  113. (defun calc-over (n) (interactive "P") (byte-code "ÁˆƒÂÃ![!‚ÂÄ!‡" [n nil calc-enter prefix-numeric-value -2] 4))
  114.  
  115. (defun calc-pop-above (n) (interactive "P") (byte-code "ÁˆƒÂÃ![!‚ÂÄ!‡" [n nil calc-pop prefix-numeric-value -2] 4))
  116.  
  117. (defun calc-roll-down (n) (interactive "P") (byte-code "ÀˆÁÂ!‡" [nil calc-do (lambda nil (byte-code "à   !    ?ƒÄÅ!‚4ÆVƒÄ!‚4ÆUƒ.ÇÈ ÉÊÈ !!\"‚4ÄÈ [\")‡" [nn n t prefix-numeric-value calc-roll-down-stack 2 0 calc-pop-push-list calc-stack-size reverse calc-top-list] 12))] 2))
  118.  
  119. (defun calc-roll-up (n) (interactive "P") (byte-code "ÀˆÁÂ!‡" [nil calc-do (lambda nil (byte-code "à   !    ?ƒÄÅ!‚4ÆVƒÄ!‚4ÆUƒ.ÇÈ ÉÊÈ !!\"‚4ÄÈ [\")‡" [nn n t prefix-numeric-value calc-roll-up-stack 3 0 calc-pop-push-list calc-stack-size reverse calc-top-list] 12))] 2))
  120.  
  121. (defun calc-num-prefix-name (n) (byte-code "Â=ƒ
  122. Â0ÄÅ\"ƒƂ0:ƒ\"ÇÈ@\"‚0É!ƒ/ÇÈ\"‚0ʇ" [n t - "- " equal (4) "C-u " format "%d " integerp ""] 6))
  123.  
  124. (defun calc-missing-key (n) "\
  125. This is a placeholder for a command which needs to be loaded from calc-ext.
  126. When this key is used, calc-ext (the Calculator extensions module) will be
  127. loaded and the keystroke automatically re-typed." (interactive "P") (byte-code "ÈĠˆÅÆÇ!!!…ÈÉÊ    !#ˆË ˆ    ‰‡" [last-command-char n prefix-arg nil calc-extensions keymapp key-binding char-to-string message "%s%c-" calc-num-prefix-name calc-unread-command] 9))
  128.  
  129. (defun calc-shift-Y-prefix-help nil (interactive) (byte-code "ÁˆÂ ˆÃÄÅ#‡" [calc-Y-help-msgs nil calc-extensions calc-do-prefix-help "other" 89] 5))
  130.  
  131. (defun calcDigit-letter nil (interactive) (byte-code "ÁˆÂÃ!ƒÄ!‰ˆÅ ‚Æ ‡" [last-command-char nil calc-minibuffer-contains "[-+]?\\(1[1-9]\\|[2-9][0-9]\\)#.*" upcase calcDigit-key calcDigit-nondigit] 5))
  132.  
  133. (defun calc-temp-minibuffer-message (m) (byte-code "dŠdbˆ    c)ˆÃŎÆÇ!ˆÈÉ!ˆÄ‰)))‡" [savemax m okay nil t ((byte-code "Âd\"ˆ    † à‡" [savemax okay delete-region abort-recursive-edit] 3)) sit-for 2 identity 1] 4))
  134.  
  135. (put (quote math-with-extra-prec) (quote lisp-indent-hook) 1)
  136.  
  137. (defun math-concat (v1 v2) (byte-code ";ƒ     P‚c ˆÃ!†Ä!…#à   !†#Ä    !ƒ_ÅÆ!…7Ç!†7Ç    !?ƒ>‚AÈDÆ    !…QÇ    !†QÇ!?ƒY    A‚[    C\"‚cÉ    E‡" [v1 v2 calc-extensions math-objvecp math-known-scalarp append math-vectorp math-matrixp vec |] 15))
  138.  
  139. (defun math-zerop (a) (byte-code ":ƒf@Á>ƒ!A‰@Â=…È‚ ˆ?‚c@Ä>ƒ0ÅÆ8!‚c@Ç=ƒGÅÆ8!…DÅÈ8!‚c@É=…cÅÆ8!…cÅÈ8!…cÅÊ8!‚iÂ=‡" [a (bigpos bigneg) 0 nil (frac float polar mod) math-zerop 1 cplx 2 hms 3] 8))
  140.  
  141. (defun math-negp (a) (byte-code ":ƒ£@Ã=ƒÁ‚ @Ä=ƒA‚ @Å>ƒ;Æ8:ƒ3Æ8@Ä=‚8Æ8ÇW‚ @È=ƒjÉÆ8!ƒbÉÊ8!ƒZËÌ8!‚_ËÊ8!‚gËÆ8!‚ @Í=ƒyËÆ8!‚ @Î=ƒ˜ËÌ8!†•ÉÌ8!…•Æ8Ï>‚ ÐÑ\"… Â‚¦ÇW‡" [a nil t bigpos bigneg (float frac) 1 0 hms math-zerop 2 math-negp 3 date intv (0 2) equal (neg (var inf var-inf))] 11))
  142.  
  143. (defun math-looks-negp (a) (byte-code ":ƒ9@Á=†6@Â=?…6@Ã>ƒ3Ä8:ƒ+Ä8@Á=‚0Ä8ÅW‚6Æ!‚<ÅW†lÇ!È=†lÇ!É>…\\ÊÄ8!†\\ÊË8!†lÇ!Ì=…lÊÄ8!‡" [a bigneg bigpos (frac float) 1 0 math-negp car-safe neg (* /) math-looks-negp 2 -] 9))
  144.  
  145. (defun math-posp (a) (byte-code ":ƒ³@Ã=ƒA‚°@Ä=ƒÁ‚°@Å>ƒ;Æ8:ƒ3Æ8@Ã=‚8Æ8ÇV‚°@È=ƒjÉÆ8!ƒbÉÊ8!ƒZËÌ8!‚_ËÊ8!‚gËÆ8!‚°@Í=ƒyËÆ8!‚°@Î=ƒ‰ÉÆ8!?‚°@Ï=ƒ¨ËÊ8!†¥ÉÊ8!…¥Æ8Ð>‚°ÑÒ\"…°Â‚¶ÇV‡" [a nil t bigpos bigneg (float frac) 1 0 hms math-zerop 2 math-posp 3 date mod intv (0 1) equal (var inf var-inf)] 12))
  146.  
  147. (fset (quote math-fixnump) (symbol-function (quote integerp)))
  148.  
  149. (fset (quote math-fixnatnump) (symbol-function (quote natnump)))
  150.  
  151. (defun math-evenp (a) (byte-code ":ƒ@Á>…ÂÃ8Ä\"ÅU‚ÂÄ\"ÅU‡" [a (bigpos bigneg) % 1 2 0] 4))
  152.  
  153. (defun math-div2 (a) (byte-code ":ƒAƒÁ@ÂA!B!‚ÂÄÅ\"‡" [a math-normalize math-div2-bignum 0 / 2] 5))
  154.  
  155. (defun math-div2-bignum (a) (byte-code "AƒÁ@Â\"ÃÄÅ8Â\"Æ\"\\ÇA!B‚\"Á@Â\"C‡" [a / 2 * % 1 500 math-div2-bignum] 7))
  156.  
  157. (defun math-reject-arg (&optional a p option) (byte-code "ƒ à   
  158. #‚    …à   
  159. \"ˆÄÅ
  160. …'    ƒ%    
  161. D‚'
  162. C\"‡" [option p a calc-record-why signal wrong-type-argument] 6))
  163.  
  164. (defun math-trunc (a &optional prec) (byte-code "ƒàˆÄ    \"‚£    :?†    @Å>ƒ    ‚£    :ƒX    @Æ=†U    @Ç=?…U    @È>ƒRÉ    8:ƒJÉ    8@Æ=‚OÉ    8ÊW‚UË    !‚[    ÊW†~    :…~    @Ì=†~    @Í>…~ÎÉ    8!†~ÎÏ    8!ƒ‹ÐÑР   !!!‚£    @Ò=ƒÓÉ    8Ï    8\"‚£Ã ˆÔ    !‡" [prec a t calc-extensions math-trunc-special (bigpos bigneg) bigneg bigpos (frac float) 1 0 math-negp neg (* /) math-looks-negp 2 math-neg math-trunc float math-scale-int math-trunc-fancy] 12))
  165.  
  166. (fset (quote calcFunc-trunc) (symbol-function (quote math-trunc)))
  167.  
  168. (defun math-floor (a &optional prec) (byte-code "ƒàˆÄ    \"‚š    :?†    @Å>ƒ    ‚š    :…0    @Æ=…0Ç    8ÈYƒ9É    !‚š    :?†C    @Ê>ƒ”    :ƒ    @Ë=†|    @Ì=?…|    @Í>ƒyΠ   8:ƒqΠ   8@Ë=‚vΠ   8ÈW‚|Ï    !‚‚    ÈWƒŽÐÉ    !Ñ\"‚‘É    !‚šÃ ˆÒ    !‡" [prec a t calc-extensions math-floor-special (bigpos bigneg) float 2 0 math-trunc (bigpos bigneg frac float) bigneg bigpos (frac float) 1 math-negp math-add -1 math-floor-fancy] 10))
  169.  
  170. (fset (quote calcFunc-floor) (symbol-function (quote math-floor)))
  171.  
  172. (defun math-imod (a b) (byte-code ":?…        :?ƒ     ÂUƒÃÄ\"‚Å    \"‚%Æ    \"A‡" [a b 0 math-reject-arg "*Division by zero" % math-idivmod] 5))
  173.  
  174. (defun calcFunc-inv (m) (byte-code ":…    @Â=ƒ0àˆÄ!ƒ)Å    Æ\\Ç!)!†&ÈÉ\"‚-ÈÊ\"‚4ËÌ\"‡" [m calc-internal-prec vec calc-extensions math-square-matrixp math-normalize 2 math-matrix-inv-raw math-reject-arg "*Singular matrix" square-matrixp math-div 1] 9))
  175.  
  176. (defun math-do-working (msg arg) (byte-code "†.ÇÈ!ˆ    …\"
  177. ƒÉÊ    
  178. $‰‚\"ÉË     #‰ˆÌÍ Î!)#‡" [executing-macro math-working-step math-working-step-2 msg calc-float-format calc-full-float-format arg calc-set-command-flag clear-message format "[%d/%d] %s" "[%d] %s" message "Working... %s = %s" math-format-number] 8))
  179.  
  180. (defun math-mod (a b) (byte-code ":ƒ\"@Ã>?…@Ä=ƒÅ8Æ=‚Ç!‚%Æ=….È!É=?ƒ5‚¿    :ƒW    @Ê>?…T    @Ä=ƒQÅ    8Æ=‚TÇ    !‚Z    Æ=ƒdËÌ\"‚¿:ƒp@Í=‚sÆY……    :ƒ‚    @Í=‚…    ÆYƒÎ    \"‚¿:?†™@Ï>…¦    :?†¦    @Ð>ƒ¸ÑÒÓÔ    \"!    \"\"‚¿Õ ˆÖ    \"‡" [a b t (bigpos bigneg) float 1 0 math-zerop car-safe mod (bigpos bigneg) math-reject-arg "*Division by zero" bigpos math-imod (bigpos bigneg frac float hms) (bigpos bigneg frac float hms) math-sub math-mul math-floor math-div calc-extensions math-mod-fancy] 13))
  181.  
  182. (defun math-pow (a b) (byte-code "ÄÅ\"ƒ ‚]    :ƒ-    @Æ>?…*    @Ç=ƒ'È    8É=‚*Ê    !‚0    É=ƒ™:?†=@Ë>…|:ƒy@Ì=†v@Í=?…v@Î>ƒsÈ8:ƒkÈ8@Ì=‚pÈ8ÉV‚vÏ!‚|ÉVƒÐ!ƒ‹Ñ    !‚Œ    ‚–Ò ˆÓ    \"‚]    È=†¢È=ƒ©    ‚]Ä    Ô\"†´ÄÕ\"ƒ»    ‚]:ƒÝ@Ö>?…Ú@Ç=ƒ×È8É=‚ÚÊ!‚àÉ=ƒ    :?†í    @×>ƒР   !†ùÐ!ƒ؂Ȃ Ò ˆÙ    \"‚]:?†@Ú>…1    :?†%    @Û>†1    :…1    @Ü=ƒVÄ    Ý\"…>Þ!ƒHßÈ\"‚Sà
  183. á\\â    \")!‚]Ò ˆã    \"‡" [b a calc-internal-prec t equal (var nan var-nan) (bigpos bigneg) float 1 0 math-zerop (bigpos bigneg frac float cplx polar hms) bigpos bigneg (frac float) math-posp math-floatp math-float calc-extensions math-pow-of-zero (float 1 0) (float 1 0) (bigpos bigneg) (bigpos bigneg frac float cplx polar hms) (float 1 0) math-pow-zero (bigpos bigneg) (bigpos bigneg frac float cplx polar) vec (float 1 1) integerp math-make-float math-normalize 2 math-ipow math-pow-fancy] 23))
  184.  
  185. (defun math-ipow (a n) (byte-code ":ƒ @Ã=‚ÄWƒ7ÅÆÇ    \":ƒ1@È=ƒ*ÃAB‚.ÈAB‚3[\"‚:?ƒ^    :?†G    @É>…MÊVƒWË    \"‚[Ì    \"‚Í!ƒpÅΠ       \"Ï!\"‚Π   ÅΠ       \"ÏÐÑ\"!\"\"‡" [n a t bigneg 0 math-ipow math-div 1 bigpos (bigpos bigneg frac) 20 math-iipow-show math-iipow math-evenp math-mul math-div2 math-add -1] 17))
  186.  
  187. (defun math-iipow (a n) (byte-code "ÃUƒ
  188. Ă7ÄUƒ    ‚7ÅÆ\"ÃUƒ*ÇÈ        \"ÉÆ\"\"‚7È    ÇÈ        \"ÉÆ\"\"\"‡" [n a t 0 1 % 2 math-iipow math-mul /] 12))
  189.  
  190. (defun math-iipow-show (a n) (byte-code "Å=…
  191. ÆÇ    \"ˆ ÈUƒɂB ÉUƒ    ‚BÊ Ë\"ÈUƒ5ÌÍ        \"Î Ë\"\"‚BÍ    ÌÍ        \"Î Ë\"\"\"Å=…MÆÇ
  192. \"ˆ
  193. )‡" [calc-display-working-message a val n t lots math-do-working "pow" 0 1 % 2 math-iipow-show math-mul /] 13))
  194.  
  195. (defun math-read-radix-digit (dig) (byte-code "ÂVƒÃWƒÁ‚ÄZ‚#ÅYƒ\"ÅZ‚#Á‡" [dig nil 57 65 55 48] 2))
  196.  
  197. (defun report-calc-bug (topic) "\
  198. Report a bug in Calc, the GNU Emacs calculator.
  199. Prompts for bug subject.  Leaves you in a mail buffer." (interactive "sBug Subject: ") (byte-code "ÀˆÄÀ    
  200. #ˆdbˆÅÆ ÇÈ É%ˆÊËÌ!!‡" [nil calc-bug-address topic calc-version mail insert "
  201. In Calc " ", Emacs " emacs-version "
  202.  
  203. " message substitute-command-keys "Type \\[mail-send] to send bug report."] 8))
  204.  
  205. (fset (quote calc-report-bug) (symbol-function (quote report-calc-bug)))
  206.