
    Kh,                         S SK rS SKJrJrJrJrJrJrJ	r	  S SK
r
\R                  S   \R                  S   -   S-   r " S S5      rg)    N)assert_assert_equalassert_array_equalassert_almost_equalassert_array_almost_equalassert_raisesassert_allclose
AllIntegerAllFloatOc                       \ rS rSrS rS rS r\R                  R                  S\
5      S\SS4S j5       rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rSrg)TestPolynomial   c                    [         R                  " / SQ5      n[        [        U5      S5        [        [	        U5      S5        [         R                  " / SQ5      n[        [        U5      S5        [        [	        U5      S5        [         R                  " / SQ5      n[        [	        U5      S5        [        [	        [         R                  " / S	Q5      5      S
5        g )N      ?      zpoly1d([1., 2., 3.])z   2
1 x + 2 x + 3      @r      zpoly1d([3., 2., 1.])   2
3 x + 2 x + 1)y[f?       @y             g"GBtk~y       @      ?z=            3      2
(1.9 + 2j) x - 3j x - 5.123 x + (2 + 1j))z    2
-3 x - 2 x - 1)nppoly1dr   reprstr)selfpqrs       Q/var/www/html/env/lib/python3.13/site-packages/numpy/lib/tests/test_polynomial.pytest_poly1d_str_and_repr'TestPolynomial.test_poly1d_str_and_repr   s    IIj!T!W45SV%	& IIj!T!W45SV%	& II>?SV@	A 	S<01&	'    c                     [         R                  " / SQ5      n[         R                  " / SQ5      n[        U" S5      S5        [        U" S5      S5        [        U" S5      S5        [        U" S5      S5        g )	Nr   r   r   r      g      C@r   g     U@r   r   r   r    r!   r"   s      r$   test_poly1d_resolution%TestPolynomial.test_poly1d_resolution%   sV    IIj!IIj!QqT3QqT4 QqT3QqT4 r'   c           	      r   [         R                  " / SQ5      n[         R                  " / SQ5      n[        X-  [         R                  " S/5      [         R                  " SS/5      45        [        UR                  5       [         R                  " / SQ5      5        [        UR                  S5      [         R                  " / SQ5      5        [         R                  " / SQ5      n[         R                  " / S	Q5      n[        X-  [         R                  " / S
Q5      5        [        X-   [         R                  " / SQ5      5        [        X-
  [         R                  " / SQ5      5        [        US-  [         R                  " / SQ5      5        [        U" U5      [         R                  " / SQ5      5        [        U" U5      [         R                  " / SQ5      5        [        UR	                  5       [         R                  " SS/5      5        [        UR	                  S5      [         R                  " S/5      5        [        [         R
                  " [         R                  " / SQ5      [         R                  " SS/5      5      [         R                  " SS/5      [         R                  " S/5      45        g )N)r   r      )      @r   r         ?g      ?g      @)gUUUUUU?r   r0           r   r   r   )r          @g      ,@r3   r   )r0   r0   r0   )g       r2          @r/   )	r   r3   g      B@g      Z@g     j@g     s@g     @t@g      k@g     @T@)g      "@      (@g      0@r3   g      @)r   r5   g      @@g      D@g      A@r4   r   )r   r   r   r   g      r2   )r   r   r   integderivpolydivr+   s      r$   test_poly1d_mathTestPolynomial.test_poly1d_math-   s   IIj!IIj!QS299dV,biid.DEFQWWY		*; <=QWWQZ+<!=>IIj!IIj!QUBII&;<=QUBIIl34QUBIIm45Q!VRYY'WXYQqT299%;<=QqT299%=>?QWWY		2r( 34QWWQZB41RZZ		* 5ryy!Q7HIiiS	*BIIrdO<	>r'   	type_codereturnNc                 .   [         R                  " U5      n[         R                  " / SQUS9n[         R                  " U5      n[	        [         R
                  " U5      U5        [	        [         R
                  " U5      R                  U5        [	        [        U5      S5        SSSSSS.nUR                  5        HW  u  pgXF   n[	        X5        U[         R                  :X  a  [        U[        5      (       d   eMA  [	        UR                  U5        MY     g )Nr   r   r   )dtyper   r   r   r   )r   r   r   r   r   )r   r?   arrayr   r   asarraylenitemsobject_
isinstanceint)	r    r;   r?   arr!   comparison_dctindexrefscalars	            r$   test_poly1d_miscTestPolynomial.test_poly1d_miscB   s    #XXiu-IIbM 	RZZ]B'RZZ]((%0SVQ  A!a8(..0JEXF%

"!&#....V\\51 1r'   c                     [         R                  " / SQSS9n[        [        U5      S5        [         R                  " / SQSS9n[        [        U5      S5        g )Nr   y)variablez   2
1 y + 2 y + 3lambdaz!        2
1 lambda + 2 lambda + 3r   r   r   r   )r    r"   s     r$   test_poly1d_variable_arg'TestPolynomial.test_poly1d_variable_argW   sJ    IIj3/SV%	& IIj84SV/	0r'   c                    [        [        R                  " S[        R                  " S5      * [        R                  " S5      /5      / SQ5        / SQ/ SQ/ SQ/n[        [        R                  " U5      / SQ5        [	        [        R
                  " [        R                  " / SQ5      5      5        [	        [        R
                  " [        R                  " / S	Q5      5      5        [	        [        R
                  " [        R                  " / S
Q5      5      5        [	        [        R
                  " [        R                  " / SQ5      5      5        [	        [        R
                  " [        R                  " / SQ5      5      5        [	        [        R
                  " [        R                  " SS/5      5      5        [	        [        R
                  " [        R                  " SS/5      5      5        [	        [        R                  " [        R                  " SS/5      5      5        [        R                  R                  S5        [        R                  R                  S5      S[        R                  R                  S5      -  -   n[	        [        R
                  " [        R                  " [        R                  " U[        R                  " U5      45      5      5      5        g )Nr   r   )r   r   r      r>   )r/   r)   rV   )      r   )r   iii)y        Zd;O?y        Cl@y       Cly       Zd;O)              ?y                    ?       @      ?       y      ?      @y      ?      )rY                rZ   r[   y      ?      @y      ?      )rY   r\   rZ   r[   )rY   r\                  @y              rY   r\   r   r   y         *   d   )r   r   polysqrtr   	isrealobjiscomplexobjrandomseedrandnconcatenate	conjugate)r    Aas      r$   	test_polyTestPolynomial.test_polya   s   !"''1rwwqzk2771:*F"G"0	2 	9-!"''!*.?@ 	RWW%IJKLRWW &= > ? 	@RWW%GHIJRWW%:;<=RWW%789:RWWb#Y/01RWWaW-./[(9 :;<
		rIIOOC 2biiooc&:#::RWWR^^QQ4H%IJKLr'   c                 L    [        [        R                  " / SQ5      SS/5        g )N)r   r   r   r   )r   r   rootsr    s    r$   
test_rootsTestPolynomial.test_rootsy   s    288I.A7r'   c                     [         R                  " / SQ5      nSUS'   [        [        U5      S5        [         R                  " SS/5      nSUS'   SUS'   [        [        U5      S5        g )N)r/   r   r   r   r   r   r   r   r   z 
0rR   r    r!   s     r$   test_str_leading_zeros%TestPolynomial.test_str_leading_zeros|   s`    IIl#!SV%	& IIq!f!!SVV$r'   c           	      	   [         R                  " / SQ5      n[         R                  " SSS5      n[         R                  " X5      n/ SQn[         R                  " SSS5      S-  S	-  n[        [        [         R                  S/S/SS
S9  [         R                  " X#U-   SS
S9u  pg/ SQn[        XSS9  / SQ/ SQ/ SQ/n	[        XSS9  [         R                  " X#U-   SUS
S9u  p[        / SQU
SS9  / SQ/ SQ/ SQ/n[        XSS9  [         R                  " X#U-   SUSS9u  p[        / SQUSS9  / SQ/ SQ/ SQ/n[        XSS9  US S 2[         R                  4   nUS S 2[         R                  4   n[        U[         R                  " X#S5      5        [         R                  " X34SS9n[         R                  " X4SS9n[        U[         R                  " X/S5      5        [         R                  " X/[         R                  " U5      S S 2[         R                  4   -   SS
S9u  pg[        XS S 2S4   SS9  [        XS S 2S4   SS9  [        XS S 2S S 2S4   SS9  [        XS S 2S S 2S4   SS9  [         R                  R                  S5        [         R                  R                  SS9n[         R                  " [         R                  " UR                  S   5      USS
S9u  nn[!        UR#                  5       S S!S"9  [!        [         R$                  " UR'                  5       5      S S!S"9  [         R                  " [         R                  " UR                  S   5      U[         R(                  " UR                  S   5      SSS#9u  nn[!        UR#                  5       S S!S"9  [        [         R$                  " UR'                  5       5      S 5        [         R*                  " UR                  S   S$5      n[         R                  " [         R                  " UR                  S   5      UUSS
S#9u  nn[!        UR#                  5       S S!S"9  [!        [         R$                  " UR'                  5       5      S S!S"9  [         R                  " [         R                  " UR                  S   5      UUSSS#9u  nn[!        UR#                  5       S S!S"9  [        [         R$                  " UR'                  5       5      S%5        g )&N)r   r4   r   r   r   rW   )r   r   r   r   r   r   r   rX   r   r   g      @T)degcov)rx   )gz6>W@gH?gCl?r/   )decimal)g?1w-!?)rz   gH}x@B>٬ )r{   r|   g~jt?)wrx   )g@g*:HgY8m?)g@&SH}8?)r~   g:@hs)r   r   gz6>W[?unscaled)gгY?ŏ1wſ{?)r   gv/?ŏ1w-!)r   r   gǺ?)axis{   )r/   i'  )sizeg      ?g{Gz?)atol)r}   rw   rx   r4   r1   )r   r@   linspacepolyvalaranger   
ValueErrorpolyfitr   newaxisrg   rd   re   normalzerosshaper	   stdra   meanonesfull)r    cxrO   errweightsmrx   estval0m2cov2valm3cov3yyccr   r}   s                      r$   test_polyfitTestPolynomial.test_polyfit   s   HH\"KK1a JJq&))Aq"%q(,
 	j"**cA3A4	1 AuaT2%CA.+++- 	Dq1::a3W$?5r1E***, 	Cq1::a3W*E5r1E***, 	Cq1 amamArzz!23^^QF+^^QF+B

1! 45ABHHSM!RZZ-$@@!NC1a4!4C1a4!4DaAg,:DaAg,: 			sII*-JJrxx
3QA4H	c
Cd3
+St<JJrxx
3Q"''!''!*:M#$*6	c
Cd3BGGCHHJ/5GGAGGAJ'JJrxx
3Q!M	c
Cd3
+St< JJrxx
3Q!
S	c
Cd3BGGCHHJ/6r'   c                    SSK Jn  [        R                  " U" S5      U" S5      U" S5      /5      nX!" S5      -  n[	        US   U" S5      :H  5        UR                  5       n[	        US   U" S	5      :H  5        UR                  5       n[	        US
   U" S5      :H  5        [	        US   U" S5      :H  5        [	        [        R                  " UR                  R                  [        R                  5      5        [        R                  " U" S5      U" S5      /5      n[        [        R                  " U" S5      U" S5      /5      SU" S5      U" S5      /5        g )Nr   )Decimalz4.0z3.0z2.0z1.333333333333333r   z3.9999999999999990z8.0r   z1.333333333333333333333333333r   z1.5r   )ry   r   r   r   r   r7   r6   
issubdtypecoeffsr?   rD   r`   r   )r    r   r!   p2s       r$   test_objectsTestPolynomial.test_objects   s   #IIwu~wu~wu~FG,--1!5667WWY1'(WWY1!@AAB1'(biioorzz:;GGWQZ,-RWWgaj'!*56gaj1	3r'   c                    [         R                  " / SQ5      nUR                  5       n[        UR                  / SQ:H  R                  5       5        UR                  5       n[        UR                  SS/:H  R                  5       5        g )N)y              @r]   rY   )rY   rY   rY   r   y              @r]   )r   r   r6   r   r   allr7   r    r!   r   s      r$   test_complexTestPolynomial.test_complex   s^    IIl#WWYo-2245WWYr2h&++-.r'   c                     [         R                  " / SQ5      nUR                  S/ SQS9n[        UR                  / SQ:H  R                  5       5        g )N)r   r   r   r   )	   rW   rV   )k)g?gUUUUUU?gUUUUUU?g      @rW   rV   )r   r   r6   r   r   r   r   s      r$   test_integ_coeffs TestPolynomial.test_integ_coeffs   sA    IIi WWQ)W$YYDDIIK	Mr'   c                 z     [         R                  " [         R                  " S5      5        g ! [         a     g f = f)N)r   r   )r   r`   r   r   ro   s    r$   test_zero_dimsTestPolynomial.test_zero_dims   s.    	GGBHHV$% 		s   *- 
::c                     [         R                  " SS5      n[        [         R                  " U5      [         R                  " [         R                  " U5      5      5        g)z
Regression test for gh-5096.
r      N)r   r   r   r`   diag)r    vs     r$   test_poly_int_overflow%TestPolynomial.test_poly_int_overflow   s7     IIaBGGAJ
(;<r'   c                 z   [         R                  " / SQ5      n[         R                  " UR                  [         R                  5      5      n[        UR                  R                  [         R                  5        [         R                  " UR                  [         R                  5      5      n[        UR                  R                  [         R                  5        [         R                  " UR                  [         R                  5      5      n[        UR                  R                  [         R                  5        g)z
Regression test for gh-16354.
)r   r   r   N)
r   r@   r   astypeint64r   r   r?   float32	complex64)r    zr!   s      r$   test_zero_poly_dtype#TestPolynomial.test_zero_poly_dtype   s     HHYIIahhrxx()QXX^^RXX.IIahhrzz*+QXX^^RZZ0IIahhr||,-QXX^^R\\2r'   c                     [         R                  " / SQ5      n[         R                  " / SQ5      n[        US :H  S5        [        US :g  S5        [        X:H  S5        [        X:H  S5        [        X:g  S5        g )Nr>   )r   r   r/   FTr*   r   s      r$   test_poly_eqTestPolynomial.test_poly_eq	  s^    IIi YYy!Q$Y&Q$Y%QVT"QWe$QWd#r'   c                    [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " X5      u  p4[        UR                  R
                  [         R                  5        [        UR                  R
                  [         R                  5        [        X2-  U-   U5        / SQn[         R                  " / SQ5      n[         R                  " XV5      u  px[        U[         R                  5      (       d   e[        U[         R                  5      (       d   e[         R                  " Xe5      u  p[        U	[         R                  5      (       d   e[        U
[         R                  5      (       d   eg )N)r   rV   rV   r   )r\   rZ   y             r   r>   )r   r   r8   r   r   r?   
complex128rE   )r    brj   r"   r#   r   dstur   s              r$   test_polydivTestPolynomial.test_polydiv  s    IIl#II/0zz!QXX^^R]]3QXX^^R]]3QS1Wa IIi zz!!RYY''''!RYY''''zz!!RYY''''!RYY''''r'   c           	      B   [         R                  " / SQ5      nU=R                  S-  sl        [        UR                  / SQ5        UR                  S==   S-  ss'   [        UR                  / SQ5        [	        [
        [        US[         R                  " S5      5        g)	z"Coefficients should be modifiable r>   r   )r   r   r/   r   
   )r   r   r   r   N)r   r   r   r   r   AttributeErrorsetattrr@   rs   s     r$   test_poly_coeffs_mutable'TestPolynomial.test_poly_coeffs_mutable#  se    IIi 	AQXXy)	rQXXz* 	ngq(BHHQKHr'    )__name__
__module____qualname____firstlineno__r%   r,   r9   pytestmarkparametrize
TYPE_CODESr   rL   rS   rk   rp   rt   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r'   r$   r   r      s    ',!>* [[[*52# 2$ 2 62(0M08
%H7T3/M=3$("Ir'   r   )numpyr   numpy.testingr   r   r   r   r   r   r	   r   	typecodesr   r   r   r'   r$   <module>r      sM      
  \\,'",,z*BBSH
aI aIr'   