;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\207" [require calc-ext calc-macs] 2)
(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-said-hello nil)
(defvar calc-keypad-layout '((("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 '(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 '((("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 '((("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 '((("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 '((("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 '(2 calcFunc-mul "*")))) ("MAP^" (lambda nil (interactive) (calc-map '(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 '((("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))))
(defvar calc-keypad-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [calc-keypad-mode-hook variable-documentation put "Hook run after entering Calculator mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp calc-keypad-mode-map definition-name calc-keypad-mode] 4)
(defvar calc-keypad-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\317#\207" [calc-keypad-mode-abbrev-table calc-keypad-mode-map variable-documentation put purecopy "Keymap for `calc-keypad-mode'." boundp calc-keypad-mode-syntax-table definition-name calc-keypad-mode (lambda (#1=#:def-tmp-var) (defvar calc-keypad-mode-syntax-table #1#)) make-syntax-table "Syntax table for `calc-keypad-mode'." (lambda (#1#) (defvar calc-keypad-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `calc-keypad-mode'." derived-mode-parent] 5)
#@166 Major mode for Calc keypad input.

This mode runs the hook `calc-keypad-mode-hook', as the final or
penultimate step during initialization.

\{calc-keypad-mode-map}
(defalias 'calc-keypad-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210.\315\316\317#\210\315\320\317#\210\315\321\322#\210\315\323\324#\210\315\325\326#\210\315\327\326#\210\315\330\326#\210\315\331\326#\210\315\332\326#\210\315\333\326#\210\315\334\326#\210\315\335\326#\210\315\336\326#\210\315\337\326#\210\315\340\326#\210\315\341\326#\210\315\342\343#\210\315\344\345#\210\315\346\347#\210\350\311\351\352#\210\306\353!\210)\354\355!\207" [delay-mode-hooks major-mode mode-name calc-keypad-mode-map calc-keypad-mode-syntax-table calc-keypad-mode-abbrev-table make-local-variable t kill-all-local-variables calc-keypad-mode "Calculator" use-local-map set-syntax-table define-key " " calc-keypad-press "" "	" calc-keypad-menu "q" calc-keypad-off [down-mouse-1] ignore [drag-mouse-1] [double-mouse-1] [triple-mouse-1] [down-mouse-2] [drag-mouse-2] [double-mouse-2] [triple-mouse-2] [down-mouse-3] [drag-mouse-3] [double-mouse-3] [triple-mouse-3] [mouse-3] calc-keypad-right-click [mouse-2] calc-keypad-middle-click [mouse-1] calc-keypad-left-click put mode-class special calc-main-buffer run-mode-hooks calc-keypad-mode-hook local-abbrev-table] 4 (#$ . 5564) nil])
#@43 

(fn &optional FULL-DISPLAY INTERACTIVE)
(defalias 'calc-do-keypad #[512 "\305 \210p\306!\204 \307\310!\211q\210\311 \210\211\312 \210\313 \210\314\211\315\316!\211\262\203+ \317!\210\315\320!\211\262\203E \321 \203A \322\323 !\210\202E \317!\210\315!\211\262\203p \324\316!\210\324\320!\210\324!\210\321 \203h \322\323 !\266\202\317!\266\202\325\326 \262\327!\330W\204\212 \331!\332W\204\212 \203\216 \333!\210\327!\334W\203\232 \335\336!\210\203\310 \337\327!\340ZS\"\262\341\313 \"\210\341\"\210\342\343\"\210\337\344\325#\262\341\"\210\202\356 \337\331!\345Z\346Z\325#\262\341\"\210\342\343\"\210\337\327!\340ZS\"\210\341\"\210\347!\210\350\351!\210\352\353!\210\203\n\203\n\354\346!\210\350\355!\210\325\266\314\211\207" [calc-keypad-buffer calc-main-buffer calc-was-keypad-mode calc-keypad-said-hello calc-keypad-input calc-create-buffer bufferp get-buffer-create "*Calc Keypad*" calc-keypad-mode calc-keypad-redraw calc-trail-buffer nil get-buffer-window "*Calculator*" delete-window "*Calc Trail*" one-window-p switch-to-buffer other-buffer bury-buffer t get-largest-window window-height 23 window-width 44 delete-other-windows 21 error "Screen is not tall enough for this mode" split-window 17 set-window-buffer set-window-start 1 36 29 2 select-window message "Welcome to GNU Emacs Calc!  Use the left and right mouse buttons" run-hooks calc-keypad-start-hook sit-for ""] 9 (#$ . 6945)])
(defalias 'calc-keypad-off #[0 "\203 \301\302!\207\303 \207" [calc-standalone-flag save-buffers-kill-emacs nil calc-keypad] 2 nil nil])
(defalias 'calc-keypad-redraw #[0 "q\210\306\307\n8J\f\"\310\311\312 \210\313c\210\203\312 @\211\203\233 \211@\314Y\203. \315\202D \316U\203C @=\203C A\262\317\202D \314\203U A@\320=\203U \321\202g @GV\203e @\311O\202g @\211G\322Z\323\245\324\"\322ZT\323\245\324\"\325\232\203\210 \326\nT!\202\211 \327\261\266\211A\211\262\204 \313c\210\202 \314Y\203\245 \330\202\260 \316U\203\257 \331\202\260 \332\333U\203\272 \334\202\273 \335\261\210T\262A\262\210\202 )\266\306 \336 \210eb\207" [calc-keypad-buffer buffer-read-only calc-keypad-menu calc-keypad-menus calc-keypad-layout calc-keypad-full-layout t append nil 0 erase-buffer "\n" 4 5 3 9 calc-keypad-off "EXIT" make-string 2 32 "MENU" int-to-string "|" "-----+-----+-----+-----+-----" "-----+---+-+--+--+-+---++----" "----+----+----+----+----+----" 7 "+\n" "|\n" calc-keypad-show-input calc-standalone-flag calc-keypad-prev-input] 13])
(defalias 'calc-keypad-show-input #[0 "	\232\204* \304\212eb\210\305y\210e`|\210\203  \306\307\261\210\202) \310\311T!\307\261\210*\211\207" [calc-keypad-input calc-keypad-prev-input buffer-read-only calc-keypad-menu nil 1 "Calc: " "\n" "----+----+--Calc---+----+----" int-to-string] 3])
(defalias 'calc-keypad-press #[0 "\306=\204\n \307\310!\210\311e\312 \"\211\313\245i\314Y\203 \315\202 \316\245\317\211\211r	q\210\n\262\262\f\262)\320@\211\205N \321\322\"\204L \323X\205N \321\324\"\205N \325\225	A88\203f \203b \314\202o \313\202o \203n \326\202o \3278\206~ \317\211\262\206~ \211A@\211:\205\206 \211@;\320B\203\221 \330\331!\210\332\216\203\240 \f\313\246\325U\203\245 \333 \202;\334 \325V\203\346 \211\203\275 @\325HCB\211C\202;\335\267\202\341 \336CB\211C\202;\337CB\211C\202;\340CB\211C\202;\333 \202;\203s\321\341\"\203s\211\203G\321\342@\"\203G\317@\343\344@P!\345\267\202?\346!\202B\347!\202B\350!\202B\351!\202B\352!\202B\353\354\"\202B\355\354\"\202B\356!\202B\357!\262\202;\360>\203T\317\211@\202;\361\232\203n\362\236\211\262\n\203n	AP\211@\202;\333 \202;\211\203R@\262\363\232\203\215\203\215\321\364\"\204\321\324\232\203\256\203\256	\323X\203\246\321\324\"\204\321\321\365\"\204\321\363\232\204\326\317D\321\366\321\367	\206\302\370\"\203\312\371\202\314\f#)\203\326\333 \202;	\371U?\205\355\203\350\372\232\205\355\373\374\"\203\367\372\232\205\324\232\203\375\202\363\232\205	\203\375\202\376\363\232\203\"\203\"\377\202K\324\232\203J\2039\201G \201H 	\"\203J\f\323V\203J\373\201I \"\202KR\211@\202;\201J =\203\210\203\210\206c\325\317O\325O\321\201K \"\203|\354\317O\202\372PP\211@\266\202\202;\201L =\203\265\203\265\370\232\203\237\333 \202;\325\321\201M \"\206\256\201N O\211@\202;\201O =\203\310\203\310\317\211@\202;\203\376\201P !\317@\211\203\346\330\201Q \201R \"!\210\202\362\370\232\204\357\333 \210\317\262\201S =\203\375\317\262\210EF\205;:\2036@\201T =\2036A\211\262\205;@\250\203)@F\202\201U @!\210\202\202;\201U !*\207" [major-mode calc-main-buffer calc-number-radix calc-prefer-frac calc-inverse-flag calc-hyperbolic-flag calc-keypad-mode error "Must be in *Calc Keypad* buffer for this command" count-lines point-at-bol 2 4 6 5 nil t string-match "\\*[0-9]+\\.\\^" 14 "e" 0 3 99 calc-do #[0 "\300\207" [nil] 1] #[0 "q\210\301 \207" [calc-keypad-buffer calc-keypad-show-input] 1] beep minibuffer-depth #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (calc-pop 195 calc-enter 205 calc-undo 215)) 127 13 7 "STO\\|RCL" "[0-9]" intern "var-q" #s(hash-table size 8 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("STO+" 269 "STO-" 275 "STO*" 281 "STO/" 287 "STO^" 293 "STOn" 299 "STO&" 306 "STO" 313)) calc-store-plus calc-store-minus calc-store-times calc-store-div calc-store-power calc-store-neg 1 calc-store-inv calc-store-into calc-recall (calc-pop calc-undo) "STO" ((calc-plus . "+") (calc-minus . "-") (calc-times . "*") (calc-divide . "/") (calc-power . "^") (calc-change-sign . "n") (calc-inv . "&")) "." "[.:e^]" "\\^\\|[-.:]\\'" "0123456789ABCDEF" "[e^]" "" 10 "-" format "%d#" "1" "0" ":" calc-keypad-input calc-keypad-full-layout calc-is-keypad-press unread-command-events case-fold-search current-prefix-arg prefix-arg string-search "#" "*%d.^" calc-change-sign "\\`-" calc-pop "\\*[0-9]+\\.\\^\\'" -1 calc-undo math-read-number make-closure #[0 "\301\302\303\300!!C!\207" [V0 calc-push-list calc-record calc-normalize] 4] calc-enter progn command-execute] 19 nil nil])
#@69 Handle a left-button mouse click in Calc Keypad window.

(fn EVENT)
(defalias 'calc-keypad-left-click #[257 "rq\210\301\302!!b\210\303 )\207" [calc-keypad-buffer posn-point event-start calc-keypad-press] 4 (#$ . 13203) "e"])
#@70 Handle a right-button mouse click in Calc Keypad window.

(fn EVENT)
(defalias 'calc-keypad-right-click #[257 "rq\210\301 )\207" [calc-keypad-buffer calc-keypad-menu] 2 (#$ . 13436) "e"])
#@71 Handle a middle-button mouse click in Calc Keypad window.

(fn EVENT)
(defalias 'calc-keypad-middle-click #[257 "rq\210\301 )\207" [calc-keypad-buffer calc-keypad-menu-back] 2 (#$ . 13631) "e"])
(defalias 'calc-keypad-menu #[0 "\303=\204\n \304\305!\210	T\nG\246\211\n8J\203\n \306 \207" [major-mode calc-keypad-menu calc-keypad-menus calc-keypad-mode error "Must be in *Calc Keypad* buffer for this command" calc-keypad-redraw] 3 nil nil])
(defalias 'calc-keypad-menu-back #[0 "\303=\204\n \304\305!\210	\nG\\S\nG\246\211\n8J\203\n \306 \207" [major-mode calc-keypad-menu calc-keypad-menus calc-keypad-mode error "Must be in *Calc Keypad* buffer for this command" calc-keypad-redraw] 3 nil nil])
(defalias 'calc-keypad-store #[0 "\301\211\207" [calc-keypad-input "STO"] 2 nil nil])
(defalias 'calc-keypad-recall #[0 "\301\211\207" [calc-keypad-input "RCL"] 2 nil nil])
#@13 

(fn MODE)
(defalias 'calc-pack-interval #[257 "\211\300W\204\f \211\301V\203 \302\303!\210\304\305Z!\207" [0 3 error "Open/close code should be in the range from 0 to 3" calc-pack -6] 4 (#$ . 14514) "p"])
(defalias 'calc-keypad-execute #[0 "\301\302\211\211\212\303 \210\304!\262\305!\262\211\306>\204# \203< \307\310\"\203< \211GSH\311!\210\312\262\313!\314Q\211\262\204 )\315\316!\210\317!\203K \311!\207\320\321\313!\"\207" [last-command-event "Calc keystrokes: " nil calc-select-buffer read-key-sequence key-binding (calc-inverse calc-hyperbolic universal-argument digit-argument negative-argument) string-match "\\`?[-0-9]\\'" command-execute t key-description " " message "" commandp error "Not a Calc command: %s"] 8 nil nil])
(provide 'calc-keypd)
