+
    xȇi                     N   R t ^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
  ! R R4      t ! R R4      t]P                  P                  R]P                  ! . ROR	R
7      ]! . RO4      34       ! R R4      4       t ! R R4      t ! R R4      t ! R R4      tR tR tR tR tR tR# )zE
Tests related to the ``symbol`` attribute of the ABCPolyBase class.
N)array)assert_assert_equalassert_raisesc                      a  ] tR t^t o Rt. ROtR t]P                  P                  RR]
3R]
3R]3^]334      R 4       t]P                  P                  RR4      R 4       tR	 tR
 tRtV tR# )TestInitz-
Test polynomial creation with symbol kwarg.
c                r    \         P                  ! V P                  4      p\        VP                  R 4       R# )xNpoly
Polynomialcr   symbolselfps   & r/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/numpy/polynomial/tests/test_symbol.pytest_default_symbolTestInit.test_default_symbol   s"    OODFF#QXXs#     3Nc                    \         P                  ! V4      ;_uu_ 4        \        P                  ! V P                  VR 7      pRRR4       R#   + '       g   i     R# ; i)r   N)pytestraisesr   r   r   )r   	bad_input	exceptionr   s   &&& r   test_symbol_bad_inputTestInit.test_symbol_bad_input   s6     ]]9%%y9A &%%%s   #AA	r   c                v    \         P                  ! V P                  VR7      p\        VP                  V4       R# )z6
Values for symbol that should pass input validation.
r   Nr
   )r   r   r   s   && r   test_valid_symbolsTestInit.test_valid_symbols    s&     OODFF62QXXv&r   c                    \         P                  ! V P                  RR7      p\        P                  ! \
        4      ;_uu_ 4        RVn        RRR4       R#   + '       g   i     R# ; i)z"
'symbol' attribute is read only.
r	   r   zN)r   r   r   r   r   AttributeErrorr   r   s   & r   test_propertyTestInit.test_property.   s=     OODFF3/]]>**AH +***s   AA(	c                    \         P                  ! V P                  R R7      p\         P                  ! VP                  RR7      p\	        VP
                  R4       R# )yr   tN)r   r   r   coefr   r   )r   r   pts   &  r   test_change_symbolTestInit.test_change_symbol6   s8    OODFF3/__QVVC0RYY$r             )r   r   )r	   x_1Axyzu   β)__name__
__module____qualname____firstlineno____doc__r   r   r   markparametrize
ValueError	TypeErrorr   r!   r&   r-   __static_attributes____classdictcell____classdict__s   @r   r   r      s      	A$ [[7	Z	j	y	
I	: :: [[X ( ''% %r   r   c                   d   a  ] tR t^=t o ]P
                  ! . R	ORR7      tR tR tR t	R t
RtV tR# )
TestUnaryOperatorsr$   r   c                L    V P                   ) p\        VP                  R 4       R# r$   Nr   r   r   )r   ns   & r   test_negTestUnaryOperators.test_neg@   s    VVGQXXs#r   c                X    V P                   ^
,          p\        VP                  R4       R# 
   r$   NrH   r   outs   & r   test_scalarmul!TestUnaryOperators.test_scalarmulD   s    ffrkSZZ%r   c                X    ^
V P                   ,          p\        VP                  R4       R# rM   rH   rO   s   & r   test_rscalarmul"TestUnaryOperators.test_rscalarmulH   s    466kSZZ%r   c                X    V P                   ^,          p\        VP                  R4       R# )r3   r$   NrH   rO   s   & r   test_powTestUnaryOperators.test_powL   s    ffkSZZ%r   r/   Nr0   )r7   r8   r9   r:   r   r   r   rJ   rQ   rT   rW   r@   rA   rB   s   @r   rE   rE   =   s.     	#.A$&&& &r   rE   rhsr$   r   c                      a  ] tR t^Qt o Rt]P                  ! . RORR7      tR tR t	R t
R tR tR	 tR
 tR tRtV tR# )TestBinaryOperatorsSameSymbolzW
Ensure symbol is preserved for numeric operations on polynomials with
the same symbol
r$   r   c                X    V P                   V,           p\        VP                  R 4       R# rG   rH   r   rY   rP   s   && r   test_add&TestBinaryOperatorsSameSymbol.test_add_       ffslSZZ%r   c                X    V P                   V,
          p\        VP                  R 4       R# rG   rH   r]   s   && r   test_sub&TestBinaryOperatorsSameSymbol.test_subc   r`   r   c                X    V P                   V,          p\        VP                  R 4       R# rG   rH   r]   s   && r   test_polymul*TestBinaryOperatorsSameSymbol.test_polymulg   r`   r   c                l    \        V P                  V4       F  p\        VP                  R 4       K  	  R# rG   divmodr   r   r   r]   s   && r   test_divmod)TestBinaryOperatorsSameSymbol.test_divmodk   s%    $&&#&CS) 'r   c                V    WP                   ,           p\        VP                  R 4       R# rG   rH   r]   s   && r   	test_radd'TestBinaryOperatorsSameSymbol.test_raddo       FFlSZZ%r   c                V    WP                   ,
          p\        VP                  R 4       R# rG   rH   r]   s   && r   	test_rsub'TestBinaryOperatorsSameSymbol.test_rsubs   ro   r   c                V    WP                   ,          p\        VP                  R 4       R# rG   rH   r]   s   && r   	test_rmul'TestBinaryOperatorsSameSymbol.test_rmulw   ro   r   c                j    \        WP                  4       F  p\        VP                  R 4       K  	  R# rG   rh   r]   s   && r   test_rdivmod*TestBinaryOperatorsSameSymbol.test_rdivmod{   s#    #vv&CS) 'r   r/   Nr0   )r7   r8   r9   r:   r;   r   r   r   r^   rb   re   rj   rm   rq   rt   rw   r@   rA   rB   s   @r   r[   r[   Q   sI      		#.A&&&*&&&* *r   r[   c                   .  a  ] tR t^t o ]P
                  ! . RORR7      t]P
                  ! . R	ORR7      t]P                  ]P                  ]P                  ]P                  ]P                  3t]P                  P!                  R]4      R 4       tRtV tR# )
"TestBinaryOperatorsDifferentSymbolr	   r   r)   fc                :    \        \        WP                  4       R # )N)r   r>   other)r   r{   s   &&r   test_binops_fails4TestBinaryOperatorsDifferentSymbol.test_binops_fails   s    j!ZZ0r   r/   Nr0            )r7   r8   r9   r:   r   r   r   r}   __add____sub____mul____floordiv____mod__opsr   r<   r=   r~   r@   rA   rB   s   @r   rz   rz      sl     	#.AOOIc2E99aiiANNAII
FC[[S#&1 '1r   rz   c                   X   a  ] tR t^t o ]P
                  ! . RORR7      tR tR tRt	V t
R# )TestEqualityr	   r   c                j    \         P                  ! . RORR7      p\        V P                  V8H  4       R# )r1   r	   r   Nr0   r   r   r   r   r   r}   s   & r   test_eqTestEquality.test_eq   s"    	#6% r   c                l    \         P                  ! . RORR7      p\        V P                  V8X  * 4       R# )r1   r)   r   Nr0   r   r   s   & r   test_neqTestEquality.test_neq   s#    	#6DFFe#$r   r/   Nr0   )r7   r8   r9   r:   r   r   r   r   r   r@   rA   rB   s   @r   r   r      s$     	#.A!% %r   r   c                      a  ] tR t^t o Rt]P                  ! . RORR7      tR tR t	R t
]P                  P                  RRR^
./R	R^
./R
]P                  /34      R 4       tR tR tRtV tR# )TestExtraMethodszB
Test other methods for manipulating/creating polynomial objects.
r$   r   c                f    V P                   P                  4       p\        VP                  R 4       R# rG   )r   copyr   r   r   s   & r   	test_copyTestExtraMethods.test_copy       U\\3'r   c                f    V P                   P                  4       p\        VP                  R 4       R# rG   )r   trimr   r   r   s   & r   	test_trimTestExtraMethods.test_trim   r   r   c                h    V P                   P                  ^4      p\        VP                  R4       R# )r2   r$   N)r   truncater   r   r   s   & r   test_truncateTestExtraMethods.test_truncate   s"    "U\\3'r   kwargdomainwindowkindc                j    V P                   P                  ! R/ VB p\        VP                  R 4       R# )r$   Nr/   )r   convertr   r   )r   r   r}   s   && r   test_convertTestExtraMethods.test_convert   s'     ''U\\3'r   c                f    V P                   P                  4       p\        VP                  R 4       R# rG   )r   integr   r   r   s   & r   
test_integTestExtraMethods.test_integ       U\\3'r   c                f    V P                   P                  4       p\        VP                  R 4       R# rG   )r   derivr   r   r   s   & r   
test_derivTestExtraMethods.test_deriv   r   r   r/   N)r1   r2   r3       i)r7   r8   r9   r:   r;   r   r   r   r   r   r   r   r<   r=   	Chebyshevr   r   r   r@   rA   rB   s   @r   r   r      s      	S1A((( [[W	C9	C9	 ' 
(
((( (r   r   c                      \         P                  ! . RORR7      p \         P                  ! . RORR7      pV ! V4      pVP                  R8X  g   Q hR# )r3   r*   r   u   λ_1N)r3   r2   r1   )r   r1   r   )r   r   r   )r   qrs      r   test_compositionr      s=    	#.Af5A	!A88vr   c                      \        ^
4      3^,          w  r\        P                  P                  W^RR7      p\	        VP
                  R4       R# )rN   r$   )degr   N)ranger   r   fitr   r   )r	   r)   r   s      r   test_fitr      s=    "I<!DAAa4A3r   c                  |    R^.p \         P                  P                  V RR7      p\        VP                  R4       R# )r2   r$   r   N)r   r   	fromrootsr   r   )rootsr   s     r   test_froomrootsr      s2    GE!!%!4A3r   c                  ~    \         P                  P                  R^.^^.RR7      p \        V P                  R4       R# )r1   r$   )r   r   r   Nr   )r   r   identityr   r   r   s    r   test_identityr      s3      QB LA3r   c                  t    \         P                  P                  ^RR7      p \        V P                  R4       R# )r3   r$   r   N)r   r   basisr   r   r   s    r   
test_basisr      s)    a,A3r   r   )r;   r   numpy.polynomial
polynomialr   numpy._corer   numpy.testingr   r   r   r   rE   r<   r=   r   r[   rz   r   r   r   r   r   r   r   r/   r   r   <module>r      s       > >.% .%b& &( 		#.i%* %*%*P1 1	% 	%!( !(H   
 r   