
    Khv                     $   S SK r S SKrS SKrS SKJrJrJr   " S S\R                  R                  R                  5      rS rS	S jr\R                  \R                  \R                   \R"                  \R$                  \R&                  \R(                  \R*                  \R,                  \R.                  \R0                  \R2                  \\\R8                  \R:                  \R<                  \R>                  \R@                  /r! " S S5      r"g)
    N)assert_assert_equalassert_raisesc                   V    \ rS rSrS r\R                  \R                  4r	S r
S rSrg)	ArrayLike   c                 :    [         R                  " U5      U l        g N)npasarrayvalue)selfr   s     M/var/www/html/env/lib/python3.13/site-packages/numpy/lib/tests/test_mixins.py__init__ArrayLike.__init__   s    ZZ&
    c                   ^  UR                  SS5      nX5-    H.  n[        UT R                  [        4-   5      (       a  M(  [        s  $    [        S U 5       5      nU(       a  [        S U 5       5      US'   [        X5      " U0 UD6n[        U5      [
        L a  [        U 4S jU 5       5      $ US:X  a  g [        T 5      " U5      $ )Nout c              3   h   #    U  H(  n[        U[        5      (       a  UR                  OUv   M*     g 7fr
   
isinstancer   r   .0xs     r   	<genexpr>,ArrayLike.__array_ufunc__.<locals>.<genexpr>   s,      ( &1 #-Q	":":qwwA &   02c              3   h   #    U  H(  n[        U[        5      (       a  UR                  OUv   M*     g 7fr
   r   r   s     r   r   r   !   s,      "A &a33:r   c              3   F   >#    U  H  n[        T5      " U5      v   M     g 7fr
   )type)r   r   r   s     r   r   r   (   s     71dAs   !at)getr   _HANDLED_TYPESr   NotImplementedtuplegetattrr!   )r   ufuncmethodinputskwargsr   r   results   `       r   __array_ufunc__ArrayLike.__array_ufunc__   s    jj#A
 a!4!4	|!CDD%%   ( &( (! "" F5M ':6:<5 7777t^ :f%%r   c                 P    [        U 5      R                  < SU R                  < S3$ )N())r!   __name__r   )r   s    r   __repr__ArrayLike.__repr__0   s    :..

;;r   )r   N)r2   
__module____qualname____firstlineno__r   r   ndarraynumbersNumberr$   r-   r3   __static_attributes__r   r   r   r   r      s%    '
 jj'..1N&:<r   r   c                 `    [        U 5      [        L a  [        S U  5       5      $ [        U 5      $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7fr
   )r   )r   rs     r   r   "wrap_array_like.<locals>.<genexpr>6   s     26aYq\\6s   )r!   r&   r   r,   s    r   wrap_array_likerA   4   s*    F|u26222  r   c                    [        [        U 5      [        U5      US9  [        U [        5      (       a>  [        [	        U 5      [	        U5      US9  [        X5       H  u  p4[        X4U5        M     g [        U R                  UR                  US9  [        [        U R                  SS 5      [        UR                  SS 5      US9  g )Nerr_msgdtype)	r   r!   r   r&   lenzip_assert_equal_type_and_valuer   r'   )r,   expectedrD   result_itemexpected_items        r   rH   rH   ;   s    ftH~w?&%  S[#h-A*-f*?&K(WM +@ 	V\\8>>7CWV\\7D9X^^Wd;W	Nr   c                   V    \ 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)TestNDArrayOperatorsMixin^   c                    S nU" [        S5      S-   5        U" S[        S5      -   5        U" [        S5      [        R                  " S5      -   5        U" [        R                  " S5      [        S5      -   5        U" [        [        R                  " S5      5      S-   5        U" S[        [        R                  " S5      5      -   5        U" [        [        R                  " S5      5      [        R                  " S5      -   5        U" [        R                  " S5      [        [        R                  " S5      5      -   5        g )Nc                 .    [        U [        S5      5        g Nr   )rH   r   r@   s    r   check<TestNDArrayOperatorsMixin.test_array_like_add.<locals>.checkb   s    (1>r   r   )r   r   array)r   rR   s     r   test_array_like_add-TestNDArrayOperatorsMixin.test_array_like_add`   s    	? 	ilQa)A,ilRXXa[()bhhqkIaL()i$q()a)BHHQK(()i$rxx{23bhhqkIbhhqk223r   c                 @   [        [        R                  " S/5      5      nUS-  n[        U[        [        R                  " S/5      5      5        [        R                  " S/5      nU[        S5      -  n[        U[        [        R                  " S/5      5      5        g )Nr      )r   r   rT   rH   )r   
array_likerT   s      r   test_inplace&TestNDArrayOperatorsMixin.test_inplaceq   sn    rxx}-
a
$Z288QC=1IJ!1$UIbhhsm,DEr   c                     " S S5      n[        S5      nU" 5       n[        X#-   UL 5        [        X2-   UL 5        [        [        5         X#-  nS S S 5        [        [        5         X#-
    S S S 5        [        [        5         X2-
    S S S 5        g ! , (       d  f       NG= f! , (       d  f       N<= f! , (       d  f       g = f)Nc                   (    \ rS rSrSrSrS rS rSrg)6TestNDArrayOperatorsMixin.test_opt_out.<locals>.OptOut|   z(Object that opts out of __array_ufunc__.Nc                     U $ r
   r   r   others     r   __add__>TestNDArrayOperatorsMixin.test_opt_out.<locals>.OptOut.__add__       r   c                     U $ r
   r   ra   s     r   __radd__?TestNDArrayOperatorsMixin.test_opt_out.<locals>.OptOut.__radd__   re   r   r   )	r2   r5   r6   r7   __doc__r-   rc   rg   r;   r   r   r   OptOutr^   |   s    :"Or   rj   rX   )r   r   r   	TypeError)r   rj   rY   opt_outs       r   test_opt_out&TestNDArrayOperatorsMixin.test_opt_outz   s    	 	 q\
( 	
$/0$/0 9%!J & 9%  &9%  &% &% &%%%s$   
B&B!B2
B!
B/2
C c                      " S S[         5      n[        S5      nU" S5      n[        X#-   U5        [        X2-   U5        g )Nc                       \ rS rSrSrSrg)=TestNDArrayOperatorsMixin.test_subclass.<locals>.SubArrayLike   z&Should take precedence over ArrayLike.r   N)r2   r5   r6   r7   ri   r;   r   r   r   SubArrayLikerq      s    8r   rs   r   rX   )r   rH   )r   rs   r   ys       r   test_subclass'TestNDArrayOperatorsMixin.test_subclass   s:    	99 	9 aLO$QUA.$QUA.r   c                 <   [        S5      n[        5       n[        [        5         X-     S S S 5        [        [        5         X!-     S S S 5        [        [        5         X-  nS S S 5        g ! , (       d  f       NG= f! , (       d  f       N<= f! , (       d  f       g = frQ   )r   objectr   rk   )r   r   objs      r   test_object%TestNDArrayOperatorsMixin.test_object   sd    aLh9%G &9%G &9%HA &%	 &%%%%%s#   A+A<B+
A9<
B

Bc           	         [         R                  " / SQ5      n[        U5      n[        R                  [        R
                  [        [        R                  4 H$  n[        U" U5      [        U" U5      5      5        M&     g )Nr   rX      )	r   rT   r   operatornegposabsinvertrH   )r   rT   rY   ops       r   test_unary_methods,TestNDArrayOperatorsMixin.test_unary_methods   sW    'u%
<<<<??$B )J2e99MN	$r   c                     [         R                  " / SQ5      n[        U5      n[         H9  n[	        U" US5      5      nU" US5      nSR                  U5      n[        XEUS9  M;     g )Nr}   rX   failed for operator {}rC   )r   rT   r   _ALL_BINARY_OPERATORSrA   formatrH   )r   rT   rY   r   rI   actualrD   s          r   test_forward_binary_methods5TestNDArrayOperatorsMixin.test_forward_binary_methods   sZ    'u%
'B&r%|4H
A&F.55b9G(7K	 (r   c                     [          HB  n[        U" SS5      5      nU" S[        S5      5      nSR                  U5      n[	        X#US9  MD     g )Nr   rX   r   rC   )r   rA   r   r   rH   )r   r   rI   r   rD   s        r   test_reflected_binary_methods7TestNDArrayOperatorsMixin.test_reflected_binary_methods   sF    'B&r!Qx0H9Q<(F.55b9G(7K	 (r   c                 b   [         R                  " SS/[         R                  S9n[        U5      n[        [         R                  " S5      5      n[	        U[         R
                  " X!5      5        [	        U[        R
                  " X!5      5        [	        U[        R
                  " X5      5        g )NrX   r   )rE      )r   rT   float64r   rH   matmulr   )r   rT   rY   rI   s       r   test_matmul%TestNDArrayOperatorsMixin.test_matmul   su    !Qrzz2u%
RZZ]+$Xryy/KL$hooj8	:$hooe8	:r   c           	          [        [        R                  " / SQ5      5      n[        [        R                  R                  U[        R                  " SS/5      5      S L 5        [        U[        / SQ5      5        g )N)rX   r         r   rX   )r~   r   r   )r   r   rT   r   negativer"   rH   )r   rT   s     r   test_ufunc_at'TestNDArrayOperatorsMixin.test_ufunc_at   sM    "((<01ubhh1v&674?@$UIn,EFr   c           	      ,   [         R                  " S5      u  p[        U5      [        U5      4n[        [         R                  " [        S5      5      U5        [        [         R                  " [        [         R                  " S5      5      5      U5        g )Ng      ?)r   frexpr   rH   rT   )r   mantissaexponentrI   s       r   test_ufunc_two_outputs0TestNDArrayOperatorsMixin.test_ufunc_two_outputs   sf    XXg.h'8)<=$HHYw'((	4$HHYrxx012H	>r   r   N)r2   r5   r6   r7   rU   rZ   rm   ru   rz   r   r   r   r   r   r   r;   r   r   r   rM   rM   ^   s>    4"F!8/OLL:G
>r   rM   r
   )#r9   r   numpyr   numpy.testingr   r   r   libmixinsNDArrayOperatorsMixinr   rA   rH   ltleeqnegtgeaddsubmultruedivfloordivmoddivmodpowlshiftrshiftand_xoror_r   rM   r   r   r   <module>r      s       > >&<33 &<R!	N KKKKKKKKKKKKLLLLLLLL
OOOOMMLLLL' .z> z>r   