
    >>i\              
          S r SSKrSSKJr  SSKJr  SSKJr  SSKrSSK	r
SSKJs  Jr  SSK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) " S# S$5      r*S% r+S& r,g)'zTests for polynomial module.

    N)deepcopy)Fraction)reduce)assert_assert_almost_equalassert_array_equalassert_equalassert_raisesassert_raises_regexc                 ,    [         R                  " U SS9$ )Ngư>)tol)polypolytrimxs    e/var/www/html/land-tabula/venv/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_polyone1   s    T\\A3'r   c                 <    [        [        R                  SS/5        g )Nr   r   )r	   r   polyxr*   s    r   
test_polyxTestConstants.test_polyx4   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_copy7   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	   r@   s      r   test_pickleTestConstants.test_pickle<   s.    OOI&LLa)Qr    N)__name__
__module____qualname____firstlineno__r,   r0   r5   r9   rB   rH   __static_attributes__rJ   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	)
TestArithmeticA   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_polyaddC       qA1XaSQC(hhs1y1}-!!llA37aS=1#'QC-@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 rT   )rY   rZ   r[   r\   r   polysubr	   r   r^   s         r   test_polysubTestArithmetic.test_polysubM   rf   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   polymulxrY   )r+   r_   serrb   s       r   test_polymulxTestArithmetic.test_polymulxW   s|    T]]A3'!-T]]A3'!Q0q!A#'QC-C#Q-1#%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 rT   )rY   rZ   r[   r   polymulr	   r   r^   s         r   test_polymulTestArithmetic.test_polymul_   s    qA1XaSQC(hhquqy)E
a
llA37aS=1#'QC-@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   rU   rV   rW   )r
   ZeroDivisionErrorr   polydivr	   rY   r]   rq   )
r+   quoremr_   r`   ra   cicjrb   rc   s
             r   test_polydivTestArithmetic.test_polydivh   s    'sQC@ <<aS)cZ(<<A,cZ- qA1XaSQC(S1W1v%S1W1v%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   rU   rV   r   rW   )
rY   rZ   aranger   r   rq   arraypolypowr	   r   )r+   r_   r`   ra   crb   rc   s          r   test_polypowTestArithmetic.test_polypow}   s    qA1XaSQC(IIa!e$T\\A37BHHaSMBll1(T#YS	3?  r   rJ   N)rK   rL   rM   rN   rd   ri   rn   rr   r{   r   rO   rJ   r   r   rQ   rQ   A   s$    @@2@4*@r   rQ   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	   coefrZ   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   rJ   N)rK   rL   rM   rN   r   rO   rJ   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   rJ   N)rK   rL   rM   rN   rO   rJ   r   r   Cr      s    r   r   r   r>   r   )r	   r   polyvalsizerZ   linspacerY   r   r[   shapemar   r   r   ndarrayviewtype)r+   r   r_   rA   rb   rc   dimsr   mxr   cxs              r   test_polyvalTestEvaluation.test_polyval   s   T\\"qc*//3 KKA 8$8aT8$qA$C,,q1#'QC-0C)  a4!8nll1m,C% qA37D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   rZ   onesr   rY   r   r[   	polyrootsr   r~   randomrandintemptyvstack)r+   r   r_   rA   rb   rc   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''A373C)  q5kQU###Az2C% qA37D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%j!##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   rA   r   r   r   	polyval2dc2dr   rZ   r   r   r   
r+   x1x2x3y1y2y3rb   rc   zs
             r   test_polyval2dTestEvaluation.test_polyval2d  s    VV
VV
 	J NNB2A	B g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   rA   r   r   r   	polyval3dc3dr   rZ   r   r   r   r   s
             r   test_polyval3dTestEvaluation.test_polyval3d  s    VV
VV
 	Jnnbb!fdhh	@ gl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   rA   rZ   einsumr   
polygrid2dr   r   r   r   r   r   s
             r   test_polygrid2dTestEvaluation.test_polygrid2d,  s~    VV
VV
 ii	2*oobdhh/C% GGFOooaDHH-		Z'(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   rA   rZ   r   r   
polygrid3dr   r   r   r   r   r   s
             r   test_polygrid3dTestEvaluation.test_polygrid3d:  s    VV
VV
 iibb1oobb((3C% GGFOooaAxx0		Z'(r   rJ   N)rK   rL   rM   rN   rZ   r   c1dr   r   r   r   r   r   r   rA   r   r   r   r   r   r   rO   rJ   r   r   r   r      s    
((<
 C
))IsC
(C
))L#sC
0C 			 1$q(AQ%A"9H>@%$%$))r   r   c                        \ rS rSrS rS rSrg)TestIntegraliI  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   rY   r   r   r   list)r+   r_   r   rc   r   polrb   r`   s           r   test_polyintTestIntegral.test_polyintK  s#   isB7j$,,R8j$,,QA?j$,,1#>j$,,!=is<i1vr: q!Aq1u#A,,sa-CaV,  qAa%C#'QC-C#a-1s7)+C,,saA3/CS	495  qAa%C#'QC-C,,saA3R8CR 5q9	  qAa%C#'QC-C#a-1s7)+C,,saA3A6CS	495  qA1a[cAgm!fqA,,sa0C "ll3,#DItCy9 !  qA1a[cAgm!fqA,,saA37C "ll3tE!H~>#DItCy9 !  qA1a[cAgm!fqA,,saA3R@C "ll3tE!H~BG#DItCy9 !  qA1a[cAgm!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   )rZ   r   r   Tr   r   r   r+   r   r   rb   rc   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rJ   N)rK   rL   rM   rN   r   r  rO   rJ   r   r   r   r   I  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   rY   r	   r   r   r   )r+   r_   rb   rc   r`   s        r   test_polyderTestDerivative.test_polyder  s)   isB7j$,,R8 qA#'QC-C,,sa(CcDI.  qA1a[cAgmll4<<#9Q?#DItCy9 !  qA1a[cAgm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   )rZ   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rJ   N)rK   rL   rM   rN   r  r  rO   rJ   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   )
rZ   r~   r   
polyvanderr   r   rY   r   r   r   )r+   r   vr_   r   s        r   test_polyvanderTestVander.test_polyvander  s    IIaLOOAq!6!"qA37aS=D#q&	4<<+@A 
 HHq!fq!fq!f-.OOAq!9$%qA37aS=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   rZ   r   r   polyvander2dr   dotflatr   r   r   r+   r   r   r   r   vanrb   rc   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   rZ   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   )rZ   r~   r
   r   r   r  )r+   r   s     r   test_polyvandernegdeg TestVander.test_polyvandernegdeg  s!    IIaLj$//1b9r   rJ   N)rK   rL   rM   rN   rZ   r   r   r  r  r   r#  rO   rJ   r   r   r  r    s5    
		 1$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 r3   )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   )rY   r   r   r(  r   )r+   r_   r   s      r   test_dimensionsTestCompanion.test_dimensions  sC    q!A37aS=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   rJ   N)rK   rL   rM   rN   r)  r,  r0  rO   rJ   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   rY   rZ   cosr   piTlist)r+   rc   r_   rootsrb   s        r   test_polyfromrootsTestMisc.test_polyfromroots  s      $DIs+q!AFF2;;vq!a%!)<QTTBCE(C$$U+a!a%j8CS	495	 r   c                    [        [        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     [        R                  " SSSSS	9 Hr  n[        R                  " SSU/5      n[        R                  " [        R                  " U5      5      n[        X2S
[        [        R                  " U5      5      -
  5        Mt     [        R                  " SSSSS	9 Hr  n[        R                  " SSU/5      n[        R                  " [        R                  " U5      5      n[        X2S[        [        R                  " U5      5      -
  5        Mt     g )Nr   r   r/  r   r   r      i  )numbaser   g)\(?   )r   r   r   rY   rZ   r   r5  r   logspacer   intlog10)r+   r_   rb   rc   s       r   test_polyrootsTestMisc.test_polyroots!  sI   DNNA3/4DNNAq62SE:q!A++b!Q'C..!3!3C!89CS	495  RB7A((B1:&C..!3!3C!89C  "s288A;/?*?@ 8 RB7A((Ba=)C..!3!3C!89C  "s288A;/?*?@ 8r   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   rJ   r   s    r   r    TestMisc.test_polyfit.<locals>.f8  s    A;!a%((r   c                     U S-  U S-  -   S-   $ )Nr   r   r   rJ   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   rZ   r   r	   lenr   r   r   r   
zeros_likecopy)r+   r   rJ  r   rA   coef3coef4coef2drL  ywwcoef3wcoef2dcoef1coef2s                 r   test_polyfitTestMisc.test_polyfit7  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_polytrim}  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_polyline  s    T]]1a(1a&1r   c                 H    [        [        R                  " SS5      S/5        g )Nr>   r   r_  r*   s    r   test_polyline_zeroTestMisc.test_polyline_zero  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                  " [        R                  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   pytestwarnsrZ   
exceptionsRankWarning)r+   r   s     r   test_fit_degenerate_domain#TestMisc.test_fit_degenerate_domain  s    OOaSa0QVVbT"OOACa8AFFTF+\\"--334##QFQH!#<A 544s   !$C
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   )	rZ   r   float32
polynomialr?   r	   r   rv   float64)r+   rL  r   r  arrs        r   test_result_typeTestMisc.test_result_type  s|    HHb!WBJJ/MM$$Q$;aDQWWbjj)jjBJJqM*SV\\2::.r   rJ   N)rK   rL   rM   rN   r:  rD  rY  r\  ra  rd  rm  rt  rO   rJ   r   r   r3  r3    s-    6A,D*L	22/=/r   r3  c                        \ rS rSrS rS rSrg)ArrayFunctionInterceptori  c                     SU l         g )NFcalledr*   s    r   __init__!ArrayFunctionInterceptor.__init__  s	    r   c                     SU l         g)NTinterceptedry  )r+   functypesargskwargss        r   __array_function__+ArrayFunctionInterceptor.__array_function__  s    r   ry  N)rK   rL   rM   rN   r{  r  rO   rJ   r   r   rw  rw    s    r   rw  c                      [        5       n [        5       n[        5       n[        R                  R                  R                  XU5      nUS:X  d   eg Nr~  )rw  rZ   rq  r   r   rA   r   results       r   "test_polyval2d_array_function_hookr    sD     "A "A "A]]%%//a8F]"""r   c                      [        5       n [        5       n[        5       n[        R                  R                  R                  XU5      nUS:X  d   eg r  )rw  rZ   rq  r   r  s       r   #test_polygrid2d_array_function_hookr    sD     "A "A "A]]%%00q9F]"""r   )-__doc__rE   rP  r   	fractionsr   	functoolsr   ri  numpyrZ   numpy.polynomial.polynomialrq  r   numpy.testingr   r   r   r	   r
   r   r   T0T1T2T3T4T5T6T7T8T9r8  r&   rQ   r   r   r   r  r  r&  r3  rw  r  r  rJ   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G/ G/R ##r   