
(require (quote calc-ext))

(defun calc-Need-calc-keypd nil (byte-code "À‡" [nil] 1))

(defvar calc-keypad-buffer nil)

(defvar calc-keypad-menu 0)

(defvar calc-keypad-full-layout nil)

(defvar calc-keypad-input nil)

(defvar calc-keypad-prev-input nil)

(defvar calc-keypad-prev-x-left-click nil)

(defvar calc-keypad-prev-x-middle-click nil)

(defvar calc-keypad-prev-x-right-click nil)

(defvar calc-keypad-said-hello nil)

(defvar calc-keypad-map nil)

(if calc-keypad-map nil (setq calc-keypad-map (make-sparse-keymap)) (define-key calc-keypad-map " " (quote calc-keypad-press)) (define-key calc-keypad-map "" (quote calc-keypad-press)) (define-key calc-keypad-map "	" (quote calc-keypad-menu)) (define-key calc-keypad-map "q" (quote calc-keypad-off)))

(defun calc-do-keypad (&optional full-display interactive) (byte-code "Ö ˆp	… ×	!†7 ØÙ!‰ˆ	qˆÚ
!ˆÛ‰ˆÜ‰ˆÝÛÞß#ˆàÅ!ˆ‰ˆá ˆâ ˆãäÎÎ	åæ!‰…Q ç!ˆåè!‰…k é ƒg êë !‚k ç!ˆå	!‰ƒÎ ìæ!ˆìè!ˆì	!ˆé ƒ� êë !‚‘ ç!ˆ
…¯ íHî=…¯ ïHð=…¯ ñHò=…Ë íIˆïIˆñ
IˆÎ‰
‚Ðó ‰	ˆô	!õ\\W†ñ ö	!÷\\W†ñ …ø ø	!ˆô	!ù\\W…úû!ˆƒIü	ýô	!ï#\"‰ˆþ	â \"ˆþ	\"ˆÿï\"ˆü�@ \\Ð#‰ˆþ\"‚£Ð†`Š�A 	!qˆi)�B ö ñ\"Wƒwü	ýö	!ñ#Ð#‰‚ƒü	ñ\\Ð#‰	ˆþ	\"ˆÿï\"ˆüýô!ï#\"ˆþ\"ˆ�C 	!ˆ�D =…·
?…ßíHïHñH‰
ˆíîIˆïðIˆñòIˆ�E �F !ˆ�G �H !ˆ……�I ñ!ˆ�E �J !ˆÐ‰,)ˆÎ‰‡" [calcbuf calc-keypad-buffer calc-keypad-map major-mode mode-name calc-main-buffer width height win old-win calc-keypad-prev-x-left-click mouse-map calc-keypad-prev-x-right-click calc-keypad-prev-x-middle-click nil calc-was-keypad-mode t full-display window-system calc-keypad-said-hello interactive calc-keypad-input calc-create-buffer buffer-name get-buffer-create "*Calc Keypad*" use-local-map calc-keypad "Calculator" put mode-class special make-local-variable calc-keypad-redraw calc-trail-buffer 29 17 get-buffer-window "*Calculator*" delete-window "*Calc Trail*" one-window-p switch-to-buffer other-buffer bury-buffer 0 calc-keypad-x-right-click 1 calc-keypad-x-middle-click 2 calc-keypad-x-left-click get-largest-window window-height 6 window-width 15 delete-other-windows 4 error "Screen is not tall enough for this mode" split-window - set-window-buffer set-window-start 3 window-buffer / select-window x message "Welcome to GNU Emacs Calc!  Use the left and right mouse buttons." run-hooks calc-keypad-start-hook sit-for ""] 58))

(defun calc-keypad-off nil (interactive) (byte-code "Áˆƒ ÂÁ!‚ Ã ‡" [calc-standalone-flag nil save-buffers-kill-emacs calc-keypad] 3))

(defun calc-keypad-redraw nil (byte-code "qˆÂ‰ˆÒ8J\"‰ˆÇÓ	Ô ˆÕcˆ…@

…Ô 
@	ÖYƒ? ×‚[ 	ØU…L 
@=ƒZ 
A‰
ˆÙ‚[ Ö…h Ú8Û=ƒo Ü‚† @GVƒƒ @ÓO‚† @GÝÞ\"ZßàÝZÞ\"á\"àÝâã#Þ\"á\"äå\"ƒÁ æT!‚Â ç$-ˆ
A‰
†Ð Õcˆ‚* ˆß	ÖYƒá è‚í 	ØUƒì é‚í ê	ëUƒø ì‚ù í\"ˆ	T	A‰)ˆ‚  +ˆÂ‰ˆî ˆeb‡" [calc-keypad-buffer buffer-read-only t calc-keypad-full-layout calc-keypad-menu calc-keypad-menus calc-keypad-layout nil row y col key cwid name calc-standalone-flag wid pad calc-keypad-prev-input append 0 erase-buffer "
" 4 5 3 9 1 calc-keypad-off "EXIT" / 2 insert make-string 32 - -1 equal "MENU" int-to-string "|" "-----+-----+-----+-----+-----" "-----+---+-+--+--+-+---++----" "----+----+----+----+----+----" 7 "+
" "|
" calc-keypad-show-input] 17))

(defun calc-keypad-show-input nil (byte-code "Æ	\"†. ÃŠebˆÇÈ!ˆÉe`\"ˆƒ\" ÊËÌ#‚, ÊÍÎÏT!Ì%))ˆ‰‡" [calc-keypad-input calc-keypad-prev-input buffer-read-only nil calc-version calc-keypad-menu equal forward-line 1 delete-region insert "Calc: " "
" "----+-----Calc " "-----+----" int-to-string] 11))

(defun calc-keypad-press nil (interactive) (byte-code "Øˆä=† åæ!ˆŠç ˆèe`\")é	ê\"éi
ëYƒ' ì‚( í\"ØØØŠqˆ	
‰ˆ)Î8J…t îï\"†n ðX…n îñ\"…t òó!
88ƒ� ƒŒ ë‚� ê‚š ƒ™ ô‚š õ8†« Ø‰†« ö8:…· @;Î…Ä ÷ø!ˆùŽ?†Ó ú	ê\"óUƒÛ û ‚�ü óVƒ'ƒò @óH‰‚$ý=ƒ þ‰‚$ÿ=ƒ�@ ‰‚$�A =ƒ\"�B ‰‚$û ‚�…3î�C \"ƒF…Cî�D @\"ƒØ‰ˆ�E �F @P!�G �H \"ƒm�I !‚�G �J \"ƒ‚�K !‚�G �L \"ƒ—�M !‚�G �N \"ƒ¬�O !‚�G �P \"ƒÁ�Q !‚�G �R \"ƒ×�S ö\"‚�G �T \"ƒí�U ö\"‚�G �V \"ƒ�W !‚�X !)‚C�Y >ƒØ‰‚C�G �V \"…3�Z �[ \"‰ƒAAP‰‚Cû ‚�ƒw@‰ˆ�G �\\ \"…j…jî�] \"†Ã�G ñ\"…‘…‘ðX…‡îñ\"†‘î�^ \"†Ã�G �\\ \"?…ÃØî�_ î�` †¶�a \"ƒÀ�b ‚Á#)ƒËû ‚t�c �b \"…ð?†å�G �d \"…ð�e �f \"?†ÿ�G �d \"…+�G ñ\"…�g †+�G �\\ \"…+ƒ(�g ‚+�h �G �\\ \"…:ƒC�i ‚p�G ñ\"…`?†Zî�j \"…`ðVƒn�e �k \"‚pR‰‚��l =…‚ƒ»†‹óØOóOî�m \"ƒ­öØO‚³�d PP‰*‚�ý=…Äƒï�G �a \"ƒØû ‚ìóî�n \"†è�o O‰‚��A =…úƒØ‰‚�…C�p ! Ø‰ˆ ƒ#÷�q !‚6�G �a \"†1û ˆØ‰ˆÿ=…BØ‰)ˆ\"‰!ˆ…�:…\\@�r =ƒ‰A‰…†�s @!ƒ{@‰!‚‚�t @!ˆ‚_‚��t !).‡" [major-mode row y x radix frac inv hyp calc-main-buffer calc-number-radix calc-prefer-frac calc-inverse-flag calc-hyperbolic-flag invhyp t menu calc-keypad-menu calc-keypad-menus input calc-keypad-input iexpon key calc-keypad-full-layout cmd nil isstring calc-is-keypad-press unread-command-char var case-fold-search epos suffix val prefix-arg current-prefix-arg calc-keypad-buffer calc-keypad error "Must be in *Calc Keypad* buffer for this command" beginning-of-line count-lines / 2 4 6 5 string-match "\\*[0-9]+\\.\\^" 14 "e" match-end 0 3 99 1 calc-do (lambda nil (byte-code "À‡" [nil] 1)) ((byte-code "qˆÁ ‡" [calc-keypad-buffer calc-keypad-show-input] 2)) % beep minibuffer-depth calc-pop 127 calc-enter 13 calc-undo 7 "STO\\|RCL" "[0-9]" intern "var-q" equal "STO+" calc-store-plus "STO-" calc-store-minus "STO*" calc-store-times "STO/" calc-store-div "STO^" calc-store-power "STOn" calc-store-neg "STO&" calc-store-inv "STO" calc-store-into calc-recall (calc-pop calc-undo) assq ((calc-plus . "+") (calc-minus . "-") (calc-times . "*") (calc-divide . "/") (calc-power . "^") (calc-change-sign . "n") (calc-inv . "&")) "." "[.:e^]" "\\^\\|[-.:]\\'" "0123456789ABCDEF" "[e^]" "" 10 /= "-" format "%d#" "1" "0" ":" "#" "*%d.^" calc-change-sign "\\`-" "\\*[0-9]+\\.\\^\\'" -1 math-read-number (lambda nil (byte-code "ÁÂÃ!!C!‡" [val calc-push-list calc-record calc-normalize] 4)) progn integerp command-execute] 67))

(defun calc-keypad-x-left-click (arg) "\
Handle a left-button mouse click in Calc Keypad window." (byte-code "Å	… Æ	!… Ç	!… È
Ç	!\"‰ƒ- É ÊŽË
!ˆÌ ))‚1 Í
\")‡" [coords calc-keypad-buffer arg win calc-keypad-prev-x-left-click nil buffer-name get-buffer-window coordinates-in-window-p selected-window ((byte-code "Á!…	 Â!‡" [win window-point select-window] 3)) x-mouse-set-point calc-keypad-press funcall] 10))

(defun calc-keypad-x-right-click (arg) "\
Handle a right-button mouse click in Calc Keypad window." (byte-code "… Ã!… Ä!… Å	Ä!\"ƒ# ŠqˆÆ )‚' Ç
	\"‡" [calc-keypad-buffer arg calc-keypad-prev-x-right-click buffer-name get-buffer-window coordinates-in-window-p calc-keypad-menu funcall] 8))

(defun calc-keypad-x-middle-click (arg) "\
Handle a middle-button mouse click in Calc Keypad window." (byte-code "… Ã!… Ä!… Å	Ä!\"ƒ# ŠqˆÆ )‚' Ç
	\"‡" [calc-keypad-buffer arg calc-keypad-prev-x-middle-click buffer-name get-buffer-window coordinates-in-window-p calc-keypad-menu-back funcall] 8))

(defun calc-keypad-menu nil (interactive) (byte-code "ÃˆÄ=† ÅÆ!ˆÇ	T
G\"‰ˆ	
8J?…\" Ãˆ‚ ˆÈ ‡" [major-mode calc-keypad-menu calc-keypad-menus nil calc-keypad error "Must be in *Calc Keypad* buffer for this command" % calc-keypad-redraw] 4))

(defun calc-keypad-menu-back nil (interactive) (byte-code "ÃˆÄ=† ÅÆ!ˆÇ	
G\\S
G\"‰ˆ	
8J?…% Ãˆ‚ ˆÈ ‡" [major-mode calc-keypad-menu calc-keypad-menus nil calc-keypad error "Must be in *Calc Keypad* buffer for this command" % calc-keypad-redraw] 4))

(defun calc-keypad-store nil (interactive) (byte-code "ÁˆÂ‰‡" [calc-keypad-input nil "STO"] 2))

(defun calc-keypad-recall nil (interactive) (byte-code "ÁˆÂ‰‡" [calc-keypad-input nil "RCL"] 2))

(defun calc-pack-interval (mode) (interactive "p") (byte-code "ÁˆÂW† ÃV… ÄÅ!ˆÆÇZ!‡" [mode nil 0 3 error "Open/close code should be in the range from 0 to 3." calc-pack -6] 4))

(defun calc-keypad-execute nil (interactive) (byte-code "ÃˆÈÉÃÃÃŠÊ ˆË!‰ˆÌ!‰ˆÍ>†* 
…* ÎÏ\"ƒI GSH‰ˆÐ!ˆÑÇÒ!ÓQ‰‚L 	=…T Ãˆ‚ )ˆÔÕ!ˆÖ!ƒf Ð!‚l ×ØÒ!\"-‡" [prompt flush prefix nil keys cmd last-command-char t "Calc keystrokes: " x-flush-mouse-queue calc-select-buffer read-key-sequence key-binding (calc-inverse calc-hyperbolic universal-argument digit-argument negative-argument) string-match "\\`?[-0-9]\\'" command-execute not-any-more key-description " " message "" commandp error "Not a Calc command: %s"] 13))

(defvar calc-keypad-layout (quote ((("ENTER" calc-enter calc-roll-down calc-roll-up calc-over) ("ENTER" calc-enter calc-roll-down calc-roll-up calc-over) ("+/-" calc-change-sign calc-inv (progn -4 calc-pack)) ("EEX" ("e") (progn calc-num-prefix calc-pack-interval) (progn -5 calc-pack)) ("UNDO" calc-undo calc-redo calc-last-args) ("<-" calc-pop (progn 0 calc-pop) (progn calc-num-prefix calc-pop))) (("INV" calc-inverse) ("7" ("7") calc-round) ("8" ("8") (progn 2 calc-clean-num)) ("9" ("9") calc-float) ("/" calc-divide (progn calc-inverse calc-power))) (("HYP" calc-hyperbolic) ("4" ("4") calc-ln calc-log10) ("5" ("5") calc-exp calc-exp10) ("6" ("6") calc-abs) ("*" calc-times calc-power)) (("EXEC" calc-keypad-execute) ("1" ("1") calc-arcsin calc-sin) ("2" ("2") calc-arccos calc-cos) ("3" ("3") calc-arctan calc-tan) ("-" calc-minus calc-conj)) (("OFF" calc-keypad-off) ("0" ("0") calc-imaginary) ("." (".") calc-precision) ("PI" calc-pi) ("+" calc-plus calc-sqrt)))))

(defvar calc-keypad-menus (quote (calc-keypad-math-menu calc-keypad-funcs-menu calc-keypad-binary-menu calc-keypad-vector-menu calc-keypad-modes-menu calc-keypad-user-menu)))

(defvar calc-keypad-math-menu (quote ((("FLR" calc-floor) ("CEIL" calc-ceiling) ("RND" calc-round) ("TRNC" calc-trunc) ("CLN2" (progn 2 calc-clean-num)) ("FLT" calc-float)) (("LN" calc-ln) ("EXP" calc-exp) ("" nil) ("ABS" calc-abs) ("IDIV" calc-idiv) ("MOD" calc-mod)) (("SIN" calc-sin) ("COS" calc-cos) ("TAN" calc-tan) ("SQRT" calc-sqrt) ("y^x" calc-power) ("1/x" calc-inv)))))

(defvar calc-keypad-funcs-menu (quote ((("IGAM" calc-inc-gamma) ("BETA" calc-beta) ("IBET" calc-inc-beta) ("ERF" calc-erf) ("BESJ" calc-bessel-J) ("BESY" calc-bessel-Y)) (("IMAG" calc-imaginary) ("CONJ" calc-conj) ("RE" calc-re calc-im) ("ATN2" calc-arctan2) ("RAND" calc-random) ("RAGN" calc-random-again)) (("GCD" calc-gcd calc-lcm) ("FACT" calc-factorial calc-gamma) ("DFCT" calc-double-factorial) ("BNOM" calc-choose) ("PERM" calc-perm) ("NXTP" calc-next-prime calc-prev-prime)))))

(defvar calc-keypad-binary-menu (quote ((("AND" calc-and calc-diff) ("OR" calc-or) ("XOR" calc-xor) ("NOT" calc-not calc-clip) ("LSH" calc-lshift-binary calc-rotate-binary) ("RSH" calc-rshift-binary)) (("DEC" calc-decimal-radix) ("HEX" calc-hex-radix) ("OCT" calc-octal-radix) ("BIN" calc-binary-radix) ("WSIZ" calc-word-size) ("ARSH" calc-rshift-arith)) (("A" ("A")) ("B" ("B")) ("C" ("C")) ("D" ("D")) ("E" ("E")) ("F" ("F"))))))

(defvar calc-keypad-vector-menu (quote ((("SUM" calc-vector-sum calc-vector-alt-sum calc-vector-mean) ("PROD" calc-vector-product nil calc-vector-sdev) ("MAX" calc-vector-max calc-vector-min calc-vector-median) ("MAP*" (lambda nil (interactive) (calc-map (quote (2 calcFunc-mul "*"))))) ("MAP^" (lambda nil (interactive) (calc-map (quote (2 calcFunc-pow "^"))))) ("MAP$" calc-map-stack)) (("MINV" calc-inv) ("MDET" calc-mdet) ("MTRN" calc-transpose calc-conj-transpose) ("IDNT" (progn calc-num-prefix calc-ident)) ("CRSS" calc-cross) ("\"x\"" "xcalc-algebraic-entryx" "xcalc-algebraic-entryy" "xcalc-algebraic-entryz" "xcalc-algebraic-entryt")) (("PACK" calc-pack) ("UNPK" calc-unpack) ("INDX" (progn calc-num-prefix calc-index) "xcalc-index") ("BLD" (progn calc-num-prefix calc-build-vector)) ("LEN" calc-vlength) ("..." calc-full-vectors)))))

(defvar calc-keypad-modes-menu (quote ((("FLT" calc-normal-notation (progn calc-num-prefix calc-normal-notation)) ("FIX" (progn 2 calc-fix-notation) (progn calc-num-prefix calc-fix-notation)) ("SCI" calc-sci-notation (progn calc-num-prefix calc-sci-notation)) ("ENG" calc-eng-notation (progn calc-num-prefix calc-eng-notation)) ("GRP" calc-group-digits "-3xcalc-group-digits") ("" nil)) (("RAD" calc-radians-mode) ("DEG" calc-degrees-mode) ("FRAC" calc-frac-mode) ("POLR" calc-polar-mode) ("SYMB" calc-symbolic-mode) ("PREC" calc-precision)) (("SWAP" calc-roll-down) ("RLL3" (progn 3 calc-roll-up) (progn 3 calc-roll-down)) ("RLL4" (progn 4 calc-roll-up) (progn 4 calc-roll-down)) ("OVER" calc-over) ("STO" calc-keypad-store) ("RCL" calc-keypad-recall)))))
