+
    eiY  c            
       s   R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIt	^ RI
Hu Ht ^ RIHu Ht ^ RIHtHtHtHtHtHtHt R t^.t^ ^.t. ROt. ROt. ROt. ROt. ROt. ROt . ROt!. R Ot"]]]]]]]] ]!]".
t# ! R R4      t$ ! R	 R
4      t% ! R R4      t& ! R R4      t' ! R R4      t( ! R R4      t) ! R R4      t* ! R R4      t+ ! R R4      t,R# )!zTests for polynomial module.

N)deepcopy)Fraction)reduce)assert_assert_almost_equalassert_array_equalassert_equalassert_raisesassert_raises_regexassert_warnsc                 s2    \         P                  ! V R R7      # )gư>)Ztol)polypolytrimx   &M/usr/lib64/python3.14/site-packages/numpy/polynomial/tests/test_polynomial.pytrimr      s    ==%%    c                   sD   a  ] tR t^)t o R tR tR tR tR tR t	Rt
V tR# )	TestConstantsc                s>    \        \        P                  R^.4       R# )   N)r   r
   Z
polydomainselfr   r   test_polydomainZTestConstants.test_polydomain+   s    T__r1g.r   c                s<    \        \        P                  ^ .4       R#     N)r   r
   Zpolyzeror   r   r   test_polyzeroZTestConstants.test_polyzero.   s    T]]QC(r   c                s<    \        \        P                  ^.4       R# r   N)r   r
   Zpolyoner   r   r   test_polyoneZTestConstants.test_polyone1   s    T\\A3'r   c                s>    \        \        P                  ^ ^.4       R# r   )r   r
   Zpolyxr   r   r   
test_polyxZTestConstants.test_polyx4   s    TZZ!Q(r   c                sb    \         P                  ! . RO4      p\        V4      p\        W4       R# r   Nr         )r
   
Polynomialr    r   r   r   y   &  r   	test_copyZTestConstants.test_copy7   s!    OOI&QKQr   c                s    \         P                  ! . RO4      p\        P                  ! \        P                  ! V4      4      p\        W4       R# r   )r
   r"   pickleZloadsZdumpsr   r#   r%   r   test_pickleZTestConstants.test_pickle<   s.    OOI&LLa)Qr    N)__name__
__module____qualname____firstlineno__r   r   r   r   r&   r(   __static_attributes____classdictcell__Z__classdict__   @r   r   r   )   s(     /)()
 r   r   c                   sD   a  ] tR t^At o R tR tR tR tR tR t	Rt
V tR# )	TestArithmeticc                s   \        ^4       F  p\        ^4       F  pRV RV 2p\        P                  ! \        W4      ^,           4      pWA;;,          ^,          uu&   WB;;,          ^,          uu&   \        P
                  ! ^ .V,          ^.,           ^ .V,          ^.,           4      p\        \        V4      \        V4      VR7       K  	  K  	  R#    At i=, j=Zerr_msgN)rangenpzerosmaxr
   polyaddr   r   r   ijmsgtgtres   &     r   test_polyaddZTestArithmetic.test_polyaddC       qA1XaSQC(hhs1y1}-!!llA37aS=1#'QC-@T#YS	3?  r   c                s   \        ^4       F  p\        ^4       F  pRV RV 2p\        P                  ! \        W4      ^,           4      pWA;;,          ^,          uu&   WB;;,          ^,          uu&   \        P
                  ! ^ .V,          ^.,           ^ .V,          ^.,           4      p\        \        V4      \        V4      VR7       K  	  K  	  R# r3   )r8   r9   r:   r;   r
   Zpolysubr   r   r=   rC   r   test_polysubZTestArithmetic.test_polysubM   rE   r   c                sL   \        \        P                  ! ^ .4      ^ .4       \        \        P                  ! ^.4      ^ ^.4       \        ^^4       FN  p^ .V,          ^.,           p^ .V^,           ,          ^.,           p\        \        P                  ! V4      V4       KP  	  R# r   )r   r
   Zpolymulxr8   )r   r>   ZserrA      &   r   test_polymulxZTestArithmetic.test_polymulxW   s|    T]]A3'!-T]]A3'!Q0q!A#'QC-C#Q-1#%Cs+S1 r   c                s   \        ^4       F  p\        ^4       F  pRV RV 2p\        P                  ! W,           ^,           4      pWAV,           ;;,          ^,          uu&   \        P                  ! ^ .V,          ^.,           ^ .V,          ^.,           4      p\        \        V4      \        V4      VR7       K  	  K  	  R# r3   )r8   r9   r:   r
   polymulr   r   r=   rC   r   test_polymulZTestArithmetic.test_polymul_   s    qA1XaSQC(hhquqy)E
a
llA37aS=1#'QC-@T#YS	3?  r   c                s\   \        \        \        P                  ^.^ .4       \        P                  ! ^.^.4      w  r\	        W3R4       \        P                  ! ^^.^.4      w  r\	        W3R4       \        ^4       F  p\        ^4       F  pRV RV 2p^ .V,          ^^.,           p^ .V,          ^^.,           p\        P                  ! Wg4      p\        P                  ! W4      w  r\        P                  ! \        P                  ! W4      V4      p	\	        WVR7       K  	  K  	  R# )r   r5   r6   r7   N)r   r   ))r   r   r   )r   ZZeroDivisionErrorr
   polydivr   r8   r<   rI   )
r   ZquoZremr>   r?   r@   ZciZcjrA   rB   
   &         r   test_polydivZ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           	     st   \        ^4       F  p\        ^4       F  pRV RV 2p\        P                  ! V^,           4      p\        \        P
                  V.V,          \        P                  ! ^.4      4      p\        P                  ! WB4      p\        \        V4      \        V4      VR7       K  	  K  	  R# r3   )
r8   r9   aranger   r
   rI   arrayZpolypowr   r   )r   r>   r?   r@   crA   rB      &      r   test_polypowZTestArithmetic.test_polypow}   s    qA1XaSQC(IIa!e$T\\A37BHHaSMBll1(T#YS	3?  r   r)   N)r*   r+   r,   r-   rD   rF   rH   rJ   rM   rR   r.   r/   r0   r1   r   r2   r2   A   s-     @@2@4*@ @r   r2   c                   s&   a  ] tR t^t o R tRtV tR# )TestFractionc                s   \        ^^4      p\        ^^4      p\        ^ ^4      p\        P                  ! W.W2.W2.R7      p^V,          V^,          ,           p\        VP                  \
        P                  ! \        ^^	4      \        ^^	4      \        ^^	4      .\        R7      4       \        VP                  W2.4       \        VP                  P                  \
        P                  P                  4       4       \        \        V! V4      \         4      4       \        V! V4      \        ^
^	4      4       \        P                  ! \        ^^4      .W2.W2.R7      p\        VP                  4       V4       R# )r    domainZwindowdtypeN)r   r
   r"   r   coefr9   rO   ZobjectrU   rW   ZdtypesZObjectDTyper   Z
isinstanceZderiv)r   fZoneZzeropr   Zp_derivrQ   r   test_FractionZ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   r)   N)r*   r+   r,   r-   r[   r.   r/   r0   r1   r   rS   rS      s     ) )r   rS   c                   s:  a  ] tR t^t o ]P
                  ! . RO4      t]P                  ! R]]4      t]P                  ! R]]]4      t	]P                  P                  R4      ^,          ^,
          t]P                  ! ]. RO4      tR tR tR tR tR tR tR	tV tR
# )TestEvaluationi,j->ij
i,j,k->ijkc                s   \        \        P                  ! . ^.4      P                  ^ 4       \        P
                  ! R^4      p\        ^4       Uu. uF  q!V,          NK  	  pp\        ^4       F=  pW2,          p\        P                  ! V^ .V,          ^.,           4      p\        WT4       K?  	  W^,          ^,
          ,          p\        P                  ! V. RO4      p\        WT4       \        ^4       F  p^.V,          p\        P                  ! V4      p\        \        P                  ! V^.4      P                  V4       \        \        P                  ! V^^ .4      P                  V4       \        \        P                  ! V. RO4      P                  V4       K  	  . ROp\        P                  P                  . R	OVR7      p\        P                  ! . R
OV4      p\        VP                  V4        ! R R\        P                  4      p	\        P                  ! . R	O4      P                  V	4      p
\        \!        \        P                  ! . ROV
4      4      V	4       R# u upi )r   )maskc                   s    ] tR t^tRtR# )&TestEvaluation.test_polyval.<locals>.Cr)   N)r*   r+   r,   r-   r.   r)   r   r   Cr`      s    r   ra   Nr   )r   r   r   r   r   r   r   )FTFr   )i   r4   r!   r    r!      )r   r
   polyvalsizer9   linspacer8   r   r:   shapeZmarO   r   r_   ZndarrayZviewZtype)r   r   r>   r$   rA   rB   dimsr_   Zmxra   Zcxs   &          r   test_polyvalZTestEvaluation.test_polyval   s   T\\"qc*//3 KKA 8$8aTT8$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                s	   \        \        \        P                  ^.^.RR7       \	        \        P                  ! . ^.4      P
                  ^ 4       \        \        P                  ! . ^.4      P                  R8H  4       \	        \        P                  ! . ^.^,          .4      P
                  ^ 4       \        \        P                  ! . ^.^,          .4      P                  R	8H  4       \	        \        P                  ! ^^4      ^ 4       \        \        P                  ! ^\        P                  ! R
4      4      P                  R8H  4       \        P                  ! R^4      p\        ^4       Uu. uF  q!V,          NK  	  pp\        ^^4       F5  pW2,          p\        P                  ! V^ .V,          4      p\        WT4       K7  	  W^,
          ,          V^,           ,          p\        P                  ! V. RO4      p\        WT4       \        ^4       F  p^.V,          p\        P                  ! V4      p\	        \        P                  ! V^.4      P                  V4       \	        \        P                  ! V^^ .4      P                  V4       \	        \        P                  ! V. RO4      P                  V4       K  	  . ROp\        P                  ! V4      p\        P                  ! R^4      p\        \        P                  ! W4      \        P                  ! W4      4       Rp	\        P                   ! R^4      p\        P"                  P%                  R^V	R7      p\        P                  ! WRR7      p\        P&                  ! VP                  R,          4      p\        VP
                  4       F+  p
\        P                  ! W,          VRV
3,          4      WJ&   K-  	  \	        WT4       \        P(                  ! V^V,          .4      p\        P                  ! WRR7      p\        P&                  ! VP                  R,          VP                  ,           4      p\        VP                  ^,          4       FQ  p
\        VP                  ^ ,          4       F.  p\        P                  ! W,          VRV
3,          4      WJVR3&   K0  	  KS  	  \	        WT4       R# u upi )r   F)Ztensor)rf   :r   NNNNNTN)r   )r4   r   )r!   r!   )r!   r   )r   r   r   rb   )i   r    iir   r!   r4   i)r   
ValueErrorr
   Zpolyvalfromrootsr   rf   r   rh   r9   onesrg   r8   r   r:   	polyrootsre   rN   randomZrandintZemptyvstack)r   r   r>   r$   rA   rB   ri   ZptestZrZrshapeZiiZjjs   &           r   test_polyvalfromrootsZ$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TT8$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hhqwwr{#/B++AE1QU8<CG "S IIq!a%j!##A6hhqwwr{QWW,-
#BAGGAJ'!%!6!6qua2h!GAI ( $ 	SU %s   /Sc                s   V P                   w  rpV P                  w  rEp\        \        R \        P
                  WR,          V P                  4       WE,          p\        P
                  ! WV P                  4      p\        W4       \        P                  ! R4      p	\        P
                  ! WV P                  4      p\        VP                  R8H  4       R# Zincompatible:Nr    NNr    r!   )r   r$   r   rn   r
   	polyval2dc2dr   r9   ro   r   rh   
r   x1x2x3Zy1Zy2Zy3rA   rB   ZzrL   r   test_polyval2dZTestEvaluation.test_polyval2d  s    VV
VV
 	J NNB2	B gnnRTXX.C% GGFOnnQ488,		V#$r   c           	     s   V P                   w  rpV P                  w  rEp\        \        R \        P
                  WVR,          V P                  4       WE,          V,          p\        P
                  ! WW0P                  4      p\        W4       \        P                  ! R4      p	\        P
                  ! WWP                  4      p\        VP                  R8H  4       R# rt   )r   r$   r   rn   r
   	polyval3dc3dr   r9   ro   r   rh   rx   rL   r   test_polyval3dZTestEvaluation.test_polyval3d  s    VV
VV
 	Jnnbbfdhh	@ glnnRR2C% GGFOnnQ1hh/		V#$r   c                sf   V P                   w  rpV P                  w  rEp\        P                  ! R WE4      p\        P
                  ! WV P                  4      p\        W4       \        P                  ! R4      p	\        P
                  ! WV P                  4      p\        VP                  R8H  4       R# )r]   Nru   )r    r!   r    r!   )r   r$   r9   einsumr
   Z
polygrid2drw   r   ro   r   rh   rx   rL   r   test_polygrid2dZTestEvaluation.test_polygrid2d,  s~    VV
VV
 ii	2*oobdhh/C% GGFOooaDHH-		Z'(r   c                sh   V P                   w  rpV P                  w  rEp\        P                  ! R WEV4      p\        P
                  ! WW0P                  4      p\        W4       \        P                  ! R4      p	\        P
                  ! WWP                  4      p\        VP                  R8H  4       R# )r^   Nru   )r    r!   r    r!   r    r!   )r   r$   r9   r   r
   Z
polygrid3dr~   r   ro   r   rh   rx   rL   r   test_polygrid3dZTestEvaluation.test_polygrid3d:  s    VV
VV
 iibb1oobb((3C% GGFOooaAxx0		Z'(r   r)   N)      ?       @g      @rl   )r*   r+   r,   r-   r9   rO   Zc1dr   rw   r~   rq   r   r
   re   r$   rj   rs   r|   r   r   r   r.   r/   r0   r1   r   r\   r\      s     
((<
 C
))IsC
(C
))L#sC
0C 			 1$q(AQ%A"9H>@%$%$)) )r   r\   c                   ,   a  ] tR tRt o R tR tRtV tR# )TestIntegraliI  c                s
   \        \        \        P                  ^ .R4       \        \        \        P                  ^ .R4       \        \        \        P                  ^ .^^ ^ .4       \        \        \        P                  ^ .^ .R7       \        \        \        P                  ^ .^ .R7       \        \        \        P                  ^ .RR7       \        \        \        P                  ^^.R4       \        ^^4       FC  p^ .V^,
          ,          ^.,           p\        P                  ! ^ .WR7      p\        V^ ^.4       KE  	  \        ^4       Fw  pV^,           p^ .V,          ^.,           pV.^ .V,          ,           ^V,          .,           p\        P                  ! V^V.R7      p\        \        V4      \        V4      4       Ky  	  \        ^4       FZ  pV^,           p^ .V,          ^.,           p\        P                  ! V^V.RR7      p\        \        P                  ! RV4      V4       K\  	  \        ^4       Fx  pV^,           p^ .V,          ^.,           pV.^ .V,          ,           ^V,          .,           p\        P                  ! V^V.^R7      p\        \        V4      \        V4      4       Kz  	  \        ^4       F  p\        ^^4       F}  p^ .V,          ^.,           pVR	,          p\        V4       F  p\        P                  ! V^R
7      pK  	  \        P                  ! WWR
7      p\        \        V4      \        V4      4       K  	  K  	  \        ^4       F  p\        ^^4       F  p^ .V,          ^.,           pVR	,          p\        V4       F  p\        P                  ! V^V.R7      pK  	  \        P                  ! WW\        \        V4      4      R7      p\        \        V4      \        V4      4       K  	  K  	  \        ^4       F  p\        ^^4       F  p^ .V,          ^.,           pVR	,          p\        V4       F  p\        P                  ! V^V.RR7      pK   	  \        P                  ! WW\        \        V4      4      RR7      p\        \        V4      \        V4      4       K  	  K  	  \        ^4       F  p\        ^^4       F  p^ .V,          ^.,           pVR	,          p\        V4       F  p\        P                  ! V^V.^R7      pK   	  \        P                  ! WW\        \        V4      4      ^R7      p\        \        V4      \        V4      4       K  	  K  	  R# )r         ?)lbnd)sclaxisr   )mk)r   r   r   )r   r   r   rk   r   Nr   )
r   	TypeErrorr
   polyintrn   r8   r   r   re   Zlist)r   r>   r   rB   r   ZpolrA   r?      &       r   test_polyintZ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           
     s   \         P                  P                  R4      p\         P                  ! VP                   Uu. uF  p\        P
                  ! V4      NK  	  up4      P                  p\        P
                  ! V^ R7      p\        WC4       \         P                  ! V Uu. uF  p\        P
                  ! V4      NK  	  up4      p\        P
                  ! V^R7      p\        WC4       \         P                  ! V Uu. uF  p\        P
                  ! V^R7      NK  	  up4      p\        P
                  ! V^^R7      p\        WC4       R# u upi u upi u upi )r!   r   )r   )r   r   Nr!   rd   )r9   rq   rr   Tr
   r   r   r   rw   rP   rA   rB      &    r   test_polyint_axisZ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r)   N)r*   r+   r,   r-   r   r   r.   r/   r0   r1   r   r   r   I  s     M:^& &r   r   c                   r   )TestDerivativei  c           
     sJ   \        \        \        P                  ^ .R4       \        \        \        P                  ^ .R4       \        ^4       FK  p^ .V,          ^.,           p\        P                  ! V^ R7      p\        \        V4      \        V4      4       KM  	  \        ^4       Fs  p\        ^^4       F`  p^ .V,          ^.,           p\        P                  ! \        P                  ! W$R7      VR7      p\        \        V4      \        V4      4       Kb  	  Ku  	  \        ^4       Fu  p\        ^^4       Fb  p^ .V,          ^.,           p\        P                  ! \        P                  ! W$^R7      VRR7      p\        \        V4      \        V4      4       Kd  	  Kw  	  R# )r   r   r   )r   r   Nr   )
r   r   r
   polyderrn   r8   r   r   r   r   )r   r>   rA   rB   r?   r   r   test_polyderZ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                s   \         P                  P                  R4      p\         P                  ! VP                   Uu. uF  p\        P
                  ! V4      NK  	  up4      P                  p\        P
                  ! V^ R7      p\        WC4       \         P                  ! V Uu. uF  p\        P
                  ! V4      NK  	  up4      p\        P
                  ! V^R7      p\        WC4       R# u upi u upi )r!   r   Nr   )r9   rq   rr   r   r
   r   r   r   r   r   test_polyder_axisZ 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   C0%C5r)   N)r*   r+   r,   r-   r   r   r.   r/   r0   r1   r   r   r     s     :2
& 
&r   r   c                   s   a  ] tR tRt o ]P
                  P                  R4      ^,          ^,
          tR tR tR t	R t
RtV tR# )	
TestVanderi  c                s`   \         P                  ! ^4      p\        P                  ! V^4      p\	        VP
                  R8H  4       \        ^4       F>  p^ .V,          ^.,           p\        VRV3,          \        P                  ! W4      4       K@  	  \         P                  ! ^^.^^.^^..4      p\        P                  ! V^4      p\	        VP
                  R8H  4       \        ^4       F>  p^ .V,          ^.,           p\        VRV3,          \        P                  ! W4      4       K@  	  R# )r!   .Nr   )r!   r    rd   )
r9   rN   r
   
polyvanderr   rh   r8   r   re   rO   )r   r   vr>   rX   r   r   test_polyvanderZ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                s   V P                   w  rp\        P                  P                  R4      p\        P                  ! W^^.4      p\        P
                  ! WV4      p\        P                  ! WTP                  4      p\        Wv4       \        P                  ! V.V.^^.4      p\        VP                  R8H  4       R# )r    Nru   )r   r4      )r   r9   rq   r
   Zpolyvander2drv   dotflatr   r   rh   r   ry   rz   r{   rP   ZvanrA   rB   r   r   test_polyvander2dZTestVander.test_polyvander2d  s    VV
IIV$A/nnRQ'ffS&&!C% rdQF3		Y&'r   c                s   V P                   w  rp\        P                  P                  R4      p\        P                  ! WV. RO4      p\        P
                  ! WW44      p\        P                  ! WTP                  4      p\        Wv4       \        P                  ! V.V.V.. RO4      p\        VP                  R8H  4       R# )r    Nrc   r   )r   r4   i   )r   r9   rq   r
   Zpolyvander3dr}   r   r   r   r   rh   r   r   r   test_polyvander3dZTestVander.test_polyvander3d  s    VV
IIY'I6nnRR+ffS&&!C% rdRD)<		Z'(r   c                sr    \         P                  ! ^4      p\        \        \        P
                  VR4       R# )r!   Nr   )r9   rN   r   rn   r
   r   )r   r      & r   test_polyvandernegdegZ TestVander.test_polyvandernegdeg  s!    IIaLj$//1b9r   r)   Nrl   )r*   r+   r,   r-   r9   rq   r   r   r   r   r   r.   r/   r0   r1   r   r   r     s=     
		 1$q(AB"(): :r   r   c                   s2   a  ] tR tRt o R tR tR tRtV tR# )TestCompanioni  c                s    \        \        \        P                  . 4       \        \        \        P                  ^.4       R# r   )r   rn   r
   polycompanionr   r   r   test_raisesZTestCompanion.test_raises	  s(    j$"4"4b9j$"4"4qc:r   c                s    \        ^^4       FB  p^ .V,          ^.,           p\        \        P                  ! V4      P                  W38H  4       KD  	  R# r   )r8   r   r
   r   rh   )r   r>   rX   r%   r   test_dimensionsZTestCompanion.test_dimensions  sC    q!A37aS=DD&&t,22qf<= r   c                s\    \        \        P                  ! ^^.4      R,          R8H  4       R# )r   N)r   r         )r   r
   r   r   r   r   test_linear_rootZTestCompanion.test_linear_root  s#    ""Aq6*40C78r   r)   N)	r*   r+   r,   r-   r   r   r   r.   r/   r0   r1   r   r   r     s     ;>
9 9r   r   c                   sP   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestMisci  c           	     s   \         P                  ! . 4      p\        \        V4      ^.4       \	        ^^4       F  p\
        P                  ! \
        P                  ! \
        P                  ) ^ ^V,          ^,           4      R,          4      p\        V,          p\         P                  ! V4      ^V^,
          ,          ,          p\        \        V4      \        V4      4       K  	  R# )r   r   Nr    N)
r
   polyfromrootsr   r   r8   r9   Zcosrg   ZpiTlist)r   rB   r>   ZrootsrA   r   r   test_polyfromrootsZTestMisc.test_polyfromroots  s      $DIs+q!AFF2;;vq!a%!)<TBCE(C$$U+a!a%j8CS	495	 r   c                s   \        \        P                  ! ^.4      . 4       \        \        P                  ! ^^.4      R.4       \        ^^4       Fc  p\        P
                  ! R^V4      p\        P                  ! \        P                  ! V4      4      p\        \        V4      \        V4      4       Ke  	  \        P                  ! ^
^R^
R7       Fv  p\        P                  ! R^V.4      p\        P                  ! \        P                  ! V4      4      p\        W2^\        \        P                  ! V4      4      ,
          4       Kx  	  \        P                  ! ^
^R^
R7       Fv  p\        P                  ! RRV.4      p\        P                  ! \        P                  ! V4      4      p\        W2^\        \        P                  ! V4      4      ,
          4       Kx  	  R# )r   i  )ZnumZbaseg)\(?Nr   r   )r   r
   rp   r8   r9   rg   r   r   ZlogspacerO   ZintZlog10)r   r>   rA   rB   rG   r   test_polyrootsZ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   R  pR p\        \        \        P                  ^.^.R4       \        \        \        P                  ^..^.^ 4       \        \        \        P                  . ^.^ 4       \        \        \        P                  ^.^...^ 4       \        \        \        P                  ^^.^.^ 4       \        \        \        P                  ^.^^.^ 4       \        \        \        P                  ^.^.^ ^..R7       \        \        \        P                  ^.^.^ ^^.R7       \        \        \        P                  ^.^.R.4       \        \        \        P                  ^.^.. RO4       \        \        \        P                  ^.^.. 4       \
        P                  ! ^ ^4      pV! V4      p\        P                  ! W4^4      p\        \        V4      ^4       \        \        P                  ! W54      V4       \        P                  ! W4. RO4      p\        \        V4      ^4       \        \        P                  ! W54      V4       \        P                  ! W4^4      p\        \        V4      ^4       \        \        P                  ! W64      V4       \        P                  ! W4. R	O4      p\        \        V4      ^4       \        \        P                  ! W64      V4       \        P                  ! V\
        P                  ! WD.4      P                  ^4      p\        V\
        P                  ! WU.4      P                  4       \        P                  ! V\
        P                  ! WD.4      P                  . RO4      p\        V\
        P                  ! WU.4      P                  4       \
        P                  ! V4      pVP                  4       p	^VR&   ^ V	R&   \        P                  ! W9^VR7      p
\        W4       \        P                  ! W9. ROVR7      p
\        W4       \        P                  ! V\
        P                  ! W.4      P                  ^VR7      p\        V\
        P                  ! WU.4      P                  4       \        P                  ! V\
        P                  ! W.4      P                  . ROVR7      p\        V\
        P                  ! WU.4      P                  4       . R
Op\        \        P                  ! W3^4      ^ ^.4       \        \        P                  ! W3^ ^.4      ^ ^.4       \
        P                  ! R^4      pV! V4      p\        P                  ! W4^4      p\        \        P                  ! W<4      V4       \        P                  ! W4. RO4      p\        \        P                  ! W=4      V4       \        W4       R# )c                 s<    W ^,
          ,          V ^,
          ,          # )r   r)   r   r   r   rY   Z TestMisc.test_polyfit.<locals>.f8  s    A;!a%((r   c                 s>    V ^,          V ^,          ,           ^,           # )rd   r)   r   r   r   f2Z!TestMisc.test_polyfit.<locals>.f2;  s    a4!Q$;?"r   )wr   :r   Nr    Nr   )r    r   r   )r   r   r    r!   )r   r   r    r!   rd   )r   y              ?r   y             )r   r    rd   )r   rn   r
   Zpolyfitr   r9   rg   r   Zlenr   re   rO   r   Z
zeros_likecopy)r   rY   r   r   r$   Zcoef3Zcoef4Zcoef2dr   ZywZwcoef3Zwcoef2dZcoef1Zcoef2s   &             r   test_polyfitZ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$4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    . ROp\        \        \        P                  VR4       \	        \        P                  ! V4      VRR 4       \	        \        P                  ! V^4      VRR 4       \	        \        P                  ! V^4      ^ .4       R# )r    Nr   )r    r   r   r   rm   )r   rn   r
   r   r   )r   rX   r   r   test_polytrimZTestMisc.test_polytrim}  sh     	j$--r: 	T]]4($s)4T]]4+T#2Y7T]]4+aS1r   c                sL    \        \        P                  ! ^^4      ^^.4       R# r!   Nr   r
   Zpolyliner   r   r   test_polylineZTestMisc.test_polyline  s    T]]1a(1a&1r   c                sJ    \        \        P                  ! ^^ 4      ^.4       R# r   r   r   r   r   test_polyline_zeroZTestMisc.test_polyline_zero  s    T]]1a(1#.r   c                s   \         P                  P                  ^.^.^ R7      p\        VP                  R.4       \         P                  P                  ^^.^R.^ R7      p\        VP                  R.4       \        \        P                  4      ;_uu_ 4        \         P                  P                  ^^.^R.^R7      pRRR4       R#   + '       g   i     R# ; i)r   )Zdegr   g @gffffff @N)	r
   r"   Zfitr   rX   r   r	   puZRankWarning)r   rZ   r   r   test_fit_degenerate_domainZ#TestMisc.test_fit_degenerate_domain  s    OOaSa0QVVbT"OOACa8AFFTF+"..))##QFQH!#<A *)))s   'CC	c                s   \         P                  ! R^.\         P                  R7      p\         P                  P	                  WVR7      pV! ^4      p\        VP                  \         P                  4       \         P                  ! ^\         P                  ! ^4      4      p\        V^ ,          P                  \         P                  4       R# )r   rV   rT   Nr   )	r9   rO   Zfloat32
polynomialr"   r   rW   rK   Zfloat64)r   r   rZ   r   Zarrr   r   test_result_typeZTestMisc.test_result_type  s|    HHb!WBJJ/MM$$Q$;aDQWWbjj)jjBJJqM*SV\\2::.r   r)   N)r*   r+   r,   r-   r   r   r   r   r   r   r   r   r.   r/   r0   r1   r   r   r     s5     6A,D*L	22/=/ /r   r   )r   r   r    )r   rm   r   rd   )r   r   ir   i   )r   r4   r   ir   i   )r   r   i   r   ir   i    )r   ir   i8   r   ir   i@   )	r   r   ir   i   r   i r   i   )
r   i	   r   ir   i  r   ir   i   )-Z__doc__r'   r   r    Z	fractionsr   Z	functoolsr   Znumpyr9   Znumpy.polynomial.polynomialr   r
   Znumpy.polynomial.polyutilsZ	polyutilsr   Znumpy.testingr   r   r   r   r   r   r	   r   ZT0ZT1ZT2ZT3ZT4ZT5ZT6ZT7ZT8ZT9r   r   r2   rS   r\   r   r   r   r   r   r)   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   