
    KhU              
          S r SSKJr  SSKJr  SSKrSSKJs  Jr	  SSK
Js  Jr  SSKrSSKJr  SSKJrJrJrJrJrJrJr  S rS/rSS/r/ S	Qr/ S
Qr/ SQr/ SQr/ SQr/ SQr / SQr!/ SQr"\\\\\\\\ \!\"/
r# " S S5      r$ " S S5      r% " S S5      r& " S S5      r' " S S5      r( " S S5      r) " S S5      r* " S S 5      r+ " S! S"5      r,g)#zTests for polynomial module.

    )reduce)FractionN)deepcopy)assert_almost_equalassert_raisesassert_equalassert_assert_array_equalassert_raises_regexassert_warnsc                 ,    [         R                  " U SS9$ )Ngư>)tol)polypolytrimxs    X/var/www/html/env/lib/python3.13/site-packages/numpy/polynomial/tests/test_polynomial.pytrimr      s    ==%%       )r      )r   r      )r   r   ir      )r      r   ir      )r   r      r   ir       )r   ir   8   r   ir   @   )	r   r   ir      r   i r      )
r   	   r   ir   i  r   ir      c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestConstants!   c                 <    [        [        R                  SS/5        g )Nr   r   )r   r   
polydomainselfs    r   test_polydomainTestConstants.test_polydomain#   s    T__r1g.r   c                 :    [        [        R                  S/5        g )Nr   )r   r   polyzeror+   s    r   test_polyzeroTestConstants.test_polyzero&   s    T]]QC(r   c                 :    [        [        R                  S/5        g Nr   )r   r   polyoner+   s    r   test_polyoneTestConstants.test_polyone)   s    T\\A3'r   c                 <    [        [        R                  SS/5        g )Nr   r   )r   r   polyxr+   s    r   
test_polyxTestConstants.test_polyx,   s    TZZ!Q(r   c                 `    [         R                  " / SQ5      n[        U5      n[        X5        g Nr   r      )r   
Polynomialr   r   r,   r   ys      r   	test_copyTestConstants.test_copy/   s!    OOI&QKQr   c                     [         R                  " / SQ5      n[        R                  " [        R                  " U5      5      n[        X5        g r=   )r   r@   pickleloadsdumpsr   rA   s      r   test_pickleTestConstants.test_pickle4   s.    OOI&LLa)Qr    N)__name__
__module____qualname____firstlineno__r-   r1   r6   r:   rC   rI   __static_attributes__rK   r   r   r'   r'   !   s     /)()
r   r'   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestArithmetic9   c                 X   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M     M     g Nr   At i=, j=r   r   err_msg)rangenpzerosmaxr   polyaddr   r   r,   ijmsgtgtress         r   test_polyaddTestArithmetic.test_polyadd;       qA1XaSQC(hhs1y1}-!!llA3q5A3;A<T#YS	3?  r   c                 X   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M     M     g rU   )rZ   r[   r\   r]   r   polysubr   r   r_   s         r   test_polysubTestArithmetic.test_polysubE   rg   r   c                 "   [        [        R                  " S/5      S/5        [        [        R                  " S/5      SS/5        [        SS5       H:  nS/U-  S/-   nS/US-   -  S/-   n[        [        R                  " U5      U5        M<     g )Nr   r   r   )r   r   polymulxrZ   )r,   r`   serrc   s       r   test_polymulxTestArithmetic.test_polymulxO   s|    T]]A3'!-T]]A3'!Q0q!A#a%1#+C#q1u+#Cs+S1 r   c                 8   [        S5       H  n[        S5       Hy  nSU SU 3n[        R                  " X-   S-   5      nXAU-   ==   S-  ss'   [        R                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M{     M     g rU   )rZ   r[   r\   r   polymulr   r   r_   s         r   test_polymulTestArithmetic.test_polymulW   s    qA1XaSQC(hhquqy)E
a
llA3q5A3;A<T#YS	3?  r   c                 4   [        [        [        R                  S/S/5        [        R                  " S/S/5      u  p[	        X4S5        [        R                  " SS/S/5      u  p[	        X4S5        [        S5       H  n[        S5       H  nSU SU 3nS/U-  SS/-   nS/U-  SS/-   n[        R                  " Xg5      n[        R                  " X5      u  p[        R                  " [        R                  " X5      U5      n	[	        XUS	9  M     M     g )
Nr   r   r   )r   r   ))r   r   r   r   rV   rW   rX   )r   ZeroDivisionErrorr   polydivr   rZ   r^   rr   )
r,   quoremr`   ra   rb   cicjrc   rd   s
             r   test_polydivTestArithmetic.test_polydiv`   s    'sQC@ <<aS)cZ(<<A,cZ- qA1XaSQC(SUaV^SUaV^ll2*<<0ll4<<#8#>Ss3  r   c           	      \   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " US-   5      n[        [        R
                  U/U-  [        R                  " S/5      5      n[        R                  " XB5      n[        [        U5      [        U5      US9  M     M     g )Nr   rV   rW   r   rX   )
rZ   r[   aranger   r   rr   arraypolypowr   r   )r,   r`   ra   rb   crc   rd   s          r   test_polypowTestArithmetic.test_polypowu   s    qA1XaSQC(IIa!e$T\\A3q5"((A3-@ll1(T#YS	3?  r   rK   N)rL   rM   rN   rO   re   rj   ro   rs   r|   r   rP   rK   r   r   rR   rR   9   s$    @@2@4*@r   rR   c                       \ rS rSrS rSrg)TestFraction~   c                    [        SS5      n[        SS5      n[        SS5      n[        R                  " X/X2/X2/S9nSU-  US-  -   n[        UR                  [
        R                  " [        SS5      [        SS5      [        S	S5      /[        S
95        [        UR                  X2/5        [        UR                  R                  [
        R                  R                  5       5        [        [        U" U5      [         5      5        [        U" U5      [        SS5      5        [        R                  " [        SS5      /X2/X2/S9n[        UR                  5       U5        g )Nr   r?   r   r   domainwindowr   r$      r   dtype
   )r   r   r@   r   coefr[   r   objectr   r   dtypesObjectDTyper	   
isinstancederiv)r,   fonezeropr   p_derivs          r   test_FractionTestFraction.test_Fraction   s   QNq!n1~OOQFD;{KEAFNQVVRXXxAQ'/1~'7>DF 	GQXX{+QVV\\299#8#8#:;
1Q4*+QqT8B?+//8Aq>"2D;*.6QWWY(r   rK   N)rL   rM   rN   rO   r   rP   rK   r   r   r   r   ~   s    )r   r   c                      \ rS rSr\R
                  " / SQ5      r\R                  " S\\5      r\R                  " S\\\5      r	\R                  R                  S5      S-  S-
  r\R                  " \/ SQ5      rS rS	 rS
 rS rS rS rSrg)TestEvaluation   )      ?       @g      @i,j->ij
i,j,k->ijkr?   r   r   r   c                    [        [        R                  " / S/5      R                  S5        [        R
                  " SS5      n[        S5       Vs/ s H  o!U-  PM	     nn[        S5       H1  nX2   n[        R                  " US/U-  S/-   5      n[        XT5        M3     XS-  S-
  -  n[        R                  " U/ SQ5      n[        XT5        [        S5       H  nS/U-  n[        R                  " U5      n[        [        R                  " US/5      R                  U5        [        [        R                  " USS/5      R                  U5        [        [        R                  " U/ SQ5      R                  U5        M     / S	Qn[        R                  R                  / S
QUS9n[        R                  " / SQU5      n[        UR                  U5         " S S[        R                  5      n	[        R                  " / S
Q5      R                  U	5      n
[        [!        [        R                  " / SQU
5      5      U	5        g s  snf )Nr   r   r   r   r   )r   r   r   r   r?   r   r   r   )FTFr>   )mask)   r   r?   c                       \ rS rSrSrg)&TestEvaluation.test_polyval.<locals>.C   rK   N)rL   rM   rN   rO   rP   rK   r   r   Cr      s    r   r   r   r?   r   )r   r   polyvalsizer[   linspacerZ   r   r\   shapemar   r
   r   ndarrayviewtype)r,   r   r`   rB   rc   rd   dimsr   mxr   cxs              r   test_polyvalTestEvaluation.test_polyval   s   T\\"qc*//3 KKA 8$8aT8$qA$C,,q1#a%1#+.C)  Alll1m,C% qA3q5DAa!-33T:a!Q066=a3994@  $UU[[[.jjB'388T*	

 	 XXi %%a(T"**Y34a89 %s   Ic                 	   [        [        [        R                  S/S/SS9  [	        [        R                  " / S/5      R
                  S5        [        [        R                  " / S/5      R                  S:H  5        [	        [        R                  " / S/S-  /5      R
                  S5        [        [        R                  " / S/S-  /5      R                  S:H  5        [	        [        R                  " SS5      S5        [        [        R                  " S[        R                  " S5      5      R                  S	:H  5        [        R                  " S
S5      n[        S5       Vs/ s H  o!U-  PM	     nn[        SS5       H-  nX2   n[        R                  " US/U-  5      n[        XT5        M/     XS-
  -  US-   -  n[        R                  " U/ SQ5      n[        XT5        [        S5       H  nS/U-  n[        R                  " U5      n[	        [        R                  " US/5      R                  U5        [	        [        R                  " USS/5      R                  U5        [	        [        R                  " U/ SQ5      R                  U5        M     / SQn[        R                  " U5      n[        R                  " S
S5      n[        [        R                  " X5      [        R                  " X5      5        Sn	[        R                   " SS5      n[        R"                  R%                  SSU	S9n[        R                  " XSS9n[        R&                  " UR                  SS  5      n[        UR
                  5       H%  n
[        R                  " X   US S 2U
4   5      XJ'   M'     [	        XT5        [        R(                  " USU-  /5      n[        R                  " XSS9n[        R&                  " UR                  SS  UR                  -   5      n[        UR                  S   5       HI  n
[        UR                  S   5       H*  n[        R                  " X   US S 2U
4   5      XJUS S 24'   M,     MK     [	        XT5        g s  snf )Nr   F)tensorr   )r   r   )r   r   )r?   r?   )r?   r   )r   r   r   r?   r   r   )   r   ir   r   r   )r   T)r   
ValueErrorr   polyvalfromrootsr   r   r	   r   r[   onesr   rZ   r   r\   	polyrootsr   r   randomrandintemptyvstack)r,   r   r`   rB   rc   rd   r   ptestrrshapeiijjs               r   test_polyvalfromroots$TestEvaluation.test_polyvalfromroots   s    	j$"7"7cA3u	. 	T**2s388!<%%b1#.44<= 	T**2ay9>>B%%bA37)4::fDE 	T**1a0!4%%a9??4GH KKA 8$8aT8$q!A$C''A3q51C)  QiQ##Az2C% qA3q5DA..q1#6<<dC..q1a&9??F..q)<BBDI  $NN5!KKADLL2 11!7	9
 IIb!IIb!&1##A7hhqwwqr{#/B++AE1QU8<CG "S IIq!A#h##A6hhqwwqr{QWW,-
#BAGGAJ'!%!6!6qua2h!GAI ( $ 	SU %s   $Rc           	         U R                   u  pnU R                  u  pEn[        [        S[        R
                  XS S U R                  5        XE-  n[        R
                  " XU R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XU R                  5      n[        UR                  S:H  5        g Nincompatibler   r   r?   )r   rB   r   r   r   	polyval2dc2dr   r[   r   r	   r   
r,   x1x2x3y1y2y3rc   rd   zs
             r   test_polyval2dTestEvaluation.test_polyval2d   s    VV
VV
 	J NNB2A	B ennRTXX.C% GGFOnnQ488,		V#$r   c           
         U R                   u  pnU R                  u  pEn[        [        S[        R
                  XUS S U R                  5        XE-  U-  n[        R
                  " XX0R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XXR                  5      n[        UR                  S:H  5        g r   )r   rB   r   r   r   	polyval3dc3dr   r[   r   r	   r   r   s
             r   test_polyval3dTestEvaluation.test_polyval3d  s    VV
VV
 	Jnnbb!fdhh	@ eBhnnRR2C% GGFOnnQ1hh/		V#$r   c                 d   U R                   u  pnU R                  u  pEn[        R                  " SXE5      n[        R
                  " XU R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XU R                  5      n[        UR                  S:H  5        g )Nr   r   )r   r?   r   r?   )r   rB   r[   einsumr   
polygrid2dr   r   r   r	   r   r   s
             r   test_polygrid2dTestEvaluation.test_polygrid2d$  s~    VV
VV
 ii	2*oobdhh/C% GGFOooaDHH-		X%&r   c                 f   U R                   u  pnU R                  u  pEn[        R                  " SXEU5      n[        R
                  " XX0R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XXR                  5      n[        UR                  S:H  5        g )Nr   r   )r   r?   r   r?   r   r?   )r   rB   r[   r   r   
polygrid3dr   r   r   r	   r   r   s
             r   test_polygrid3dTestEvaluation.test_polygrid3d2  s    VV
VV
 iibb1oobb((3C% GGFOooaAxx0		X%&r   rK   N)rL   rM   rN   rO   r[   r   c1dr   r   r   r   r   r   r   rB   r   r   r   r   r   r   rP   rK   r   r   r   r      s    
((<
 C
))IsC
(C
))L#sC
0C 			 "Q&AQ%A"9H>@%$%$''r   r   c                        \ rS rSrS rS rSrg)TestIntegraliA  c                 	   [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        [        [        R                  S/SSS/5        [        [        [        R                  S/S/S9  [        [        [        R                  S/S/S9  [        [        [        R                  S/SS9  [        [        [        R                  SS/S5        [        S	S
5       H4  nS/US	-
  -  S/-   n[        R                  " S/XS9n[        USS/5        M6     [        S
5       HX  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " USU/S9n[        [        U5      [        U5      5        MZ     [        S
5       HK  nUS-   nS/U-  S/-   n[        R                  " USU/SS9n[        [        R                  " SU5      U5        MM     [        S
5       HY  nUS-   nS/U-  S/-   nU/S/U-  -   S	U-  /-   n[        R                  " USU/S	S9n[        [        U5      [        U5      5        M[     [        S
5       H~  n[        S	S
5       Hk  nS/U-  S/-   nUS S  n[        U5       H  n[        R                  " USS9nM     [        R                  " XWS9n[        [        U5      [        U5      5        Mm     M     [        S
5       H  n[        S	S
5       H  nS/U-  S/-   nUS S  n[        U5       H  n[        R                  " USU/S9nM     [        R                  " XW[        [        U5      5      S9n[        [        U5      [        U5      5        M     M     [        S
5       H  n[        S	S
5       H  nS/U-  S/-   nUS S  n[        U5       H  n[        R                  " USU/SS9nM     [        R                  " XW[        [        U5      5      SS9n[        [        U5      [        U5      5        M     M     [        S
5       H  n[        S	S
5       H  nS/U-  S/-   nUS S  n[        U5       H  n[        R                  " USU/S	S9nM     [        R                  " XW[        [        U5      5      S	S9n[        [        U5      [        U5      5        M     M     g )Nr         ?r   r   )lbnd)sclaxisr   r   r   )mk)r   r   r   )r   r   r   r   )
r   	TypeErrorr   polyintr   rZ   r   r   r   list)r,   r`   r   rd   r   polrc   ra   s           r   test_polyintTestIntegral.test_polyintC  s#   isB7j$,,R8j$,,QA?j$,,1#>j$,,!=is<i1vr: q!AQUqc!A,,sa-CaV,  qAa%C#a%1#+C#A+3'C,,saA3/CS	495  qAa%C#a%1#+C,,saA3R8CR 5q9	  qAa%C#a%1#+C#A+3'C,,saA3A6CS	495  qA1a[c!eqck!fqA,,sa0C "ll3,#DItCy9 !  qA1a[c!eqck!fqA,,saA37C "ll3tE!H~>#DItCy9 !  qA1a[c!eqck!fqA,,saA3R@C "ll3tE!H~BG#DItCy9 !  qA1a[c!eqck!fqA,,saA3A>C "ll3tE!H~1E#DItCy9 ! r   c           
         [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " USS9PM     sn5      n[        R
                  " USSS9n[        XC5        g s  snf s  snf s  snf )Nr?   r   r   r   r   r?   )r   )r   r   )r[   r   r   Tr   r   r   r,   r   r   rc   rd   s        r   test_polyint_axisTestIntegral.test_polyint_axis  s    iiv&ii#%%8%Qa%89;;ll3Q'C%ii#6#Qa#67ll3Q'C%iis;s!a1-s;<ll3!!,C% 9 7 <s    E# E>ErK   N)rL   rM   rN   rO   r   r  rP   rK   r   r   r   r   A  s    M:^&r   r   c                        \ rS rSrS rS rSrg)TestDerivativei  c           
         [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        S5       H@  nS/U-  S/-   n[        R                  " USS9n[        [        U5      [        U5      5        MB     [        S5       He  n[        SS5       HR  nS/U-  S/-   n[        R                  " [        R                  " X$S9US9n[        [        U5      [        U5      5        MT     Mg     [        S5       Hg  n[        SS5       HT  nS/U-  S/-   n[        R                  " [        R                  " X$SS9USS9n[        [        U5      [        U5      5        MV     Mi     g )	Nr   r   r   r   r   r   r   )r   r   )
r   r   r   polyderr   rZ   r   r   r   r   )r,   r`   rc   rd   ra   s        r   test_polyderTestDerivative.test_polyder  s)   isB7j$,,R8 qA#a%1#+C,,sa(CcDI.  qA1a[c!eqckll4<<#9Q?#DItCy9 !  qA1a[c!eqckll4<<a#@A2N#DItCy9 ! r   c                    [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        g s  snf s  snf )Nr   r   r   r   )r[   r   r   r  r   r  r   r  s        r   test_polyder_axis TestDerivative.test_polyder_axis  s    iiv&ii#%%8%Qa%89;;ll3Q'C%ii#6#Qa#67ll3Q'C% 9 7s    C+# C0rK   N)rL   rM   rN   rO   r	  r  rP   rK   r   r   r  r    s    :2
&r   r  c                   n    \ rS rSr\R
                  R                  S5      S-  S-
  rS rS rS r	S r
S	rg
)
TestVanderi  r   r   r   c                 .   [         R                  " S5      n[        R                  " US5      n[	        UR
                  S:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     [         R                  " SS/SS/SS	//5      n[        R                  " US5      n[	        UR
                  S
:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     g )Nr?   r   r   r   r   .r   r      )r?   r   r   )
r[   r   r   
polyvanderr	   r   rZ   r   r   r   )r,   r   vr`   r   s        r   test_polyvanderTestVander.test_polyvander  s    IIaLOOAq!6!"qA3q5A3;D#q&	4<<+@A 
 HHq!fq!fq!f-.OOAq!9$%qA3q5A3;D#q&	4<<+@A r   c                 ~   U R                   u  pn[        R                  R                  S5      n[        R                  " XSS/5      n[        R
                  " XU5      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/SS/5      n[        UR                  S:H  5        g )Nr   r   r   )r   r   r  )r   r[   r   r   polyvander2dr   dotflatr   r	   r   r,   r   r   r   r   vanrc   rd   s           r   test_polyvander2dTestVander.test_polyvander2d  s    VV
IIV$A/nnRQ'ffS&&!C% rdQF3		Y&'r   c                    U R                   u  pn[        R                  R                  S5      n[        R                  " XU/ SQ5      n[        R
                  " XX45      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/U// SQ5      n[        UR                  S:H  5        g )Nr   r>   )r   r      )r   r[   r   r   polyvander3dr   r  r  r   r	   r   r  s           r   test_polyvander3dTestVander.test_polyvander3d  s    VV
IIY'I6nnRR+ffS&&!C% rdRD)<		Z'(r   c                 p    [         R                  " S5      n[        [        [        R
                  US5        g )Nr?   r   )r[   r   r   r   r   r  )r,   r   s     r   test_polyvandernegdeg TestVander.test_polyvandernegdeg  s!    IIaLj$//1b9r   rK   N)rL   rM   rN   rO   r[   r   r   r  r  r!  r$  rP   rK   r   r   r  r    s5    
		 "Q&AB"():r   r  c                   &    \ rS rSrS rS rS rSrg)TestCompanioni  c                     [        [        [        R                  / 5        [        [        [        R                  S/5        g r4   )r   r   r   polycompanionr+   s    r   test_raisesTestCompanion.test_raises  s(    j$"4"4b9j$"4"4qc:r   c                     [        SS5       H:  nS/U-  S/-   n[        [        R                  " U5      R                  X4:H  5        M<     g )Nr   r   r   )rZ   r	   r   r)  r   )r,   r`   r   s      r   test_dimensionsTestCompanion.test_dimensions  sC    q!A3q5A3;DD&&t,22qf<= r   c                 R    [        [        R                  " SS/5      S   S:H  5        g )Nr   r   )r   r         )r	   r   r)  r+   s    r   test_linear_rootTestCompanion.test_linear_root
  s#    ""Aq6*40C78r   rK   N)rL   rM   rN   rO   r*  r-  r1  rP   rK   r   r   r'  r'    s    ;>
9r   r'  c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestMisci  c           	         [         R                  " / 5      n[        [        U5      S/5        [	        SS5       H  n[
        R                  " [
        R                  " [
        R                  * SSU-  S-   5      SS S2   5      n[        U   n[         R                  " U5      SUS-
  -  -  n[        [        U5      [        U5      5        M     g )Nr   r   r   r   )
r   polyfromrootsr   r   rZ   r[   cosr   piTlist)r,   rd   r`   rootsrc   s        r   test_polyfromrootsTestMisc.test_polyfromroots  s      $DIs+q!AFF2;;vq!A#':14a4@AE(C$$U+A!H4CS	495	 r   c                 r   [        [        R                  " S/5      / 5        [        [        R                  " SS/5      S/5        [        SS5       Hc  n[        R
                  " SSU5      n[        R                  " [        R                  " U5      5      n[        [        U5      [        U5      5        Me     g )Nr   r   r0  r   r   )r   r   r   rZ   r[   r   r6  r   )r,   r`   rc   rd   s       r   test_polyrootsTestMisc.test_polyroots  s}    DNNA3/4DNNAq62SE:q!A++b!Q'C..!3!3C!89CS	495 r   c           	         S nS n[        [        [        R                  S/S/S5        [        [        [        R                  S//S/S5        [        [        [        R                  / S/S5        [        [        [        R                  S/S///S5        [        [        [        R                  SS/S/S5        [        [        [        R                  S/SS/S5        [        [        [        R                  S/S/SS//S9  [        [        [        R                  S/S/SSS/S9  [        [        [        R                  S/S/S/5        [        [        [        R                  S/S// SQ5        [        [        [        R                  S/S// 5        [
        R                  " SS5      nU" U5      n[        R                  " X4S	5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4/ SQ5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4S
5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " U[
        R                  " XD/5      R                  S	5      n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " XD/5      R                  / SQ5      n[        U[
        R                  " XU/5      R                  5        [
        R                  " U5      nUR                  5       n	SUSS S2'   SU	SS S2'   [        R                  " X9S	US9n
[        X5        [        R                  " X9/ SQUS9n
[        X5        [        R                  " U[
        R                  " X/5      R                  S	US9n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " X/5      R                  / SQUS9n[        U[
        R                  " XU/5      R                  5        / SQn[        [        R                  " X3S5      SS/5        [        [        R                  " X3SS/5      SS/5        [
        R                  " SS5      nU" U5      n[        R                  " X4S
5      n[        [        R                  " X<5      U5        [        R                  " X4/ SQ5      n[        [        R                  " X=5      U5        [        X5        g )Nc                     X S-
  -  U S-
  -  $ )Nr   r   rK   r   s    r   r    TestMisc.test_polyfit.<locals>.f"  s    !e9a!e$$r   c                     U S-  U S-  -   S-   $ )Nr   r   r   rK   r   s    r   f2!TestMisc.test_polyfit.<locals>.f2%  s    a4!Q$;?"r   r   r   r   r   )w)r   r   r  r?   r   )r   r   r   r?   r   )r   r   r   r?   r   )r   y              ?r   y             )r   r   r   )r   r   r   polyfitr   r[   r   r   lenr   r   r   r  
zeros_likecopy)r,   r   rD  r   rB   coef3coef4coef2drF  ywwcoef3wcoef2dcoef1coef2s                 r   test_polyfitTestMisc.test_polyfit!  s   	%	# 	j$,,aS"=iuqc1=irA3:isqcUGQ?i1vsA>isQFA>isQCseDisQCq!fEj$,,aS2%@j$,,aS*EisQC< KK1aDQ1%SZ#DLL2A6Q<0SZ#DLL2A6Q1%SZ#DLL2A6Q?3SZ#DLL2A6a1&!1!3!3Q7FBHHe^$<$>$>?a1&!1!3!3\BFBHHe^$<$>$>?MM!VVX!$Q$14a4aQ!,F*a\Q7F*,,q"((B8"4"6"6Q?GRXXun%=%?%?@,,q"((B8"4"6"6JGRXXun%=%?%?@ DLLq1Aq6:DLL1v6A?KKAqEQ1%DLL2A6Q9-DLL2A6E)r   c                    / SQn[        [        [        R                  US5        [	        [        R                  " U5      US S 5        [	        [        R                  " US5      US S 5        [	        [        R                  " US5      S/5        g )N)r   r   r   r   r   r   r   r   r   )r   r   r   r   r   )r,   r   s     r   test_polytrimTestMisc.test_polytrimg  sh     	j$--r: 	T]]4($s)4T]]4+T#2Y7T]]4+aS1r   c                 J    [        [        R                  " SS5      SS/5        g )Nr?   r   r   r   polyliner+   s    r   test_polylineTestMisc.test_polyliner  s    T]]1a(1a&1r   c                 H    [        [        R                  " SS5      S/5        g )Nr?   r   rY  r+   s    r   test_polyline_zeroTestMisc.test_polyline_zerou  s    T]]1a(1#.r   c                    [         R                  R                  S/S/SS9n[        UR                  S/5        [         R                  R                  SS/SS/SS9n[        UR                  S/5        [        [        R                  5         [         R                  R                  SS/SS/SS9nS S S 5        g ! , (       d  f       g = f)Nr   r   r   )degr   g @gffffff @)	r   r@   fitr   r   r   r   puRankWarning)r,   r   s     r   test_fit_degenerate_domain#TestMisc.test_fit_degenerate_domainx  s    OOaSa0QVVbT"OOACa8AFFTF+"..)##QFQH!#<A *))s   $B99
Cc                    [         R                  " SS/[         R                  S9n[         R                  R	                  XUS9nU" S5      n[        UR                  [         R                  5        [         R                  " S[         R                  " S5      5      n[        US   R                  [         R                  5        g )Nr   r   r   r   r   r   )	r[   r   float32
polynomialr@   r   r   rw   float64)r,   rF  r   r  arrs        r   test_result_typeTestMisc.test_result_type  s|    HHb!WBJJ/MM$$Q$;aDQWWbjj)jjBJJqM*SV\\2::.r   rK   N)rL   rM   rN   rO   r;  r>  rS  rV  r[  r^  re  rl  rP   rK   r   r   r4  r4    s,    66D*L	22/=/r   r4  )-__doc__	functoolsr   	fractionsr   numpyr[   numpy.polynomial.polynomialri  r   numpy.polynomial.polyutils	polyutilsrc  rF   rJ  r   numpy.testingr   r   r   r	   r
   r   r   r   T0T1T2T3T4T5T6T7T8T9r9  r'   rR   r   r   r   r  r  r'  r4  rK   r   r   <module>r     s       * * ' '  ; ; ;
& SV#)-	RRRRR0 0C@ C@J) )(l' l'^_& _&D%& %&P1: 1:h9 9y/ y/r   