
    KhH                        S r SSKrSSKJr  SSKrSSKrSSKJ	r	J
r
JrJrJrJr  SSKJrJrJrJr  SSKJr  \	\
\\\\4r\" S \ 5       5      r\R2                  " \\S9S	 5       r\R6                  R6                  rS+S
 jr\r\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-S r.S r/S r0S r1S r2S r3S  r4S! r5S" r6S# r7S$ r8S% r9S& r:S' r;S( r< " S) S*5      r=g),zTest inter-conversion of different polynomial classes.

This tests the convert and cast methods of all the polynomial classes.

    N)Number)
PolynomialLegendre	ChebyshevLaguerreHermiteHermiteE)assert_almost_equalassert_raisesassert_equalassert_)RankWarningc              #   8   #    U  H  oR                   v   M     g 7fN)__name__).0clss     U/var/www/html/env/lib/python3.13/site-packages/numpy/polynomial/tests/test_classes.py	<genexpr>r      s     1#s   )paramsidsc                     U R                   $ r   )param)requests    r   Polyr      s    ==    c                 `    [        [        R                  " U R                  UR                  :H  5      5        [        [        R                  " U R                  UR                  :H  5      5        [        U R                  UR                  5        g ! [         a    SU  SU 3n[        U5      ef = f)NzResult: z	
Target: )r   npalldomainwindowr
   coefAssertionError)p1p2msgs      r   assert_poly_almost_equalr'   &   s    "ryyBII-./ryyBII-./BGGRWW- "Jrd+S!!"s   BB B-c                    [         R                  " SSS5      n[        S5      nU R                  [        S5      S-  -   nU R                  [        S5      S-  -   nU " X4US9nUR                  [        S5      S-  -   nUR                  [        S5      S-  -   nUR                  XUS9n	[        U	R                  U5        [        U	R                  U5        [        U	" U5      U" U5      5        g )	Nr      
               ?r    r!   )kindr    r!   )r   linspacerandomr    r!   convertr
   
Poly1Poly2xr"   d1w1r$   d2w2r%   s
             r   test_conversionr=   8   s    
Aq"A$<D	tS(	(B	tS(	(B	tr	*B	tS(	(B	tS(	(B	"	5B		2&		2&1r!u%r   c                    [         R                  " SSS5      n[        S5      nU R                  [        S5      S-  -   nU R                  [        S5      S-  -   nU " X4US9nUR                  [        S5      S-  -   nUR                  [        S5      S-  -   nUR                  XgUS9n	[        U	R                  U5        [        U	R                  U5        [        U	" U5      U" U5      5        g )Nr   r)   r*   r+   r-   r/   r0   )r   r2   r3   r    r!   castr
   r5   s
             r   	test_castr@   I   s    
Aq"A$<D	tS(	(B	tS(	(B	tr	*B	tS(	(B	tS(	(B	B"	-B		2&		2&1r!u%r   c                 F   U R                   [        S5      S-  -   nU R                  [        S5      S-  -   n[        R                  " US   US   S5      nU R                  XS9n[        UR                   U5        [        UR                  U5        [        U" U5      U5        g )Nr-   r/   r   r)      r0   )r    r3   r!   r   r2   identityr   r
   )r   dwr8   ps        r   test_identityrG   _   s    fTl3&&AfTl3&&A
AaD!A$#AQ)A11!a r   c                 $   U R                   [        S5      S-  -   nU R                  [        S5      S-  -   nU R                  SXS9n[	        UR                   U5        [	        UR                  U5        [	        UR
                  S/S-  S/-   5        g )Nr-   r/      r0   r   r)   )r    r3   r!   basisr   r"   r   rD   rE   rF   s       r   
test_basisrL   i   sx    fTl3&&AfTl3&&A

1Q
)A11!Q!%r   c                    U R                   [        S5      S-  -   nU R                  [        S5      S-  -   n[        S5      nU R                  X1US9n[	        UR                  5       [        U5      5        [	        UR                   U5        [	        UR                  U5        [        U" U5      S5        [        R                   n[        R                  n[        R                  " XEUS9n[        UR                  S   S5        g )Nr-   r/   )rI   r0   r   r)   )r    r3   r!   	fromrootsr   degreelenr
   r   r?   r"   )r   rD   rE   rr$   pdompwinr%   s           r   test_fromrootsrU   r   s     	fTl3&&AfTl3&&AtA	A	.Bc!f%AA1q! DD		6BQ'r   c                     / SQn/ SQn[         R                  " [        5       nU R                  XS5        S S S 5        WS   R                  R
                  S   S:X  d   eg ! , (       d  f       N1= f)N)        rW         ?)rX   g       @g      @r.   r   z!The fit may be poorly conditioned)pytestwarnsr   fitmessageargs)r   r8   yrecords       r   test_bad_conditioned_fitr`      s\    AA 
k	"fq 
#!9!!!$(KKKK 
#	"s   A!!
A/c                 H   S n[         R                  " SS5      nU" U5      nU R                  X#S5      n[        UR                  SS/5        [        U" U5      U5        [        UR                  5       S5        U R                  [        S5      S-  -   nU R                  [        S5      S-  -   nU R                  X#SXVS9n[        U" U5      U5        [        UR                  U5        [        UR                  U5        U R                  X#/ SQXVS9n[        U" U5      U5        [        UR                  U5        [        UR                  U5        U R                  X#S/ 5      n[        UR                  U R                  5        [        UR                  U R                  5        U R                  X#/ SQ/ 5      n[        UR                  U R                  5        [        UR                  U R                  5        [         R                  " U5      nU[        UR                  5      S-  -   nSUS S S	2'   U R                  US S S	2   US S S	2   S5      nU R                  X'SUS
9n	U R                  X'/ SQUS
9n
[        U" U5      U	" U5      5        [        U	" U5      U
" U5      5        g )Nc                     X S-
  -  U S-
  -  $ Nr)   r.    )r8   s    r   ftest_fit.<locals>.f   s    a%y!a%  r   r   r,   r-   r/   r0   )r   r)   r.   r,   r)   r.   )rE   )r   r2   r[   r
   r    r   rP   r3   r!   
zeros_likeshape)r   re   r8   r^   rF   rD   rE   zr$   r%   p3s              r   test_fitrk      s   !
AqA	!A 	qA1a&)!a Q 	fTl3&&AfTl3&&Aq-A!a !$!$|A8A!a !$!$ 	q"A4;;'4;;'|R(A4;;'4;;' 	aA	F177OCAAccF	!CaC&!CaC&!	$B	!Q	B	!	*B1r!u%1r!u%r   c                     U " / SQSS/SS/S9nU " / SQSS/SS/S9nU " / SQSS/SS/S9nU " / SQSS/SS/S9n[        X:H  5        [        X:X  + 5        [        X:X  + 5        [        X:X  + 5        g Nr)   r.   r,   r   r)   r.   r,   r0   )r)   r)   r)   r   r   r$   r%   rj   p4s        r   
test_equalrr      s    	iA1v	6B	iA1v	6B	iA1v	6B	iA1v	6BBHLLLr   c                     U " / SQSS/SS/S9nU " / SQSS/SS/S9nU " / SQSS/SS/S9nU " / SQSS/SS/S9n[        X:w  + 5        [        X:g  5        [        X:g  5        [        X:g  5        g rm   ro   rp   s        r   test_not_equalrt      s    	iA1v	6B	iA1v	6B	iA1v	6B	iA1v	6BLBHBHBHr   c           
      L   [        [        S5      S-   5      n[        [        S5      S-   5      nU " U5      nU " U5      nX4-   n[        XC-   U5        [        X2-   U5        [        X#-   U5        [        U[        U5      -   U5        [        [        U5      U-   U5        [        U[        R
                  " U5      -   U5        [        [        R
                  " U5      U-   U5        [        [        [        R                  X0" S/U R                  S-   S95        [        [        [        R                  X0" S/U R                  S-   S95        U [        L a+  [        [        [        R                  U[        S/5      5        g [        [        [        R                  U[        S/5      5        g N         ?r+   r   r)   r    r!   )listr3   r'   tupler   arrayr   	TypeErroropaddr    r!   r   r   r   c1c2r$   r%   rj   s         r   test_addr      s5   	fTlR	 B	fTlR	 B	bB	bB	BRWb)RWb)RWb)R%)^R0U2Y^R0R"((2,.3RXXb\B.3)RVVRqc$++/)JK)RVVRqc$++/)JKziYs^<iZ_=r   c           
      T   [        [        S5      S-   5      n[        [        S5      S-   5      nU " U5      nU " U5      nX4-
  n[        XC-
  U* 5        [        X2-
  U5        [        X#-
  U* 5        [        U[        U5      -
  U5        [        [        U5      U-
  U* 5        [        U[        R
                  " U5      -
  U5        [        [        R
                  " U5      U-
  U* 5        [        [        [        R                  X0" S/U R                  S-   S95        [        [        [        R                  X0" S/U R                  S-   S95        U [        L a+  [        [        [        R                  U[        S/5      5        g [        [        [        R                  U[        S/5      5        g rv   )r|   r3   r'   r}   r   r~   r   r   r   subr    r!   r   r   r   s         r   test_subr      s=   	fTlR	 B	fTlR	 B	bB	bB	BRWrc*RWb)RWrc*R%)^R0U2Y^bS1R"((2,.3RXXb\B.4)RVVRqc$++/)JK)RVVRqc$++/)JKziYs^<iZ_=r   c           
         [        [        S5      S-   5      n[        [        S5      S-   5      nU " U5      nU " U5      nX4-  n[        XC-  U5        [        X2-  U5        [        X#-  U5        [        U[        U5      -  U5        [        [        U5      U-  U5        [        U[        R
                  " U5      -  U5        [        [        R
                  " U5      U-  U5        [        US-  X0" S/5      -  5        [        SU-  X0" S/5      -  5        [        [        [        R                  X0" S/U R                  S-   S95        [        [        [        R                  X0" S/U R                  S-   S95        U [        L a+  [        [        [        R                  U[        S/5      5        g [        [        [        R                  U[        S/5      5        g )	Nrw   ry   r+   r.   r   r)   rz   r{   )r|   r3   r'   r}   r   r~   r   r   r   mulr    r!   r   r   r   s         r   test_mulr      se   	fTlR	 B	fTlR	 B	bB	bB	BRWb)RWb)RWb)R%)^R0U2Y^R0R"((2,.3RXXb\B.3R!VR$s)^4QVR$s)^4)RVVRqc$++/)JK)RVVRqc$++/)JKziYs^<iZ_=r   c           
      
   [        [        S5      S-   5      n[        [        S5      S-   5      n[        [        S5      S-   5      nU " U5      nU " U5      nU " U5      nXE-  U-   n[        UR                  5      n[        Xu-  U5        [        Xr-  U5        [        X-  U5        [        U[	        U5      -  U5        [        [	        U5      U-  U5        [        U[
        R                  " U5      -  U5        [        [
        R                  " U5      U-  U5        [        SU-  U " S/5      5        [        US-  SU-  5        [        [        [        R                  X@" S/U R                  S-   S95        [        [        [        R                  X@" S/U R                  S-   S	95        U [        L a+  [        [        [        R                  U[        S/5      5        g [        [        [        R                  U[        S/5      5        g 
Nrw   ry   r+   r-   r.   r   r)   rz   r{   )r|   r3   r"   r'   r}   r   r~   r   r   r   floordivr    r!   r   r   	r   r   r   c3r$   r%   rj   rq   c4s	            r   test_floordivr     s   	fTlR	 B	fTlR	 B	fTlR	 B	bB	bB	bB	2B	bggBRXr*RXr*RXr*R59_b1U2Y"_b1R288B</4RXXb\R/4Q"WdA3i0R1Wc"f-2;;D!T[[1_$EG2;;D!T[[1_$EGzib)QC.Aib*aS/Br   c           	         U " / SQ5      nUS-  n[         R                   Hv  n[        U[        5      (       a  [        U[        5      (       a  M/  U" S5      n[        [        R                  " X$5      U5        [        [        [        R                  XB5        Mx     [        [        4 HJ  nU" S5      n[        [        R                  " X$5      U5        [        [        [        R                  XB5        ML     [        4 HK  nU" SS5      n[        [        R                  " X$5      U5        [        [        [        R                  XB5        MM     [        5       [        5       [        5       [	        5       [         R                   " S/5      4 HA  n[        [        [        R                  X$5        [        [        [        R                  XB5        MC     ["         H(  n[        [        [        R                  X%" S5      5        M*     g )Nrn   rI   r   r)   )r   
ScalarType
issubclassr   boolr'   r   truedivr   r   intfloatcomplexr}   r|   dictr~   classes)r   r$   r%   stypesptypes         r   test_truedivr   1  sO    
gB	aB%((Jud,C,C!H B!2B7iQ3  u!H B!2B7iQ3  !QK B!2B7iQ3  gtvtvtvrxx}=iR3iQ3 > iRq: r   c           
         [        [        S5      S-   5      n[        [        S5      S-   5      n[        [        S5      S-   5      nU " U5      nU " U5      nU " U5      nXE-  U-   n[        UR                  5      n[        Xu-  U5        [        Xr-  U5        [        X-  U5        [        U[	        U5      -  U5        [        [	        U5      U-  U5        [        U[
        R                  " U5      -  U5        [        [
        R                  " U5      U-  U5        [        SU-  U " S/5      5        [        US-  U " S/5      5        [        [        [        R                  X@" S/U R                  S-   S95        [        [        [        R                  X@" S/U R                  S-   S	95        U [        L a+  [        [        [        R                  U[        S/5      5        g [        [        [        R                  U[        S/5      5        g r   )r|   r3   r"   r'   r}   r   r~   r   r   r   modr    r!   r   r   r   s	            r   test_modr   L  s   	fTlR	 B	fTlR	 B	fTlR	 B	bB	bB	bB	2B	bggBRWb)RWb)RWb)R%)^R0U2Y^R0R"((2,.3RXXb\B.3QVT1#Y/R!VT1#Y/)RVVRqc$++/)JK)RVVRqc$++/)JKziYs^<iZ_=r   c           
      R   [        [        S5      S-   5      n[        [        S5      S-   5      n[        [        S5      S-   5      nU " U5      nU " U5      nU " U5      nXE-  U-   n[        UR                  5      n[        Xu5      u  p[	        X5        [	        X5        [        Xr5      u  p[	        X5        [	        X5        [        X5      u  p[	        X5        [	        X5        [        U[        U5      5      u  p[	        X5        [	        X5        [        [        U5      U5      u  p[	        X5        [	        X5        [        U[        R                  " U5      5      u  p[	        X5        [	        X5        [        [        R                  " U5      U5      u  p[	        X5        [	        X5        [        US5      u  p[	        U	SU-  5        [	        X" S/5      5        [        SU5      u  p[	        X" S/5      5        [	        X" S/5      5        [        [        [        X@" S/U R                  S-   S95        [        [        [        X@" S/U R                  S-   S	95        U [        L a!  [        [        [        U[        S/5      5        g [        [        [        U[        S/5      5        g r   )r|   r3   r"   divmodr'   r}   r   r~   r   r   r    r!   r   r   )r   r   r   r   r$   r%   rj   rq   r   quorems              r   test_divmodr   g  s   	fTlR	 B	fTlR	 B	fTlR	 B	bB	bB	bB	2B	bggBb~HCS%S%b~HCS%S%b~HCS%S%b%)$HCS%S%eBi$HCS%S%b"((2,'HCS%S%bhhrlB'HCS%S%b!}HCS#b&)S$s),a}HCS$s),S$s),)VRqc$++/)JK)VRqc$++/)JKziYs^<iZ_=r   c                 r   U R                   S-  S-   nU R                  n[        R                  " US   US   S5      n[        R                  " U R                  X1US9R                  5       5      n[        XC5        [        R                  " U R                  U5      R                  5       5      n[        XC5        g )Ng      ?r/   r   r)   rI   r0   )r    r!   r   r2   sortrO   rootsr
   )r   rD   rE   tgtress        r   
test_rootsr     s    dS AA
++adAaD!
$C
''$..q.9??A
BC!
''$..%++-
.C!r   c                 Z    U R                  S5      n[        UR                  5       S5        g NrI   )rJ   r   rP   r   rF   s     r   test_degreer     s    

1AQr   c                 >   U R                  S5      nUR                  5       n[        X:H  5        [        XL5        [        UR                  UR                  L5        [        UR                  UR                  L5        [        UR
                  UR
                  L5        g r   )rJ   copyr   r"   r    r!   )r   r$   r%   s      r   	test_copyr     sm    	AB	BBHBLBGG277"#BIIRYY&'BIIRYY&'r   c                    [         nU R                  U" / SQ5      5      nUR                  UR                  5       5      nUR                  UR                  S5      5      n[        X1" / SQ5      5        [        XA" / SQ5      5        U R                  U" / SQ5      5      nUR                  UR                  SS95      nUR                  UR                  SSS/S95      n[        X1" / SQ5      5        [        XA" / SQ5      5        U R                  U" / SQ5      5      nUR                  UR                  SS	95      nUR                  UR                  SSS	95      n[        X1" / S
Q5      5        [        XA" / SQ5      5        SU R                  -  nU R                  U" / SQ5      US9nUR                  UR                  5       5      nUR                  UR                  S5      5      n[        X1" / SQ5      5        [        XA" / SQ5      5        g )N)r.         r.   )r   r.   r,   rx   )r   r   r)   r)   r)   r)   k)r)   r.   r,   rx   )r)   r)   r)   r)   r)   )lbnd)r.   r,   rx   )r   r   r)   r)   r)   rz   )r   r?   integr'   r    )r   Pp0r$   r%   rD   s         r   
test_integr     s   A	1_%	&B	

	B	
	BR<1R?!34	1_%	&B	
1	B	
q!f%	&BR<1R?!34	1_%	&B	
a 	!B	
#	$BR=!12R#3!45	$++A	1_%a	0B	

	B	
	BR<1R?!34r   c                    U R                   [        S5      S-  -   nU R                  [        S5      S-  -   nU " / SQXS9nUR                  SSS/S9nUR                  SS/S9n[	        UR                  S5      R                  UR                  5        [	        UR                  S5      R                  UR                  5        U " / SQ5      nUR                  SSS/S9nUR                  SS/S9n[	        UR                  S5      R                  UR                  5        [	        UR                  S5      R                  UR                  5        g )Nr-   r/   rn   r0   r.   r)   r   )r    r3   r!   r   r
   derivr"   )r   rD   rE   r$   r%   rj   s         r   
test_derivr     s    	fTl3&&AfTl3&&A	i	,B	!1v	B	!s	B(("''2(("''2	iB	!1v	B	!s	B(("''2(("''2r   c                    U R                   [        S5      S-  -   nU R                  [        S5      S-  -   nU " / SQXS9n[        R                  " US   US   S5      nU" U5      nUR	                  S5      u  pg[        Xd5        [        Xu5        [        R                  " SSS5      nU" U5      nUR	                  SSS/S	9u  pg[        Xd5        [        Xu5        g )
Nr-   r/   rn   r0   r   r)      r.   rz   )r    r3   r!   r   r2   r
   )r   rD   rE   rF   xtgtytgtxresyress           r   test_linspacer     s    fTl3&&AfTl3&&AYq+A;;qtQqT2&DT7DBJD##;;q!R DT7DB1v.JD##r   c                    U R                   [        S5      S-  -   nU R                  [        S5      S-  -   nU " S/XS9nU " / SQXS9n[        S5       H  n[	        XE-  U5        X4-  nM     U " S/5      nU " / SQ5      n[        S5       H  n[	        XE-  U5        X4-  nM     [        [        [        R                  US5        [        [        [        R                  US5        g )	Nr-   r/   r)   r0   rn   rI   g      ?rN   )	r    r3   r!   ranger'   r   
ValueErrorr   pow)r   rD   rE   r   tstis         r   test_powr     s    fTl3&&AfTl3&&A
s1
'C
y
-C1X -i  s)C
y/C1X -i  *bffc3/*bffc2.r   c                     [         nU R                  n[        R                  " US   US   S5      nU R	                  U" / SQ5      5      nSUSSU-  -   -  -   nU" U5      n[        Xe5        g )Nr   r)   rB   rn   r.   r,   )r   r    r   r2   r?   r
   )r   r   rD   r8   rF   r   r   s          r   	test_callr     sd    AA
AaD!A$#A 			!I,A
aQqSk/C
A$C!r   c                 z    U " / SQ5      n/ SQnU" U5      n[        X1" [        R                  " U5      5      5        g )Nrn   )rN   r   r.   )r   r   r~   )r   rF   r8   r   s       r   test_call_with_listr     s/    YAA
A$Can%r   c                    U " / SQ5      n[        [        UR                  S5        [        [        UR                  S5        [        [	        UR                  S5      5      S5        [        [	        UR                  S5      5      S5        [        [	        UR                  S5      5      S5        [        [	        UR                  S5      5      S5        g )Nrn   ry   rN   r,   r.   r)   r   )r   r   cutdegr   rQ   r   s     r   test_cutdegr     s    YA*ahh+*ahh+QXXa[!1%QXXa[!1%QXXa[!1%QXXa[!1%r   c                    U " / SQ5      n[        [        UR                  S5        [        [        UR                  S5        [        [	        UR                  S5      5      S5        [        [	        UR                  S5      5      S5        [        [	        UR                  S5      5      S5        [        [	        UR                  S5      5      S5        g )Nrn   ry   r   rx   r,   r.   r)   )r   r   truncater   rQ   r   s     r   test_truncater     s    YA*ajj"-*ajj!,QZZ]#Q'QZZ]#Q'QZZ]#Q'QZZ]#Q'r   c                 
   / SQnU " U5      n[        UR                  5       R                  US S 5        [        UR                  S5      R                  US S 5        [        UR                  S5      R                  US S 5        g )N)r)   gư>g-q=r   r,   g|=r.   gh㈵>r)   )r   trimr"   )r   crF   s      r   	test_trimr   )  sf    AQA"1&##QrU+""AbqE*r   c                     U R                   nU R                  nU " S/XS9n[        SS/UR                  5       5        SU-  S-   nU " S/XS9n[        SS/UR                  5       5        g )Nr)   r0   r   r.   )r    r!   r
   mapparmsrK   s       r   test_mapparmsr   1  se    AAaS%AA

-	!aAaS%AA

-r   c                     U " / SQ5      n[         R                  " S5      n[        [        [         R                  X5        [        [        [         R                  X!5        g )Nrn   r,   )r   onesr   r   r   )r   rF   r8   s      r   test_ufunc_overrider   =  s8    YA

A)RVVQ*)RVVQ*r   c                   ,    \ rS rSrS rS rS rS rSrg)TestInterpolateiI  c                     XS-
  -  US-
  -  $ rc   rd   )selfr8   s     r   re   TestInterpolate.fK  s    E{a!e$$r   c                     [        [        [        R                  U R                  S5        [        [
        [        R                  U R                  S5        g )NrN   g      $@)r   r   r   interpolatere   r   )r   s    r   test_raisesTestInterpolate.test_raisesN  s2    j)"7"7Di!6!6Dr   c                     [        SS5       H>  n[        [        R                  " U R                  U5      R                  5       U:H  5        M@     g )Nr)   rI   )r   r   r   r   re   rP   )r   degs     r   test_dimensionsTestInterpolate.test_dimensionsR  s9    A;CI))$&&#6==?3FG r   c           	          S n[         R                  " SSS5      n[        SS5       HI  n[        SUS-   5       H3  n[        R                  " XSS/U4S9n[        U" U5      U" X$5      SS9  M5     MK     g )	Nc                 
    X-  $ r   rd   )r8   rF   s     r   powx0TestInterpolate.test_approximation.<locals>.powxX  s	    4Kr   r   r.   r*   r)   )r    r]   rB   )decimal)r   r2   r   r   r   r
   )r   r   r8   r   trF   s         r   test_approximation"TestInterpolate.test_approximationV  sn    	 KK1b!B<C1cAg&))$QF!N#AaD$q*bA '  r   rd   N)	r   
__module____qualname____firstlineno__re   r   r   r   __static_attributes__rd   r   r   r   r   I  s    %EH	Br   r   ) )>__doc__operatorr   numbersr   rY   numpyr   numpy.polynomialr   r   r   r   r   r	   numpy.testingr
   r   r   r   numpy.exceptionsr   r   r}   classidsfixturer   r3   r'   r6   r7   r=   r@   rG   rL   rU   r`   rk   rr   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rd   r   r   <module>r	     sA  
    B B  ) )XX 111wH- . 
		" 	&"&,!&(&L)&X>,>,>.C8;6>6*>Z" 
(5:3$$$/&	"&&(+	.+B Br   