MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.191.209.202
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/calc/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/calc/calc-poly.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:45 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/calc/calc-poly.el
;;; in Emacs version 24.3.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 'calcFunc-pcont #[(expr &optional var) "\211:?\206\f	@\306>)\203x\211:\2034	@\307>?\2057	@\310=\203.	A@\311=\2027\312	!\2027	\311=)\203=\313\207\211:\205P	@\310=\205P\314	8\311Y)\203X\315!\207\211:?\206d	@\316>)\203j\207\n\232\204t\n\204v\313\207\207@\317=\203\216\320\321A@\n\"\321\3148\n\"\"\207@\322=\203\244\323\321A@\n\"\321\3148\n\"\"\207@\324=\203\316\3148\211:\203\273	@\325=\202\276	\311Y)\203\316\326\321A@\n\"\3148\"\207@\327>\203\334\321A@\n\"\207\n:\203\330\n\"\211\203GS8\331!\332
!\203\333\f!\202\f*\202\313)\207@\334>\203U\321A@\n\"\211\313=\203 \313\202S\321\3148\n\"!\335\f!\203M@\336=\203<\337!!\202@\335!!\203M\333\340\f!\"!\202R\340\f!\"))\207\n\203[\207\313\207" [expr a var p cont lead (bigpos bigneg frac float cplx polar hms date mod var) (bigpos bigneg) float 0 math-zerop 1 2 math-trunc (bigpos bigneg frac float cplx polar hms date sdev intv mod) * math-mul calcFunc-pcont / math-div ^ bigpos 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 c2] 6])
(defalias 'calcFunc-pprim #[(expr &optional var) "\303	\"\304\n\305\"\203\202\306\n	#)\207" [expr var cont calcFunc-pcont math-equal-int 1 math-poly-div-exact] 4])
(defalias 'math-div-poly-const #[(expr c) "\242\302>\203@\303A@	\"\303\3048	\"E\207\305	\"\207" [expr c (+ -) math-div-poly-const 2 math-div] 5])
(defalias 'calcFunc-pdeg #[(expr &optional var) "\211:\203$	@\303>?\205'	@\304=\203	A@\305=\202'\306	!\202'	\305=)\203-\307\207\n\203=\310\n\"\206@\311\312\"\207\313!\207" [expr a var (bigpos bigneg) float 0 math-zerop (neg (var inf var-inf)) math-polynomial-p math-reject-arg "Expected a polynomial" math-poly-degree] 4])
(defalias 'math-poly-degree #[(expr) "\211:?\206\f	@\302>)\203\242\303=\203\304\207\305\207@\306=\203(\307A@!\207@\310=\203;\307A@!\307\3118!\\\207@\312=\203N\307A@!\307\3118!Z\207@\313=\203g\314\3118!\203g\307A@!\3118_\207@\315>\203z\307A@!\307\3118!]\207\304\207" [expr a (bigpos bigneg frac float cplx polar hms date mod var) var 1 0 neg math-poly-degree * 2 / ^ natnump (+ -)] 5])
(defalias 'calcFunc-plead #[(expr var) "\242\304=\203\305\306A@	\"\306\3078	\"\"\207\242\310=\203,\311\306A@	\"\306\3078	\"\"\207\242\312=\203G\313\3078!\203G\314\306A@	\"\3078\"\207\211:?\206S\n@\315>)\203a	\232\203_\316\207\207\317	\"\211A\203sGS8\202t\316)\207" [expr var a p * math-mul calcFunc-plead 2 / math-div ^ math-natnump math-pow (bigpos bigneg frac float cplx polar hms date mod var) 1 math-is-polynomial] 6])
(defvar math-poly-modulus 1)
(defalias 'calcFunc-pgcd #[(pn pd) "\304!\203\305\306\"\210\304	!\203\305	\306\"\210\307\302	\"\310	\"*\207" [pn pd math-poly-modulus calc-prefer-frac math-any-floats math-reject-arg "Coefficients must be rational" t math-poly-gcd] 4])
(defalias 'calcFunc-pdiv #[(pn pd &optional base) "\306\303	\n\"\307	\n\f#\211A
@+\207" [calc-prefer-frac pn pd math-poly-modulus base res t math-poly-div calc-poly-div-remainder] 5])
(defalias 'calcFunc-prem #[(pn pd &optional base) "\305\302	\"\306	\f#A*\207" [pn pd math-poly-modulus calc-prefer-frac base t math-poly-div] 4])
(defalias 'calcFunc-pdivrem #[(pn pd &optional base) "\306\303	\n\"\307	\n\f#\310
@
AE+\207" [calc-prefer-frac pn pd math-poly-modulus base res t math-poly-div vec] 4])
(defalias 'calcFunc-pdivide #[(pn pd &optional base) "\306\303	\n\"\307	\n\f#\310
@\311
A\n\"\"+\207" [calc-prefer-frac pn pd math-poly-modulus base res t math-poly-div math-add math-div] 5])
(defalias 'math-mul-thru #[(lhs rhs) "\242\302>\203@\303A@	\"\303\3048	\"E\207	\242\305>\203.	@\303	A@\"\303\304	8\"E\207\306	\"\207" [lhs rhs (+ -) math-mul-thru 2 (+ -) math-mul] 6])
(defalias 'math-div-thru #[(num den) "\242\302>\203@\303A@	\"\303\3048	\"E\207\305	\"\207" [num den (+ -) math-div-thru 2 math-div] 5])
(defalias 'math-sort-terms #[(expr) "\242\301>\203\302\303\304!\305\"!\207\207" [expr (+ -) math-list-to-sum sort math-sum-to-list #[(a b) "\302@	@\"\207" [a b math-beforep] 3]] 4])
(defalias 'math-list-to-sum #[(lst) "A\203@A\203\301\202\302\303A!@@E\207@A\203%\304@@!\207@@\207" [lst - + math-list-to-sum math-neg] 3])
(defalias 'math-sum-to-list #[(tree &optional neg) "\242\302=\203\303A@	\"\303\3048	\"\244\207\242\305=\203+\303A@	\"\303\3048	?\"\244\207	BC\207" [tree neg + math-sum-to-list 2 -] 4])
(defalias 'math-poly-modulus #[(expr &optional expr2) "\302!\206	\203\302	!\206\303\207" [expr expr2 math-poly-modulus-rec 1] 2])
(defalias 'math-poly-modulus-rec #[(expr) "\242\302=\203%\3038\211:\203	@\304=\202	\305Y)\203%\302\306\3038E\207\242\307>\2059\310A@!\2069\310\3038!\207" [expr a mod 2 bigpos 0 1 (+ - * /) math-poly-modulus-rec] 5])
(defvar math-poly-div-base nil)
(defalias 'math-poly-div #[(u v &optional math-poly-div-base) "\203	\303	\n\"\207\303\304	!\304\n!\"\207" [math-poly-div-base u v math-do-poly-div calcFunc-expand] 4])
(defalias 'math-poly-div-exact #[(u v &optional base) "\304	\n#\211A\305=\203@\202\306\307	E\310\")\207" [u v base res math-poly-div 0 math-reject-arg vec "Argument is not a polynomial"] 5])
(defalias 'math-do-poly-div #[(u v) "\306!\203\306	!\203\307	\"\310B\207\310B\207\306	!\203K	\311=\203'\202H\242\312>\203D\313\314A@	\"\314\3158	\"\316@\317=$\202H\307	\"\310B\207	\320\n\"\310U*\203]\f\310B\207\321!\203r\321	!\203r\322\307	\"!\310B\207
\206z\305	\"\316\211\211\211\203\226\323	\316\324$\211\204\234\310B\202\274\323\316\324$\325\"\326@\"\326A\"B,\207" [u v b a 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 res up vp base] 7])
(defalias 'math-poly-div-rec #[(u v) "\306!\203\307	\"\207\306	!\2039	\310=\203\207\242\311>\2034\312\313A@	\"\313\3148	\"\315@\316=$\207\307	\"\207	\317\n\"\320U*\203I\f\207\321!\203\\\321	!\203\\\322\307	\"!\207
\203e\307	\"\207\305	\"\315\211\211\211\203\205\323	\315\324$\211\204\214\307	\"\202\260\323\315\324$\325\"\326\327@\"\307\327A\"	\"\",\207" [u v b a 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 res up vp base] 7])
(defalias 'math-poly-div-coefs #[(u v) "\204	\306\307\310\"\207	GGW\203\307	B\207	A\203\260\307\311	!\311!\312\313@!\n@\"\n\f\204>\314!\204C\fBA
A\211\203a\315@\316
@\"\"\240\210\202CA+\204$\203\247@\211:\203\230@\317>?\205\234@\320=\203\221A@\321=\202\234\314!\202\234\321=)\203\247A\211\204n\f\322\313\"\237+B\207\312	@@\"C\307B\207" [v u vrev urev q vp math-reject-arg nil "Division by zero" reverse math-poly-div-rec math-simplify math-zerop math-sub math-mul-thru (bigpos bigneg) float 0 mapcar up qk a] 7])
(defalias 'math-poly-pseudo-div #[(u v) "\204\306\207	GGW\203	\207	A\204A\203\246\307	!\307!\306\f\nA
A\211\203F\n\310\311@\n@\"\311\f@
@\"\"\240\210\202(\fA\n)\203b\n\203$\n\311@\n@\"\240\210\nA\211\202O\f\203\237\f@\211:\203\220@\312>?\205\224@\313=\203\211A@\314=\202\224\315!\202\224\314=)\203\237\fA\211\204f\316\317\f\"\237+\207\306\207" [v u up vrev urev vp nil reverse math-sub math-mul-thru (bigpos bigneg) float 0 math-zerop mapcar math-simplify a] 7])
(defalias 'math-poly-gcd #[(u v) "	\305\n\"\306U*\203\207\307!\203J\211:\203:@\310>?\205=@\311=\2034A@\306=\202=\312!\202=\306=)\203C	\207\313\314	!\"\207\307	!\203\204	\211:\203t@\310>?\205w@\311=\203nA@\306=\202w\312!\202w\306=)\203}	\207\313	\314!\"\207\315	\"\211\203\245\316\317\320\321\322\f\323\324$\322	\f\323\324$\"\f\"!!\202\255\313\314!\314!\")\207" [u v b a base math-compare 0 math-constp (bigpos bigneg) 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] 11])
(defalias 'math-poly-div-list #[(lst a) "\302=\203	\207\303=\203\304	\"\207\305\306	\"\207" [a lst 1 -1 math-mul-list mapcar #[(x) "\302	\"\207" [x a math-poly-div-exact] 3]] 3])
(defalias 'math-mul-list #[(lst a) "\302=\203	\207\303=\203\304\305	\"\207\306=?\205\304\307	\"\207" [a lst 1 -1 mapcar math-neg 0 #[(x) "\302	\"\207" [x a math-mul] 3]] 3])
(defalias 'math-poly-gcd-list #[(lst) "\302>\204\f\303>\203\304!\207@A\211\2030	\302=\2040@\305=\204\306	@\"\202\2038\304!	)\207" [lst gcd 1 -1 math-poly-gcd-frac-list 0 math-poly-gcd] 3])
(defalias 'math-poly-gcd-frac-list #[(lst) "\203@\242\302=\204A\211\204\203<\303@8A\211\2036@\242\302=\203\304	\303@8\"\202\302\305	E)\207\305\207" [lst denom frac 2 calcFunc-lcm 1] 5])
(defalias 'math-poly-gcd-coefs #[(u v) "\306\307!\307	!\"\310\211\311\312\211\211\211\203\225	\203\225@\211:\203M@\313>?\205Q@\314=\203FA@\311=\202Q\315!\202Q\311=)\203\225	@\211:\203@\313>?\205\203@\314=\203xA@\311=\202\203\315!\202\203\311=)\203\225A	AT\202\310=\204\250\316\"\316	\"G	GZ\211\311W\203\275	\f[\317	\"\211A\203	\316\f\320\321\"\"\"GS8\310X\203\364\320\321\"\321\310Z\"\"\202\322\321\"\321S\"\"\202\250\f\203C\202\323\316	\307	!\"\"\324	GS	8!\203*\323	\325\"S\211\311Y\203<\311	B\202*	.\207" [u v ghd delta r hh math-poly-gcd math-poly-gcd-list 1 0 nil (bigpos bigneg) 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 z h g d a] 9])
(defalias 'math-atomic-factorp #[(expr) "\242\301=\203\302A@!\205,\302\3038!\207\242\304>\203\305\207\242\306>\203+\302A@!\207\307\207" [expr * math-atomic-factorp 2 (+ - /) nil (^ neg) t] 3])
(defalias 'math-poly-div-base #[(a b) "\304\211\305\n!\211\205\305!\211\205\306\307\215*\207" [b-base a-base a b nil math-total-polynomial-base return (byte-code "\205*\303@@	\"\211\203!@A@\nA@Y\203!\304\305@@\"\210)A\211\204\306\207" [a-base b-base maybe assoc throw return nil] 4)] 2])
(defalias 'math-poly-gcd-base #[(a b) "\304\211\305\n!\211\205\305!\211\205\306\307\215*\207" [b-base a-base a b nil math-total-polynomial-base return (byte-code "\205G	\205G@A@	@A@V\203.\302@@	\"\203'\303\304@@\"\210\202A\211\202\302	@@\"\203A\303\304	@@\"\210\202	A\202\207" [a-base b-base assoc throw return] 4)] 2])
(defalias 'math-sort-poly-base-list #[(lst) "\301\302\"\207" [lst sort #[(a b) "A@	A@V\206A@	A@U\205\302@	@\"\207" [a b math-beforep] 3]] 3])
(defalias 'math-total-polynomial-base #[(expr) "\302\303	\304\"\210\305!)\207" [math-poly-base-total-base expr nil math-polynomial-base math-polynomial-p1 math-sort-poly-base-list] 3])
(defalias 'math-polynomial-p1 #[(subexpr) "\305	\"\204/@\306>\204/@\307=\203\310\3118!\204/\312\"\211\203.\fD	B*\313\207" [subexpr math-poly-base-total-base math-poly-base-variable math-poly-base-top-expr exponent assoc (+ - * / neg) ^ natnump 2 math-polynomial-p nil] 4])
(defalias 'calcFunc-factors #[(math-fact-expr &optional var) "\205\306\306\211\204\307\f!\310\311\312\215\206\f!\313\314
!\203'
\202-\315\211
\316ED!,\207" [var calc-prefer-frac math-to-list math-factored-vars math-fact-expr res t math-polynomial-base math-factor-finish factor (math-factor-expr-try var) math-simplify math-vectorp vec 1] 5])
(defalias 'calcFunc-factor #[(math-fact-expr &optional var) "\305\211\306\307\310\203\306\311\312\215\206\f)\202\313\f!!!+\207" [calc-prefer-frac math-to-list math-factored-vars var math-fact-expr nil t math-simplify math-factor-finish factor (math-factor-expr-try var) math-factor-expr] 4])
(defalias 'math-factor-finish #[(x) "\211:?\206\f	@\302>)\203\207@\303=\203\304A@!\207@\305\304A\"B\207" [x a (bigpos bigneg frac float cplx polar hms date mod var) calcFunc-Fac-Prot math-factor-finish mapcar] 5])
(defalias 'math-factor-protect #[(x) "\242\301>\203\302D\207\207" [x (+ -) calcFunc-Fac-Prot] 2])
(defalias 'math-factor-expr #[(math-fact-expr) "\304=\203	\207	\242\305>\204	\242\n\236\203	@\306\307	A\"B\207	\242\310>\2039\311\312\215\211\2036\307!\2027	*\207	\207" [math-factored-vars math-fact-expr calc-tweak-eqn-table y t (* / ^ neg) mapcar math-factor-expr (+ -) factor (math-factor-expr-part math-fact-expr)] 5])
(defalias 'math-factor-expr-part #[(x) "\242\304>\203A\211\205D\305@!\210\202\211:?\206\"	@\306>)?\205D\307\n\"?\205D\310\"\311V\205DC\nB\211\205D\312!\207" [x a math-factored-vars math-fact-expr (+ - * / ^ neg) math-factor-expr-part (bigpos bigneg frac float cplx polar hms date sdev intv mod vec) assoc math-factor-contains 1 math-factor-expr-try] 4])
(defalias 'math-factor-expr-try #[(math-fet-x) "\242\306=\203-\307\310\215\307\311\215\211\204	\205+\312\307\313\n\206!A@\314	\206)\3158#\"*\207\316\317\320$\305!\321\fA\205N\322\f!\211\205N\312\307\"+\207" [math-fact-expr res2 res1 math-fet-x p math-poly-modulus * factor (byte-code "A@\302	!)\207" [math-fact-expr math-fet-x math-factor-expr-try] 2) (byte-code "\3028\303	!)\207" [math-fact-expr math-fet-x 2 math-factor-expr-try] 2) throw math-accum-factors 1 2 math-is-polynomial 30 gen nil math-factor-poly-coefs res] 8])
(defalias 'math-accum-factors #[(fac pow facs) "\203\267\306	!\203$	A\211\203\"\307	@A@\n\310	@8_#\202\n\207	\242\311=\203=\312\310	8!\203=\n\310	8_	A@	\313=\203E\207\306!\204\\\313=\203U\314\202[\315\211\313ED\fA\211\203n	\f@A@\232\203^\f\203\202\f@AA\n\310\f@8\\\240\210\202\265A\203\254A@A@\211:?\206\227
@\316>)\203\254\315A@\315	\nEAABBB\202\265\315\211	\nEABB)\207\317\320	\n\"\321!\"\207" [math-to-list fac pow facs found a math-vectorp math-accum-factors 2 ^ natnump 1 (vec) vec (bigpos bigneg frac) math-mul math-pow math-factor-protect] 6])
(defalias 'math-factor-poly-coefs #[(p &optional square-free) "\306\211\211A\204@\206S\307\202S@\211:\2039\f@\310>?\205<\f@\311=\2033\fA@\307=\202<\312\f!\202<\f\307=)\203\235\307\203|@\211:\203k\f@\310>?\205n\f@\311=\203e\fA@\307=\202n\312\f!\202n\f\307=)\203|
TA\211\204FA\203\212\3134\"\202\221\314\315@!!\3165
\317!#)\202S4\204\313\320\321!\322GS8!\203\264\323\202\265\324\"\211\324=\204\313\316\n\324\313\325\n\"\326\"#\202SAA\204\355\314\327\317\314\315@!!!\3205\317\314\315A@!!!\"\"!\202S\2116\203@6@\211:?\206\f@\330>)\20476@@\331=\203@6@A@\211:?\206\f@\332>)\203@\3336@8\211:?\2063\f@\332>)\203@6A\2116\204\3646)\203\230\334\3355\336BE\337\"\2117\242\340=\203\2177G\341U\203\217\342\33378!\203\217\324\333788A\211\203\211\316@\3248#8\202s8*\206\224\3435\")\202S9\324=\2034\344=\204\265\345\346!\211\"\211\347\232\203|\306:\350\306\344#)\211\203t\n@\351GS8!\203\323\323\202\324\324\324\nA@\333\n8;<=>??\203Y?@@?@A@A\316@\203-\352A@\"B\353;B\";\327\211\320B\3545\333\"\"\320\211@B\"5\"\"\320AB\"\")\202J\352A!B\353;B\";\327\320B5\"\320AB\"\")\324=#=?A?*\202\345\316=\324\320>\343\355\nA@;\"5\"\"#\211=-\202S\3435\"\202S\321!C\351GS8!\203\217\323\202\220\324>\355\n>\"D\306E\356D\"@F\356	D\"@G\357\360\361G\324\346F!\323$!\211!\204\335\345F	\"\211EBE\356F\n\"@F\356	\n\"@G\202\254EG\316\313F\344\"\nT\324#E\203\316\313E@\344\"\n	#\nSEA\211E\204\361\316\320C>\"\324	#.\202S\345\346!\"\211GGU\203O@A\203=\33398\233\211@B\202)\313!\211\205S\354\33398\"\202S\362\306\363\"+\207" [temp t2 t1 p a z nil 0 (bigpos bigneg) 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 (bigpos bigneg frac) mod (bigpos bigneg) 2 math-rewrite calcFunc-thecoefs vec (var FactorRules var-FactorRules) calcFunc-thefactors 3 math-vectorp 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" square-free math-fet-x pp res facs math-poly-modulus calc-symbolic-mode scale unfac expr csign roots coef1 coef0 den cabs t1s uu v w] 10])
(defalias 'math-poly-deriv-coefs #[(p) "\303\304\nA\211\203\305\n@	\"B	T\202\237*\207" [dp n p 1 nil math-mul] 3])
(defalias 'math-factor-contains #[(x a) "	\232\203\303\207\242\304>\203&\305A\211\203#\n\306@	\"\\\202\n)\207\242\307=\203@\310\3118!\203@\306A@	\"\3118_\207\305\207" [x a sum 1 (+ - * / neg) 0 math-factor-contains ^ natnump 2] 4])
(defalias 'calcFunc-nrat #[(expr) "\306!\203\n\307!\310!\204\242	\236\203 @\311\312A\"B\207\313\314!\315\316\317@!!!\315\316\317A!!!\320\f
\"\211\321=\204j\322\f\"\322
\"\211A\323=\203iA\323=\203i@@*\315\324\f
\"!-\207" [expr calc-tweak-eqn-table calc-prefer-frac res num den math-any-floats calcFunc-pfrac math-vectorp mapcar calcFunc-nrat t math-to-ratpoly math-simplify math-sort-terms calcFunc-expand math-poly-gcd 1 math-poly-div 0 math-div g den2 num2] 5])
(defalias 'math-to-ratpoly #[(expr) "\302!\303	@!\303	A!)B\207" [expr res math-to-ratpoly-rec math-simplify] 3])
(defalias 'math-to-ratpoly-rec #[(expr) "\211:?\206\f	@\306>)\203\307B\207@\310>\203\320\311A@!\311\3128!\211A\nA\232\203<@@\n@EAB\202\316A\307=\203T@\313@\nA\"\n@E\nAB\202\316\nA\307=\203l@@\313\n@A\"EAB\202\316\314A\nA\"\211\307=?\205\315A\f\"\f\307=?\205\217\315\313@\nA\"\f\"\211A\316=\203\267
A\316=\203\267@
@\313\n@@\"E\313@\nA\"B\202\315@\313@\nA\"\313\n@A\"E\313A\nA\"B+*\207@\317=\203\311A@!\311\3128!\313\314@\nA\"\314A\n@\"\"\211\307=\203\313@\n@\"\313A\nA\"B\202\320\313@\n@\"\f\"\320\313A\nA\"\f\"B+\207@\321=\203\201\311A@!\311\3128!A\307=\203F\nA\307=\203F@\n@B\202\313\314@\n@\"\314A\nA\"\"\211\307=\203k\313@\nA\"\313A\n@\"B\202~\320\313@\nA\"\f\"\320\313A\n@\"\f\"B)*\207@\322=\203\302\3128\250\203\302\311A@!\3128\316V\203\257\323@\3128\"\323A\3128\"B\202\300\323A\3128[\"\323@\3128[\"B)\207@\324=\203\330\311A@!\325@!A)B\207\307B\207" [expr a r2 r1 g d2 (bigpos bigneg 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 d1] 6])
(defalias 'math-ratpoly-p #[(expr &optional var) "	\232\203\305\207\211:?\206\n@\306>)\203\307\207@\310>\203>\311A@	\"\312\211\205<\311\3138	\"\211\205<\f]*\207@\314=\203b\311A@	\"\312\211\205`\311\3138	\"\211\205`\f\\*\207@\315=\203p\311A@	\"\207@\316=\203\224\311A@	\"\312\211\205\222\311\3138	\"\211\205\222\fZ*\207@\317=\203\264\3138\250\203\264\311A@	\"\211\205\262\f\3138_)\207	\204\272\305\207\320	\"\203\303\312\207\307\207" [expr var a p2 p1 1 (bigpos bigneg frac float cplx polar hms date mod var) 0 (+ -) math-ratpoly-p nil 2 * neg / ^ math-poly-depends] 4])
(defalias 'calcFunc-apart #[(expr &optional var) "\211:?\206\f	@\306>)\203\207@\307=\203(\310\311A@\n\"\311\3128\n\"\"\207@\313=\203>\314\311A@\n\"\311\3128\n\"\"\207\n\203N\315\n\"\204N\316\317\"\207\320\321!\211@\fA\n\204d\322!\315\n\"\204r\316\317\"\202\243\323
\"\211@A\310\n\203\233\324\n\"\203\233\325\n#\206\241\326\"\"+,\207" [expr a var calc-prefer-frac rat num (bigpos bigneg 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 den qr q r] 7])
#@185 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.
(defalias 'math-padded-polynomial #[(expr var deg) "\304	\n#\305\306\nGZ\307\"\")\207" [expr var deg p math-is-polynomial append make-list 0] 5 (#$ . 21058)])
#@189 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.
(defalias 'math-partial-fractions #[(r den var) "\306	\"\307	\"\n\310\311\310\312S\311\"\313 \nG\314U\205,\314\nA@8\315=?\205\\\fA\211\203\373\314\f@8\307\f@A@	\"\310\211\211!\"#$\211%\311V\203\367$!\311#!\311V\203\243\316\317\320$\"\311BA!S!\321#\322\"\323	!\"\"\"#!$SU\205\235\323\f@A@%\"
B\202\\\n\315&''A\211'\203\316'\f=\204\251\322&\323'@A@\314'@8\"\"&\202\251\322#&\"#*\321\322#\323\f@A@\314\f@8%Z\"\"\"%S\211%\202P-\2020\324\325\326(	#B\327\325\330\331A\"B!\"\332!\205\\\311\310)*\237\203W@)B)A
@\203Q\333)\237	\")\321*\324)
@\"\"*\310)
A\202#\334*!*.\207" [den var fden tdeg fp dlist 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 #[(x) "\303\304	\n#B\207" [x var tdeg vec math-padded-polynomial] 5] math-vectorp math-build-polynomial-expr math-normalize eqns lz tz calc-matrix-mode deg2 dvar dnum deg rpt mult fpp r num res] 9 (#$ . 21412)])
(defalias 'math-expand-term #[(expr) "\242\303=\203.A@\242\304>\203.\305\303A@A@\3068E\303\306A@8\3068E\307A@@\310=$\207\242\303=\203\\\3068\242\311>\203\\\305\303A@\3068A@E\303A@\306\21188E\307\3068@\310=$\207\242\312=\203\212A@\242\313>\203\212\305\312A@A@\3068E\312\306A@8\3068E\307A@@\310=$\207\242\314=\203xA@\242\315>\203x\3068\250\203x\316A@A@!\204\323\316\306A@8!\204\323	\203/	\317=\204/\320A@A@!\203\323\320\306A@8!\204/\3068\321V\203/\3068\306U\203\305\303A@A@A@E\303\306A@8A@E\307A@@\310=$\202u\305\303A@A@\314A@\3068SEE\303\306A@8\314A@\3068SEE\307A@@\310=$\202u\3068\322V\203a\n\323V\204C\n\324W\203P\325A@\3068\307\326$\206y\303A@\314A@\3068SEE\202u\3068\322W\203x\312\321\314A@\3068[EE\206y\207" [expr 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] 8])
(defalias 'calcFunc-expand #[(expr &optional many) "\302\303\304	#!\207" [expr many math-normalize math-map-tree math-expand-term] 5])
(defalias 'math-expand-power #[(x n &optional var else-nil) "\306!\203\203	\242\307>\203\203\310\211	\242\311>\2035	@\312=\203'\313\314	8!\202*\314	8B	A@\211\202	B\f\203i\211\203]\315
@\f\"\204V\316
@\"
@\nB
A\211\204C\n\203h\317\320\n\"B)G\314U\203\251\321\211\211X\203\243\322\323\324\"\323\325A@E\325@ZEEEET\211\202w*\202\314U\203\371\321\310\203\363\322\325@\314EEA\211\203\352\322\323\314\323@@EEE\202\315A\211\204\275+\202\326U\205\321\310\211\203|\322\325@\326EEA\211\203s\322\211\323\326\323\325@\314E@EEE\323\326\323@\325@\314EEEEA\211\203 \322\323\327\323@\323@@EEEE\202QA\211\204,*\206\215?\205\215\325	E\207" [n x cterms terms var p natnump (+ -) nil (+ -) - math-neg 2 math-expr-contains delq apply calcFunc-add 0 + * calcFunc-choose ^ 3 6 accum i p2 p1 p3 else-nil] 11])
(defalias 'calcFunc-expandpow #[(x n) "\302\303	\"!\207" [x n math-normalize math-expand-power] 4])
(provide 'calc-poly)

MMCT - 2023