K iY dZddlZddlmZddlmZddlmZddlZ ddl m cm Z ddl m cmZddlmZmZmZmZmZmZmZdZdgZddgZgd Zgd Zgd Zgd Zgd ZgdZ gdZ!gdZ"eeeeeeee e!e"g Z#GddZ$GddZ%GddZ&GddZ'GddZ(GddZ)GddZ*Gdd Z+Gd!d"Z,y)#zTests for polynomial module. N)deepcopy)Fraction)reduce)assert_assert_almost_equalassert_array_equal assert_equal assert_raisesassert_raises_regex assert_warnsc0tj|dS)Ngư>)tol)polypolytrimxs l/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_polynomial.pytrimrs == %%)r)rr)rrir)rrir)rrrir )rir8rir@) rrirrir) r riririrc0eZdZdZdZdZdZdZdZy) TestConstantsc<ttjddgy)Nrr)r r polydomainselfs rtest_polydomainzTestConstants.test_polydomain+sT__r1g.rc:ttjdgy)Nr)r rpolyzeror*s r test_polyzerozTestConstants.test_polyzero.sT]]QC(rc:ttjdgyNr)r rpolyoner*s r test_polyonezTestConstants.test_polyone1sT\\A3'rc<ttjddgy)Nrr)r rpolyxr*s r test_polyxzTestConstants.test_polyx4sTZZ!Q(rc`tjgd}t|}t||yNrr)r Polynomialrr r+rys r test_copyzTestConstants.test_copy7s# OOI & QKQrctjgd}tjtj|}t ||yr8)rr;pickleloadsdumpsr r<s r test_picklezTestConstants.test_pickle<s0 OOI & LLa )QrN) __name__ __module__ __qualname__r,r/r3r6r>rCrrr'r')s /)() rr'c0eZdZdZdZdZdZdZdZy)TestArithmeticcXtdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdz cc<t j dg|zdgzdg|zdgz}t t|t||yNrAt i=, j=rrerr_msg)rangenpzerosmaxrpolyaddr rr+ijmsgtgtress r test_polyaddzTestArithmetic.test_polyaddCq @A1X @aSQC(hhs1ay1}-A! A! llA37aS=1#'QC-@T#YS 3?  @ @rcXtdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdzcc<t j dg|zdgzdg|zdgz}t t|t||yrK)rPrQrRrSrpolysubr rrUs r test_polysubzTestArithmetic.test_polysubMr\rcttjdgdgttjdgddgtddD]8}dg|zdgz}dg|dzzdgz}ttj||:y)Nrrr)r rpolymulxrP)r+rVserrYs r test_polymulxzTestArithmetic.test_polymulxWsT]]A3'!-T]]A3'!Q0q! 2A#'QC-C#Q-1#%C s+S 1 2rc6tdD]}tdD]{}d|d|}tj||zdz}|||zxxdz cc<tjdg|zdgzdg|zdgz}t t |t ||}yrK)rPrQrRrpolymulr rrUs r test_polymulzTestArithmetic.test_polymul_sq @A1X @aSQC(hhq1uqy)AE a llA37aS=1#'QC-@T#YS 3?  @ @rc8tttjdgdgtjdgdg\}}t ||fdtjddgdg\}}t ||fdt dD]}t dD]}d|d|}dg|zddgz}dg|zddgz}tj ||}tj||\}}tj tj|||} t | || y) Nrrr)rr))rrrrrLrMrN)r ZeroDivisionErrorrpolydivr rPrTre) r+quoremrVrWrXcicjrYrZs r test_polydivzTestArithmetic.test_polydivhs'sQC@<<aS)Sc3Z(<<A,Sc3Z-q 4A1X 4aSQC(S1W1v%S1W1v%ll2r*<<R0Sll4<<R#8#>S#s3 4 4rc VtdD]}tdD]}d|d|}tj|dz}ttj |g|ztj dg}t j||}tt|t||y)NrrLrMrrN) rPrQarangerrrearraypolypowr r)r+rVrWrXcrYrZs r test_polypowzTestArithmetic.test_polypow}sq @A1X @aSQC(IIa!e$T\\A37BHHaSMBll1a(T#YS 3?  @ @rN) rDrErFr[r_rcrfrnrtrGrrrIrIAs$@@2@4*@rrIceZdZdZy) TestFractionc tdd}tdd}tdd}tj||g||g||g}d|z|dzz}t|jt j tddtddtd dgt t|j||gt|jjt jjtt||tt||td dtjtddg||g||g}t|j|y) Nrr:rrdomainwindowrr$rdtype )rrr;r coefrQrqobjectryr}dtypes ObjectDTyper isinstancederiv)r+fonezeroprp_derivs r test_FractionzTestFraction.test_Fractions QNq!n1~ OOQFD#;c{ K EAFNQVVRXXxAQ'/1~'7>DF GQXXc{+QVV\\299#8#8#:; 1Q4*+QqT8B?+//8Aq>"2D#;*.6QWWY(rN)rDrErFrrGrrrvrvs)rrvceZdZejgdZej deeZej deeeZejjddzdz Z e je gdZ dZdZd Zd Zd Zd Zy )TestEvaluation)?@g@i,j->ij i,j,k->ijkr:rrrc|ttjgdgjdt j dd}t dDcgc]}||z }}t dD]1}||}tj|dg|zdgz}t||3||dzdz z}tj|gd}t||t dD]}dg|z}t j|}ttj|dgj|ttj|ddgj|ttj|gdj|gd }tjjgd | }t jgd |}t|j|Gd dtj} t jgd j| } tt!t jgd| | ycc}w)Nrrrrr)rrrrr:rrr)FTFr9)mask)rr:c eZdZy)&TestEvaluation.test_polyval..CN)rDrErFrGrrCrs rrrr:r)r rpolyvalsizerQlinspacerPrrRshapemarqrrndarrayviewtype) r+rrVr=rYrZdimsrmxrcxs r test_polyvalzTestEvaluation.test_polyvalsT\\"qc*//3 KKA  8 $aQT $ $q *AA$C,,q1#'QC-0C S ) *1a4!8nll1m,C%q AA37DA a!-33T : a!Q066 = a3994 @  A$ UU[[[ .jjB'388T*   XXi % %a (T"**Y34a89 %s H9ctttjdgdgdt tjgdgj dt tjgdgjdk(t tjgdgdzgj dt tjgdgdzgjdk(t tjdddt tjdtjdjd k(tjd d}tdDcgc]}||z }}tddD]-}||}tj|dg|z}t||/||dz z|dzz}tj|gd }t||td D]}d g|z}tj|}t tj|dgj|t tj|ddgj|t tj|gdj|gd}tj|}tjd d}ttj||tj||d} tj dd }tj"j%dd| }tj||d}tj&|jdd}t|j D]%} tj|| |dd| f|| <'t ||tj(|d |zg}tj||d}tj&|jdd|jz}t|jdD]G} t|jdD]*} tj|| |dd| f|| | ddf<,It ||ycc}w)NrF)tensorr)rr)rr)r:r:)r:r)rrrr:rr)rirrr)rT)r ValueErrorrpolyvalfromrootsr rrrrQonesrrPrrR polyrootsrrprandomrandintemptyvstack) r+rrVr=rYrZrptestrrshapeiijjs rtest_polyvalfromrootsz$TestEvaluation.test_polyvalfromrootss j$"7"7cA3u . T**2s388!<%%b1#.44<= T**2ay9>>B%%bA37)4::fDE T**1a0!4%%a9??4GH KKA  8 $aQT $ $q! *AA$C''A373C S ) *1q5kQU###Az2C%q JA37DA ..q1#6<@%$%$ ) )rrceZdZdZdZy) TestIntegralc  tttjdgdtttjdgdtttjdgdddgtttjdgdgtttjdgdgtttjdgdtttjddgdt d d D]6}dg|d z zdgz}tjdg|| }t |ddg8t d D]Y}|dz}dg|zdgz}|gdg|zzd|z gz}tj|d|g }t t|t|[t d D]K}|dz}dg|zdgz}tj|d|gd }t tjd||Mt d D]Z}|dz}dg|zdgz}|gdg|zzd |z gz}tj|d|gd }t t|t|\t d D]~}t d d D]m}dg|zdgz}|dd}t |D]}tj|d}tj||}t t|t|ot d D]}t d d D]}dg|zdgz}|dd}t |D]}tj|d|g }tj||tt | }t t|t|t d D]}t d d D]}dg|zdgz}|dd}t |D]}tj|d|gd }tj||tt |d }t t|t|t d D]}t d d D]}dg|zdgz}|dd}t |D]}tj|d|gd }tj||tt |d }t t|t|y)Nr?rr)lbnd)sclaxisrrr)mk)rrr)rrrr) r TypeErrorrpolyintrrPrrrlist)r+rVrrZrpolrYrWs r test_polyintzTestIntegral.test_polyintKsisB7j$,,R8j$,,QA?j$,,1#>j$,,!=is<i1vr:q! -Aq1u #A,,sa1-C aV , - q 6Aa%C#'QC-C#a-1s7)+C,,saA3/C S 49 5  6q :Aa%C#'QC-C,,saA3R8C  R 5q 9  :q 6Aa%C#'QC-C#a-1s7)+C,,saA3A6C S 49 5  6q :A1a[ :cAgm!fq1A,,sa0C1ll3!,#DItCy9  : :q :A1a[ :cAgm!fq8A,,saA37C8ll3!tE!H~>#DItCy9  : :q :A1a[ :cAgm!fqAA,,saA3R@CAll3!tE!H~BG#DItCy9  : :q :A1a[ :cAgm!fq?A,,saA3A>C?ll3!tE!H~1E#DItCy9  : :rc tjjd}tj|jDcgc]}t j |c}j}t j |d}t ||tj|Dcgc]}t j |c}}t j |d}t ||tj|Dcgc]}t j |dc}}t j |dd}t ||ycc}wcc}wcc}w)Nr:rrrrr:)r)rr)rQrrTrrrr+rrsrYrZs rtest_polyint_axiszTestIntegral.test_polyint_axissiiv&ii#%%8Qa89;;ll3Q'C%ii#6Qa67ll3Q'C%iis;!a1-;<ll3!!,C%97A37aS=D D&&t,22q!f< = >rcPttjddgddk(y)Nrr)rr)rrrr*s rtest_linear_rootzTestCompanion.test_linear_roots#""Aq6*40C78rN)rDrErFrr r rGrrrrs;> 9rrc<eZdZdZdZdZdZdZdZdZ dZ y ) TestMiscc tjg}tt|dgt ddD]}t j t jt j dd|zdzddd}t|}tj|d|dz zz}tt|t|y)Nrrrr) r polyfromrootsrrrPrQcosrpiTlist)r+rZrVrootsrYs rtest_polyfromrootszTestMisc.test_polyfromrootss  $DIs+q! 6AFF2;;vq!a%!).f8sA;!a%( (rc|dz|dzzdzS)NrrrrGrs rf2z!TestMisc.test_polyfit..f2;sa4!Q$;? "rrrrr)w)rrrr:r)rrrr:r)rrrr:r)ry?ry)rrr)r rrpolyfitrrQrr lenrrrqr zeros_likecopy)r+rr#rr=coef3coef4coef2dr$ywwcoef3wcoef2dcoef1coef2s r test_polyfitzTestMisc.test_polyfit7sL ) # j$,,aS"=iuqc1=irA3:isqcUGQ?i1vsA>isQFA>isQCseDisQCq!fEj$,,aS2%@j$,,aS*EisQC< KK1  aD Q1%SZ#DLLE2A6 Q<0SZ#DLLE2A6 Q1%SZ#DLLE2A6 Q?3SZ#DLLE2A6a1a&!1!3!3Q7FBHHeU^$<$>$>?a1a&!1!3!3\BFBHHeU^$<$>$>? MM!  VVX!$Q$14a4aQ!,FE*a\Q7FE*,,q"((B8"4"6"6Q?GRXXuen%=%?%?@,,q"((B8"4"6"6 JGRXXuen%=%?%?@ DLLAq1Aq6:DLLA1v6A? KKA  qE Q1%DLLE2A6 Q9-DLLE2A6E5)rcgd}tttj|dt tj||ddt tj|d|ddt tj|ddgy)N)rrrrrrrrr)r rrrr )r+rs r test_polytrimzTestMisc.test_polytrim}sh j$--r: T]]4($s)4T]]4+T#2Y7T]]4+aS1rcHttjddddgy)Nr:rr rpolyliner*s r test_polylinezTestMisc.test_polylinesT]]1a(1a&1rcFttjdddgy)Nr:rr5r*s rtest_polyline_zerozTestMisc.test_polyline_zerosT]]1a(1#.rctjjdgdgd}t|jdgtjjddgddgd}t |jdgt tj5tjjddgddgd}dddy#1swYyxYw)Nrrr)degrg@gffffff@) rr;fitr rrr pu RankWarning)r+rs rtest_fit_degenerate_domainz#TestMisc.test_fit_degenerate_domains OO  aSa  0QVVbT" OO  ACa  8AFFTF+ ".. ) =##QFQH!#rXs**''&SV#)- RRRRR00C@C@J))(l)l)^_&_&D%&%&P1:1:h 9 9G/G/r