;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\207" [require calc-ext calc-macs] 2) (defalias 'calc-fdiv #[(arg) "\300\301`\"\207" [calc-do #[nil "\301\302\303\304$\207" [arg calc-binary-op ":" calcFunc-fdiv 1] 5]] 3 nil "P"]) (defalias 'calc-fraction #[(arg) "\300\301`\"\207" [calc-do #[nil "\302 \203 \303\202\n\304 \305=\203 \306\307\310\311\307!\311\312!E#\2020\306\312\310\311\312!\313 \206-\305!E#)\207" [func arg calc-is-hyperbolic calcFunc-frac calcFunc-pfrac 0 calc-enter-result 2 "frac" calc-top-n 1 prefix-numeric-value] 7]] 3 nil "P"]) (defalias 'calc-over-notation #[(fmt) "\300\301!\207" [calc-do #[nil "\302\303\"\2031\304\305\225\306\225U\204\307\310\306\225\"!\311\306\" \305=\203(\312\313!\210\314\315 D\316#)\207\312\317!\207" [fmt n string-match "\\`\\([^ 0-9][^ 0-9]?\\)[0-9]*\\'" nil 0 1 string-to-number substring math-match-substring error "Bad denominator" calc-change-mode calc-frac-format t "Bad fraction separator format"] 4]] 2 nil "sFraction separator: "]) (defalias 'calc-slash-notation #[(n) "\300\301!\207" [calc-do #[nil "\301\302\203\n\303\202 \304\305#\207" [n calc-change-mode calc-frac-format ("//" nil) ("/" nil) t] 4]] 2 nil "P"]) (defalias 'calc-frac-mode #[(n) "\300\301!\207" [calc-do #[nil "\302\301\303\304$\210\305 \203\306\202\307!\207" [n calc-prefer-frac calc-change-mode nil t message "Integer division will now generate fractions" "Integer division will now generate floating-point results"] 5]] 2 nil "P"]) (defalias 'math-make-frac #[(num den) "\211\250\205 \211\303W\262\203\304 !\304!\305 \"\211\306=\2032\306=\203+ \202I\307 E\202I\n\232\203?\310 \n\"\202I\307\310 \n\"\310\n\"E)\207" [den num gcd 0 math-neg math-gcd 1 frac math-quotient] 6]) (defalias 'calc-add-fractions #[(a b) "\242\302=\203< \242\302=\203+\303\304\305A@\306 8\"\305\3068 A@\"\"\305\3068\306 8\"\"\207\303\304A@\305\3068 \"\"\3068\"\207\303\304\305\306 8\" A@\"\306 8\"\207" [a b frac math-make-frac math-add math-mul 2] 6]) (defalias 'calc-mul-fractions #[(a b) "\242\302=\203- \242\302=\203!\303\304A@ A@\"\304\3058\305 8\"\"\207\303\304A@ \"\3058\"\207\303\304 A@\"\305 8\"\207" [a b frac math-make-frac math-mul 2] 6]) (defalias 'calc-div-fractions #[(a b) "\242\302=\203- \242\302=\203!\303\304A@\305 8\"\304\3058 A@\"\"\207\303A@\304\3058 \"\"\207\303\304\305 8\" A@\"\207" [a b frac math-make-frac math-mul 2] 5]) (defalias 'calcFunc-frac #[(a &optional tol) "\204\305 \211:?\206\211@\306=\262\203 \207 @\307>\203( @\310\311 A\"B\207 \211:\205:\211@\312=\205:\3138\305Y\262\203C\314 !\207 \211:\203h\211@\315>\203`\211A@\211\250\205[\211\305W\266\202\202m\316!\262\202m\211\305W\262\203y\317\320\317 !\"!\207 @\312=\204\225\321 !\203\210 \207\322 !\203\220 \207\323 \324\"\207\250\203\267\305X\203\244\n\\\320 \312\325\326 A@!\313 8\\TZE\"\207@\312=\204\332\211:?\206\311\211@\327>\262\203\325\320 \330!\"\207\323\331\"\207\211:\203\377\211@\315>\203\367\211A@\211\250\205\362\211\305W\266\202\202\316!\262\202\211\305W\262\203\320 \317!\"\207\211:\203-\211@\312=\203%\211A@\305=\262\2022\332!\262\2022\211\305=\262\203:\320 \305\"\207\333\334\"\204E\314 !\207 \211:\203d\211@\312=\203\\\211A@\305=\262\202i\332!\262\202i\211\305=\262\203n\305\207\335 \"\336\337\f!*\207" [tol a calc-internal-prec calc-prefer-frac cfrac 0 frac (cplx polar vec hms date sdev intv mod) mapcar #[(x) "\302 \"\207" [x tol calcFunc-frac] 3] float 2 math-trunc (frac float) math-negp math-neg calcFunc-frac math-infinitep math-provably-integerp math-reject-arg numberp 5 math-numdigs (frac float) math-float realp math-zerop math-lessp-float (float 1 0) math-continued-fraction t math-eval-continued-fraction] 7]) (defalias 'math-continued-fraction #[(a tol) "\306\\\307 \307\211 \203X\f\211:\203/\211@\310=\203'\211A@\311=\262\2024\312!\262\2024\211\311=\262\204\224\313\314\315 \316 !\317=\203M\320\321\"\210)\"!\"\204\224\322\f!\315\f\n\"\n B\f\211:\203\204\211@\310=\203|\211A@\311=\262\202\211\312!\262\202\211\211\311=\262\204\f\323\324\f\"\202\f -\207" [calc-internal-prec a int calc-prefer-frac aa cfrac 2 nil float 0 math-zerop math-lessp-float math-abs math-sub math-eval-continued-fraction lots math-do-working "Fractionalize" math-trunc math-div 1 f calc-display-working-message tol] 7]) (defalias 'math-eval-continued-fraction #[(cf) "@\304\305A\211\203\306\307@ \"\n\"  \202\310 \n\"+\207" [cf temp d n 1 nil math-add math-mul math-div] 4]) (defalias 'calcFunc-fdiv #[(a b) "\211\250\206\211:\205\211@\302=\205\3038\304Y\262\203\265 \211\250\2063\211:\2053\211@\302=\2053\3038\304Y\262\203m \211:\203W\211@\302=\203O\211A@\304=\262\202\\\305!\262\202\\\211\304=\262\203d\306\307\"\207\310\311!\311 !\"\207 \242\312=\203\260 A@\211:\203\225\211@\302=\203\215\211A@\304=\262\202\232\305!\262\202\232\211\304=\262\203\242\306\307\"\207\310\313\311!\303 8\" A@\"\207\306 \314\"\207\242\312=\203_ \211\250\206\323\211:\205\323\211@\302=\205\323\3038\304Y\262\203 \211:\203\367\211@\302=\203\357\211A@\304=\262\202\374\305!\262\202\374\211\304=\262\203\306\307\"\207\310A@\313\3038\311 !\"\"\207 \242\312=\203Z A@\211:\203:\211@\302=\2032\211A@\304=\262\202?\305!\262\202?\211\304=\262\203G\306\307\"\207\310\313A@\303 8\"\313\3038 A@\"\"\207\306 \314\"\207\306\314\"\207" [a b float 2 0 math-zerop math-reject-arg "*Division by zero" math-make-frac math-trunc frac math-mul integerp] 6]) (provide 'calc-frac)