%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/calc/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/calc/calc-poly.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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)
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-pcont #[513 "\211:?\206\211@\300>\262\203t\211:\203/\211@\301=\203'\211A@\302=\262\2024\303!\262\2024\211\302=\262\2039\304\207\211:\205K\211@\301=\205K\3058\302Y\262\203T\306!\207\211:?\206_\211@\307>\262\203f\207\232\204p\211\204r\304\207\207@\310=\203\212\311\312A@\"\312\3058\"\"\207@\313=\203\240\314\312A@\"\312\3058\"\"\207@\315=\203\303\3058\211\250\205\262\211\302Y\262\203\303\316\312A@\"\3058\"\207@\317>\203\321\312A@\"\207\211:\203\372\320\"\211\203\370\211GS8\321!\322!\203\362\323!\202\363\211\266\202\202\371\304\207@\324>\203@\312A@\"\211\304=\203\304\202?\312\3058\"\325!\2039@\326=\203*\327!\202-\325!\2039\323\330\"!\202=\330\"\262\207\211\203F\207\304\207" [(frac float cplx polar hms date mod var) float 0 math-zerop 1 2 math-trunc (frac float cplx polar hms date sdev intv mod) * math-mul calcFunc-pcont / math-div ^ math-pow (neg polar) math-is-polynomial math-poly-gcd-list math-guess-if-neg math-neg (+ - cplx sdev) math-negp - math-posp math-poly-gcd] 8 (#$ . 480)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-pprim #[513 "\300\"\301\302\"\203\202\303#\207" [calcFunc-pcont math-equal-int 1 math-poly-div-exact] 7 (#$ . 1619)])
#@15 

(fn EXPR C)
(defalias 'math-div-poly-const #[514 "\242\300>\203@\301A@\"\301\3028\"E\207\303\"\207" [(+ -) math-div-poly-const 2 math-div] 7 (#$ . 1800)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-pdeg #[513 "\211:\203\211@\300=\203\211A@\301=\262\202$\302!\262\202$\211\301=\262\203)\303\207\211\2039\304\"\206<\305\306\"\207\307!\207" [float 0 math-zerop (neg (var inf var-inf)) math-polynomial-p math-reject-arg "Expected a polynomial" math-poly-degree] 5 (#$ . 1973)])
#@13 

(fn EXPR)
(defalias 'math-poly-degree #[257 "\211\211:?\206\211@\300>\262\203\211\242\301=\203\302\207\303\207\211@\304=\203(\305A@!\207\211@\306=\203;\305A@!\305\3078!\\\207\211@\310=\203N\305A@!\305\3078!Z\207\211@\311=\203g\312\3078!\203g\305A@!\3078_\207\211@\313>\203z\305A@!\305\3078!]\207\302\207" [(frac float cplx polar hms date mod var) var 1 0 neg math-poly-degree * 2 / ^ natnump (+ -)] 5 (#$ . 2319)])
#@17 

(fn EXPR VAR)
(defalias 'calcFunc-plead #[514 "\242\300=\203\301\302A@\"\302\3038\"\"\207\242\304=\203,\305\302A@\"\302\3038\"\"\207\242\306=\203G\307\3038!\203G\310\302A@\"\3038\"\207\211:?\206R\211@\311>\262\203a\232\203_\312\207\207\313\"\211A\203r\211GS8\202s\312\207" [* math-mul calcFunc-plead 2 / math-div ^ math-natnump math-pow (frac float cplx polar hms date mod var) 1 math-is-polynomial] 7 (#$ . 2765)])
(defvar math-poly-modulus 1)
#@14 

(fn PN PD)
(defalias 'calcFunc-pgcd #[514 "\302!\203\303\304\"\210\302!\203\303\304\"\210\305\300\"\306\"*\207" [math-poly-modulus calc-prefer-frac math-any-floats math-reject-arg "Coefficients must be rational" t math-poly-gcd] 6 (#$ . 3251)])
#@29 

(fn PN PD &optional BASE)
(defalias 'calcFunc-pdiv #[770 "\303\301\"\304#\211A\211@*\207" [calc-prefer-frac math-poly-modulus calc-poly-div-remainder t math-poly-div] 7 (#$ . 3518)])
#@29 

(fn PN PD &optional BASE)
(defalias 'calcFunc-prem #[770 "\302\300\"\303#A*\207" [math-poly-modulus calc-prefer-frac t math-poly-div] 7 (#$ . 3717)])
#@29 

(fn PN PD &optional BASE)
(defalias 'calcFunc-pdivrem #[770 "\302\301\"\303#\304@AE*\207" [calc-prefer-frac math-poly-modulus t math-poly-div vec] 7 (#$ . 3882)])
#@29 

(fn PN PD &optional BASE)
(defalias 'calcFunc-pdivide #[770 "\302\301\"\303#\304@\305A\"\"*\207" [calc-prefer-frac math-poly-modulus t math-poly-div math-add math-div] 9 (#$ . 4062)])
#@67 Multiply two terms, expanding out products of sums.

(fn LHS RHS)
(defalias 'math-mul-thru #[514 "\242\300>\203@\301A@\"\301\3028\"E\207\211\242\303>\203.\211@\301A@\"\301\3028\"E\207\304\"\207" [(+ -) math-mul-thru 2 (+ -) math-mul] 8 (#$ . 4265)])
#@16 

(fn NUM DEN)
(defalias 'math-div-thru #[514 "\242\300>\203@\301A@\"\301\3028\"E\207\303\"\207" [(+ -) math-div-thru 2 math-div] 7 (#$ . 4536)])
#@58 Sort the terms of a sum into canonical order.

(fn EXPR)
(defalias 'math-sort-terms #[257 "\211\242\300>\203\301\302\303!\304\"!\207\207" [(+ -) math-list-to-sum sort math-sum-to-list #[514 "\300@@\"\207" [math-beforep] 5 "\n\n(fn A B)"]] 5 (#$ . 4698)])
#@12 

(fn LST)
(defalias 'math-list-to-sum #[257 "\211A\203\211@A\203\300\202\301\302A!@@E\207\211@A\203%\303@@!\207\211@@\207" [- + math-list-to-sum math-neg] 4 (#$ . 4964)])
#@27 

(fn TREE &optional NEG)
(defalias 'math-sum-to-list #[513 "\242\300=\203\301A@\"\301\3028\"\244\207\242\303=\203+\301A@\"\301\3028?\"\244\207BC\207" [+ math-sum-to-list 2 -] 6 (#$ . 5152)])
#@83 Check if the polynomial coefficients are modulo forms.

(fn EXPR &optional EXPR2)
(defalias 'math-poly-modulus #[513 "\300!\206\211\203\300!\206\301\207" [math-poly-modulus-rec 1] 4 (#$ . 5365)])
#@13 

(fn EXPR)
(defalias 'math-poly-modulus-rec #[257 "\211\242\300=\203\3018\211\250\205\211\302Y\262\203\300\303\3018E\207\211\242\304>\2052\305A@!\2062\305\3018!\207" [mod 2 0 1 (+ - * /) math-poly-modulus-rec] 5 (#$ . 5575)])
(defvar math-poly-div-base nil)
#@86 Divide two polynomials.  Return (quotient . remainder).

(fn U V &optional DIV-BASE)
(defalias 'math-poly-div #[770 "\211\211\203
\301\"\202\301\302!\302!\")\207" [math-poly-div-base math-do-poly-div calcFunc-expand] 7 (#$ . 5853)])
#@27 

(fn U V &optional BASE)
(defalias 'math-poly-div-exact #[770 "\300#\211A\301=\203\211@\202\302\303E\304\"\207" [math-poly-div 0 math-reject-arg vec "Argument is not a polynomial"] 8 (#$ . 6100)])
#@12 

(fn U V)
(defalias 'math-do-poly-div #[514 "\302!\203\302!\203\303\"\304B\207\304B\207\302!\203K\211\305=\203'\202H\242\306>\203D\307\310A@\"\310\3118\"\312@\313=$\202H\303\"\304B\207\314\"\304U\266\202\203\\\304B\207\315!\203q\315!\203q\316\303\"!\304B\207	\206y\301\"\312\211\211\203\214\317\312\320$\211\262\204\223\304B\202\256\317\312\320$\262\321\"\262\322@\"\322A\"B\207" [math-poly-modulus math-poly-div-base math-constp math-div 0 1 (+ -) math-add-or-sub math-poly-div-exact 2 nil - math-compare math-atomic-factorp math-simplify math-is-polynomial gen math-poly-div-coefs math-build-polynomial-expr] 11 (#$ . 6313)])
#@12 

(fn U V)
(defalias 'math-poly-div-rec #[514 "\302!\203\303\"\207\302!\2039\211\304=\203\207\242\305>\2034\306\307A@\"\307\3108\"\311@\312=$\207\303\"\207\313\"\314U\266\202\203H\207\315!\203[\315!\203[\316\303\"!\207	\203d\303\"\207\301\"\311\211\211\203{\317\311\320$\211\262\204\204\303\"\202\245\317\311\320$\262\321\"\262\322\323@\"\303\323A\"\"\"\207" [math-poly-modulus math-poly-div-base math-constp math-div 1 (+ -) math-add-or-sub math-poly-div-rec 2 nil - math-compare 0 math-atomic-factorp math-simplify math-is-polynomial gen math-poly-div-coefs math-add math-build-polynomial-expr] 12 (#$ . 7008)])
#@82 Divide two polynomials in coefficient-list form.  Return (quot . rem).

(fn U V)
(defalias 'math-poly-div-coefs #[514 "\211\204	\300\301\302\"\207GGW\203\301B\207A\203\234\301\303!\303!\304\305@!@\"\2045\306!\204;B\262A\262\211A\211\262\203W\307@\310@\"\"\240\210\202;A\262\266\203\204!\203\224@\211:\203\205\211@\311=\203}\211A@\312=\262\202\212\306!\262\202\212\211\312=\262\203\224A\262\202a\313\305\"\237B\207\304@@\"C\301B\207" [math-reject-arg nil "Division by zero" reverse math-poly-div-rec math-simplify math-zerop math-sub math-mul-thru float 0 mapcar] 14 (#$ . 7690)])
#@139 Perform a pseudo-division of polynomials.  (See Knuth section 4.6.1.)
This returns only the remainder from the pseudo-division.

(fn U V)
(defalias 'math-poly-pseudo-div #[514 "\211\204\300\207GGW\203\207A\204\211A\203\235\301!\301!\300\262A\262\211A\211\262\203F\302\303@@\"\303@@\"\"\240\210\202%A\262\262\203d\211\203!\211\303@@\"\240\210\211A\262\202P\203\227@\211:\203\210\211@\304=\203\200\211A@\305=\262\202\215\306!\262\202\215\211\305=\262\203\227A\262\202d\307\310\"\237\207\300\207" [nil reverse math-sub math-mul-thru float 0 math-zerop mapcar math-simplify] 12 (#$ . 8332)])
#@60 Compute the GCD of two multivariate polynomials.

(fn U V)
(defalias 'math-poly-gcd #[514 "\300\"\301U\266\202\203\207\302!\203D\211:\2034\211@\303=\203,\211A@\301=\262\2029\304!\262\2029\211\301=\262\203=\207\305\306!\"\207\302!\203y\211\211:\203i\211@\303=\203a\211A@\301=\262\202n\304!\262\202n\211\301=\262\203r\207\305\306!\"\207\307\"\211\203\235\310\311\312\313\314\315\316$\314\315\316$\"\"!!\202\245\305\306!\306!\"\207" [math-compare 0 math-constp float math-zerop calcFunc-gcd calcFunc-pcont math-poly-gcd-base math-simplify calcFunc-expand math-build-polynomial-expr math-poly-gcd-coefs math-is-polynomial nil gen] 13 (#$ . 8979)])
#@14 

(fn LST A)
(defalias 'math-poly-div-list #[514 "\211\300=\203\207\211\301=\203\302\"\207\303\304\305\306\307\310!\311\"\312\313%\"\207" [1 -1 math-mul-list mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [math-poly-div-exact] 4 "\n\n(fn X)"] 9 (#$ . 9678)])
#@14 

(fn LST A)
(defalias 'math-mul-list #[514 "\211\300=\203\207\211\301=\203\302\303\"\207\211\304=?\205*\302\305\306\307\310\311!\312\"\313\314%\"\207" [1 -1 mapcar math-neg 0 make-byte-code 257 "\301\300\"\207" vconcat vector [math-mul] 4 "\n\n(fn X)"] 9 (#$ . 9965)])
#@12 

(fn LST)
(defalias 'math-poly-gcd-list #[257 "\300>\204\f\301>\203\302!\207\211@A\211\262\2031\211\300=\2041@\303=\204\304@\"\262\202\203:\302!\262\211\207" [1 -1 math-poly-gcd-frac-list 0 math-poly-gcd] 5 (#$ . 10252)])
#@12 

(fn LST)
(defalias 'math-poly-gcd-frac-list #[257 "\211\203\211@\242\300=\204\211A\262\202\211\203<\301@8A\211\262\2037@\242\300=\203\302\301@8\"\262\202\300\303E\207\303\207" [frac 2 calcFunc-lcm 1] 6 (#$ . 10503)])
#@12 

(fn U V)
(defalias 'math-poly-gcd-coefs #[514 "\300\301!\301!\"\302\211\303\304\211\203z\203z@\211:\2038\211@\305=\2030\211A@\303=\262\202=\306!\262\202=\211\303=\262\203z@\211:\203a\211@\305=\203Y\211A@\303=\262\202f\306!\262\202f\211\303=\262\203zA\262A\262T\262\202
\302=\204\220\307\"\262\307\"\262GGZ\262\211\303W\203\256\262\262\262\211[\262\310\"\262A\203\262\307\311\312\"\"\"\262GS8\262\211\302X\203\356\311\312\"\312\302Z\"\"\202\373\313\312\"\312S\"\"\262\202\220\203	C\202\314\307\301\n!\"\"\262\315GS8!\203*\314\316\"\262S\211\262\303Y\203=\303B\262\202*\207" [math-poly-gcd math-poly-gcd-list 1 0 nil float math-zerop math-poly-div-list math-poly-pseudo-div math-mul math-pow math-poly-div-exact math-mul-list math-guess-if-neg -1] 15 (#$ . 10749)])
#@72 Return true if is a factor containing no sums or quotients.

(fn EXPR)
(defalias 'math-atomic-factorp #[257 "\211\242\300=\203\301A@!\205,\301\3028!\207\211\242\303>\203\304\207\211\242\305>\203+\301A@!\207\306\207" [* math-atomic-factorp 2 (+ - /) nil (^ neg) t] 4 (#$ . 11655)])
#@284 Find a suitable base for dividing a by b.
The base must exist in both expressions.
The degree in the numerator must be higher or equal than the
degree in the denominator.
If the above conditions are not met the quotient is just a remainder.
Return nil if this is the case.

(fn A B)
(defalias 'math-poly-div-base #[514 "\300\211\301!\211\262\205A\301!\211\262\205A\3022A\205@\303@@\"\211\2038@A@A@Y\2038\304\302@@\"\210\210A\262\2020\207" [nil math-total-polynomial-base return assoc throw] 8 (#$ . 11952)])
#@246 Same as `math-poly-div-base' but for gcd algorithm.
Here there is no requirement that degree(a) > degree(b).
Take the base that has the highest degree considering both a and b.
  ("a^20+b^21+x^3+a+b", "a+b^2+x^5+a^22+b^10") --> (a 22)

(fn A B)
(defalias 'math-poly-gcd-base #[514 "\300\211\301!\211\262\205a\301!\211\262\205a\3022a\205`\211\205`@A@@A@V\203F\303@@\"\203?\304\302@@\"\210\202A\262\202\303@@\"\203Y\304\302@@\"\210\202\211A\262\2020\207" [nil math-total-polynomial-base return assoc throw] 7 (#$ . 12487)])
#@44 Sort a list of polynomial bases.

(fn LST)
(defalias 'math-sort-poly-base-list #[257 "\300\301\"\207" [sort #[514 "A@A@V\206A@A@U\205\300@@\"\207" [math-beforep] 5 "\n\n(fn A B)"]] 4 (#$ . 13047)])
#@13 

(fn EXPR)
(defalias 'math-total-polynomial-base #[257 "\302\303\304\"\210\305	!*\207" [math-poly-base-top-expr math-poly-base-total-base nil math-polynomial-base math-polynomial-p1 math-sort-poly-base-list] 4 (#$ . 13262)])
#@16 

(fn SUBEXPR)
(defalias 'math-polynomial-p1 #[257 "\303\"\204/\211@\304>\204/\211@\305=\203\306\3078!\204/\211\310\n\"\211\203-DB)\210\311\207" [math-poly-base-total-base math-poly-base-variable math-poly-base-top-expr assoc (+ - * / neg) ^ natnump 2 math-polynomial-p nil] 4 (#$ . 13498)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-factors #[513 "\211\205\304\304\211\211\204\305!\262\306\3072\310!)0\206#!\311\211\242\312=\262\2033\2029\312\211\313ED!\262+\207" [calc-prefer-frac math-to-list math-factored-vars math-fact-expr t math-polynomial-base math-factor-finish factor math-factor-expr-try math-simplify vec 1] 8 (#$ . 13811)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-factor #[513 "\304\211\305\306\307\203 \305\3102\311!0\206*\202#\312!!!+\207" [calc-prefer-frac math-to-list math-factored-vars math-fact-expr nil t math-simplify math-factor-finish factor math-factor-expr-try math-factor-expr] 6 (#$ . 14190)])
#@10 

(fn X)
(defalias 'math-factor-finish #[257 "\211\211:?\206\211@\300>\262\203\207\211@\301=\203\302A@!\207\211@\303\302A\"B\207" [(frac float cplx polar hms date mod var) calcFunc-Fac-Prot math-factor-finish mapcar] 5 (#$ . 14503)])
#@10 

(fn X)
(defalias 'math-factor-protect #[257 "\211\242\300>\203\301D\207\207" [(+ -) calcFunc-Fac-Prot] 3 (#$ . 14752)])
#@13 

(fn EXPR)
(defalias 'math-factor-expr #[257 "\303=\203\207\211\242\304>\204\211\242	\236\203\211@\305\306A\"B\207\211\242\307>\203?\31022\211\311!)0\211\203<\306!\202=)\207\207" [math-factored-vars calc-tweak-eqn-table math-fact-expr t (* / ^ neg) mapcar math-factor-expr (+ -) factor math-factor-expr-part] 5 (#$ . 14883)])
#@10 

(fn X)
(defalias 'math-factor-expr-part #[257 "\211\242\302>\203\211A\211\262\205E\303@!\210\202\211\211:?\206\"\211@\304>\262?\205E\305\"?\205E\306	\"\307V\205E\211CB\211\205E\310!\207" [math-factored-vars math-fact-expr (+ - * / ^ neg) math-factor-expr-part (frac float cplx polar hms date sdev intv mod vec) assoc math-factor-contains 1 math-factor-expr-try] 4 (#$ . 15234)])
#@10 

(fn X)
(defalias 'math-factor-expr-try #[257 "\242\303=\203>\3042A@\305!)0\3042!\3068\305!)0\204)\211\205=\307\304\310\2063A@\311\206;\3068#\"\207\312\313\314$\301!\315A\205^\316!)\211\262\205^\307\304\")\207" [math-fact-expr math-poly-modulus math-fet-x * factor math-factor-expr-try 2 throw math-accum-factors 1 math-is-polynomial 30 gen nil math-factor-poly-coefs] 10 (#$ . 15640)])
#@21 

(fn FAC POW FACS)
(defalias 'math-accum-factors #[771 "\203\304\211\242\301=\262\203*A\211\262\203)\302@A@\303@8_#\262\202\207\242\304=\203E\305\3038!\203E\3038_\262A@\262\306=\203L\207\211\211\242\301=\262\204h\211\306=\203`\307\202f\301\211\306ED\262\211\211A\211\262\203z@A@\232\203i\211\203\216\211@AA\303@8\\\240\210\202\303A\203\272A@A@\211:?\206\242\211@\310=\262\203\272\301A@\301EAABBB\202\303\301\211EABB\207\311\312\"\313!\"\207" [math-to-list vec math-accum-factors 2 ^ natnump 1 (vec) frac math-mul math-pow math-factor-protect] 9 (#$ . 16066)])
#@32 

(fn P &optional SQUARE-FREE)
(defalias 'math-factor-poly-coefs #[513 "\303\211\211A\204@\206\304\202@\211:\2031\211@\305=\203)\211A@\304=\262\2026\306!\262\2026\211\304=\262\203\227\304\203q@\211:\203^\211@\305=\203V\211A@\304=\262\202c\306!\262\202c\211\304=\262\203q\211T\262A\262\202:A\203\201\307\"\262\202\212\310\311@!!\262\312\313	!#\262\202\204\312\314\315!\316GS8!\203\260\317\202\261\320\"\211\262\320=\204\312\312\320\307\321	\"\322\"#\202AA\204\355\310\323\313\310\311	@!!!\314\313\310\311\fA@!!!\"\"!\202\211\203$\211@\211:?\206\376\211@\324=\262\204\211@@\325=\203$\326@A@!\203$\326\327@8!\203$\211A\262\202\356\211\262\203u\330\331\332BE\333\"\211\242\334=\203k\211G\335U\203k\3278\211\242\332=\262\203k\320\3278\211A\211\262\203e\312@\320#\262\202R\266\202\206p\336\"\262\202	\320=\203\316\337=\204\223\340\341!\211\262\"\211\262\342\232\2038\303\343\303\337#)\211\262\2031@\344GS8!\203\264\317\202\265\320\320\3278\203@@@A\312\203\361\345\"\346\"\262\323\211\314\347\327\"\"\314\211\"\"\"\314\"\"\262\202\345!\346\"\262\323\314\"\314\"\"\262\320#\262A\262\266\202\272\312\320\314\336\350
A@\"\"\"#\211\262\266\204\202\336\"\202\315!\344GS8!\203K\317\202L\320\350\"\303\351	\"@\351\"@\352\353\354\320\341!\317$!\211\262\n!\204\221\340	\"\262	B\262\351\n\"@\262\351\n\"@\262\202]G\262	\312\307\337\"\nT\320#\262\203\276\312\307@\337\"\n\n#\262S\262	A\262\202\241\312\314\"\320\n#\266\206\202\340\341!\"\211\262GGU\203\n\211@\262\211A\203\370\327	8\233\262\211@B\262\202\343\307!\211\262\205\347\327	8\"\202\355\303\356\"\207" [math-fet-x math-poly-modulus calc-symbolic-mode nil 0 float math-zerop math-factor-poly-coefs math-sort-terms math-factor-expr math-accum-factors math-factor-protect math-mul math-poly-gcd-list math-guess-if-neg -1 1 math-poly-div-list cont math-add frac mod Math-integerp 2 math-rewrite calcFunc-thecoefs vec (var FactorRules var-FactorRules) calcFunc-thefactors 3 math-build-polynomial-expr t math-poly-gcd-coefs math-poly-deriv-coefs (1) math-poly-all-roots math-negp math-lcm-denoms math-div math-pow math-mul-list math-poly-div-coefs math-poly-zerop math-poly-simplify math-poly-mix math-reject-arg "*Modulo factorization not yet implemented"] 20 (#$ . 16695)])
#@10 

(fn P)
(defalias 'math-poly-deriv-coefs #[257 "\300\301A\211\262\203\302@\"B\262T\262\202\211\237\207" [1 nil math-mul] 6 (#$ . 19179)])
#@12 

(fn X A)
(defalias 'math-factor-contains #[514 "\232\203\300\207\242\301>\203&\302A\211\262\203$\211\303@\"\\\262\202\211\207\242\304=\203@\305\3068!\203@\303A@\"\3068_\207\302\207" [1 (+ - * / neg) 0 math-factor-contains ^ natnump 2] 7 (#$ . 19336)])
#@13 

(fn EXPR)
(defalias 'calcFunc-nrat #[257 "\302!\203\303!\262\211\211\242\304=\262\204\211\242\236\203%\211@\305\306A\"B\207\307\310!\311\312\313@!!!\311\312\313A!!!\314\"\211\315=\204d\316\"\316\"A\317=\203b\211A\317=\203b@\262\211@\262\266\311\320\"!)\207" [calc-tweak-eqn-table calc-prefer-frac math-any-floats calcFunc-pfrac vec mapcar calcFunc-nrat t math-to-ratpoly math-simplify math-sort-terms calcFunc-expand math-poly-gcd 1 math-poly-div 0 math-div] 9 (#$ . 19617)])
#@13 

(fn EXPR)
(defalias 'math-to-ratpoly #[257 "\300!\301@!\301A!B\207" [math-to-ratpoly-rec math-simplify] 5 (#$ . 20132)])
#@13 

(fn EXPR)
(defalias 'math-to-ratpoly-rec #[257 "\211\211:?\206\211@\300>\262\203\211\301B\207\211@\302>\203\322\303A@!\303\3048!AA\232\203:@@@EAB\202\321A\301=\203R@\305@A\"@EAB\202\321\211A\301=\203j@@\305@A\"EAB\202\321\306AA\"\211\301=?\205|\307A\"\301=?\205\214\307\305@A\"\"A\310=\203\261\211A\310=\203\261@@\305@@\"E\305@A\"B\202\315@\305@A\"\305@A\"E\305AA\"B\266\202\262\207\211@\311=\203\303A@!\303\3048!\305\306@A\"\306A@\"\"\211\301=\203\305@@\"\305AA\"B\202\312\305@@\"\"\312\305AA\"\"B\207\211@\313=\203|\303A@!\303\3048!A\301=\203B\211A\301=\203B@@B\202{\305\306@@\"\306AA\"\"\211\301=\203f\305@A\"\305A@\"B\202y\312\305@A\"\"\312\305A@\"\"B\262\207\211@\314=\203\273\3048\250\203\273\303A@!\3048\310V\203\251\315@\3048\"\315A\3048\"B\202\272\315A\3048[\"\315@\3048[\"B\207\211@\316=\203\317\303A@!\317@!AB\207\211\301B\207" [(frac float cplx polar hms date mod var) 1 (+ -) math-to-ratpoly-rec 2 math-mul math-poly-gcd math-poly-div 0 * math-poly-div-exact / ^ math-pow neg math-neg] 11 (#$ . 20264)])
#@27 

(fn EXPR &optional VAR)
(defalias 'math-ratpoly-p #[513 "\232\203\300\207\211:?\206\211@\301>\262\203\302\207@\303>\203<\304A@\"\305\205;\304\3068\"\211\262\205;]\207@\307=\203^\304A@\"\305\205]\304\3068\"\211\262\205]\\\207@\310=\203l\304A@\"\207@\311=\203\216\304A@\"\305\205\215\304\3068\"\211\262\205\215Z\207@\312=\203\254\3068\250\203\254\304A@\"\211\205\253\211\3068_\207\211\204\262\300\207\313\"\203\273\305\207\302\207" [1 (frac float cplx polar hms date mod var) 0 (+ -) math-ratpoly-p nil 2 * neg / ^ math-poly-depends] 7 (#$ . 21423)])
#@27 

(fn EXPR &optional VAR)
(defalias 'calcFunc-apart #[513 "\211:?\206\211@\301>\262\203\207@\302=\203(\303\304A@\"\304\3058\"\"\207@\306=\203>\307\304A@\"\304\3058\"\"\207\211\203N\310\"\204N\311\312\"\207\313\314!\211@A\204`\315!\262\310\"\204n\311\312\"\202\230\316\"\211@A\303\203\220\317\n\"\203\220\320#\206\225\321\"\"\266\203)\207" [calc-prefer-frac (frac float cplx polar hms date mod var) + math-add calcFunc-apart 2 - math-sub math-ratpoly-p math-reject-arg "Expected a rational function" t math-to-ratpoly math-polynomial-base math-poly-div math-expr-contains math-partial-fractions math-div] 14 (#$ . 22042)])
#@204 Return a polynomial as list of coefficients.
If EXPR is of the form "a + bx + cx^2 + ..." in the variable VAR, return
the list (a b c ...) with at least DEG elements, else return NIL.

(fn EXPR VAR DEG)
(defalias 'math-padded-polynomial #[771 "\300#\301\302GZ\303\"\"\207" [math-is-polynomial append make-list 0] 9 (#$ . 22727)])
#@205 Return R divided by DEN expressed in partial fractions of VAR.
All whole factors of DEN have already been split off from R.
If no partial fraction representation can be found, return nil.

(fn R DEN VAR)
(defalias 'math-partial-fractions #[771 "\301\"\302\"\303\304\303\305S\304\"\306G\307U\205#\307A@8\310=?\205KA\211\262\203\340\307@8\302@A@\n\"\303\211\211\304V\203\333\262\304\262\211\304V\203\217\311\312\313	$\262\304B\262A\262\211S\262\314\315\316\"\"\"\262\211SU\205\207\316\n@A@\"	B\262	\202K\310A\211\262\203\264\f=\204\222\315\316@A@\307@8\"\"\262\202\222\315\"\262\266\314\315\316@A@\307@8Z\"\"\"\262S\262\202?\266\202'\317\320\321\f\n#B\322\320\323\324\325\326\327\330\"\331\"\332\333%A\"B!\"\262\211\242\320=\262\205K\304\303\237\262\203F@B\262A\262@\203?\334\237\"\262\314\317	@\"\"\262\303\262A\262\202\335!\266\202)\207" [calc-matrix-mode calcFunc-factors math-polynomial-p nil 0 make-list scalar 2 1 append (vec) (1) math-add math-mul math-pow math-div vec math-padded-polynomial math-transpose mapcar make-byte-code 257 "\302\303\300\301#B\207" vconcat vector [vec math-padded-polynomial] 6 "\n\n(fn X)" math-build-polynomial-expr math-normalize] 23 (#$ . 23070)])
#@13 

(fn EXPR)
(defalias 'math-expand-term #[257 "\211\242\302=\203.\211A@\242\303>\203.\304\302A@A@\3058E\302\305A@8\3058E\306A@@\307=$\207\211\242\302=\203]\3058\242\310>\203]\304\302A@\3058A@E\302A@\305\21188E\306\3058@\307=$\207\211\242\311=\203\213\211A@\242\312>\203\213\304\311A@A@\3058E\311\305A@8\3058E\306A@@\307=$\207\211\242\313=\203{\211A@\242\314>\203{\3058\250\203{\315A@A@!\204\324\315\305A@8!\204\324\2032\316=\2042\317A@A@!\203\324\317\305A@8!\2042\3058\320V\2032\3058\305U\203\304\302A@A@A@E\302\305A@8A@E\306A@@\307=$\202x\304\302A@A@\313A@\3058SEE\302\305A@8\313A@\3058SEE\306A@@\307=$\202x\3058\321V\203d	\322V\204F	\323W\203S\324A@\3058\306\325$\206|\302A@\313A@\3058SEE\202x\3058\321W\203{\311\320\313A@\3058[EE\206|\211\207" [calc-matrix-mode math-mt-many * (+ -) math-add-or-sub 2 nil - (+ -) / (+ -) ^ (+ -) math-known-matrixp scalar math-known-scalarp 1 0 500000 -500000 math-expand-power t] 9 (#$ . 24383)])
#@28 

(fn EXPR &optional MANY)
(defalias 'calcFunc-expand #[513 "\300\301\302#!\207" [math-normalize math-map-tree math-expand-term] 7 (#$ . 25399)])
#@35 

(fn X N &optional VAR ELSE-NIL)
(defalias 'math-expand-power #[1026 "\300!\203e\242\301>\203e\302\211\242\303>\2036@\304=\203&\305\3068!\202*\3068B\262A@\262\202B\262\203n\211\203a\307@\"\204Z\310@\"\262\211@B\262\211A\262\202@\203m\311\312\"B\262\210G\306U\203\253\313\211X\203\246\314\315\316\n\"\315\317	A@E\317\n@\nZEEEE\262T\262\202w\262\202`\306U\203\355\313\302\203\347\314\317@\306EE\262\262\211A\211\262\203\340\314\315\306\315@@EEE\262\202\305A\262\202\264\266\203\202`\320U\205`\313\302\211\203]\314\317@\320EE\262\262A\211\262\203V\314\211\315\320\315\317	@\306E@EEE\315\320\315@\317@\306EEEE\262\262\211A\211\262\203\314\315\321\315@\315@@EEEE\262\2026A\262\202\367\266\204\266\202\206n\211?\205n\317E\207" [natnump (+ -) nil (+ -) - math-neg 2 math-expr-contains delq apply calcFunc-add 0 + * calcFunc-choose ^ 3 6] 19 (#$ . 25553)])
#@12 

(fn X N)
(defalias 'calcFunc-expandpow #[514 "\300\301\"!\207" [math-normalize math-expand-power] 6 (#$ . 26542)])
(provide 'calc-poly)

Zerion Mini Shell 1.0