
    ^iO
              
       :   d dl Z d dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZ d Zd Zej                            ddg dej        dg          ej                            d	e j        e j        e j        e j        e j        e j        g          d
                         ZdS )    N)isna)comparison_opna_logical_opc                     t          j        d                              dd          } |                     t                    }t           j        |d<   t          j        t          d          5  t          j
        | |           d d d            n# 1 swxY w Y   t          | |t          j
                  }|}t          j        ||           d S )N         )r   r   zunsupported operand type)match)nparangereshapeastypeobjectnanpytestraises	TypeErroroperatoror_r   tmassert_numpy_array_equalleftrightresultexpecteds       Q/usr/local/lib/python3.11/dist-packages/pandas/tests/arithmetic/test_array_ops.pytest_na_logical_op_2dr      s    9Q<<1%%DKKE&E$K 
y(B	C	C	C " "T5!!!" " " " " " " " " " " " " " " 455FH11111s   -BBBc                     t          j        d                              dd                              t                    } | j        }t          | |t          j                  }t          j	        d                              t                    }t          j        ||           d|j        _        t          | |t          j                  }t          j        ||            d S )N	      F)r   r   r   r   r   Tr   r   eqeyeboolr   r   flags	writeablener   s       r   test_object_comparison_2dr)      s    9Q<<1%%,,V44DFE444Fvayy%%H111 "EK444F	22222    rvalues   )r,   r,   r,   opc                     G d dt           j                  }d }g d}t          t          j        |          t          j        |           |          } |t          j        |          t          j        |           |          }t	          j        ||           t           ||           ||           |          } | ||           ||           |          }t	          j        ||           d S )Nc                       e Zd Zd ZddZdS )1test_comparison_for_subclasses.<locals>.TestArrayc                 P    t          j        |                              |           S )N)r   asarrayview)clsinput_arrays     r   __new__z9test_comparison_for_subclasses.<locals>.TestArray.__new__4   s     :k**//444r*   returnNc                     d| _         d S )NT)_is_test_array)selfobjs     r   __array_finalize__zDtest_comparison_for_subclasses.<locals>.TestArray.__array_finalize__7   s    "&Dr*   )r7   N)__name__
__module____qualname__r6   r<    r*   r   	TestArrayr0   3   s7        	5 	5 	5	' 	' 	' 	' 	' 	'r*   rA   c                    |j         dk    rot          |                                          rN|t          j        u r t          j        | j        t                    S t          j	        | j        t                    S  || |          S )Nr   )dtype)
ndimr   itemr   r(   r   onesshaper%   zeros)lvaluesr+   r-   s      r   expected_with_na_handlingzAtest_comparison_for_subclasses.<locals>.expected_with_na_handling:   sq    LA4#7#7X[  ww}D9999xT::::r'7###r*   )r,   r	   r!   )r   ndarrayr   arrayr   r   )r+   r-   rA   rJ   rI   r   r   s          r   test_comparison_for_subclassesrM   ,   s   ' ' ' ' 'BJ ' ' '$ $ $ iiG 28G,,bhw.?.?DDF(('):):BHW<M<MrRRH11199W--yy/A/A2FFF((7););YYw=O=OQSTTH11111r*   )r   numpyr   r   pandas.core.dtypes.missingr   pandas._testing_testingr   pandas.core.ops.array_opsr   r   r   r)   markparametrizer   r#   r(   ltlegtgerM   r@   r*   r   <module>rY      s         + + + + + +             2 2 23 3 3 Q			264$@AA8;X[(+x{HK
X 2 2  BA2 2 2r*   