
    MhJ                     b    S r SSKrSSKrSSKrSSKJr  SSK	J
r
   " S S\
5      r " S S5      rg)z)
Tests shared by MaskedArray subclasses.
    N)BaseOpsUtilc                        \ rS rSrS rS rSrg)ComparisonOps   c                    [         R                  " U" X5      5      n[         R                  " U" UR                  U5      SS9n[         R                  XQR                  '   [
        R                  " XE5        [         R                  " U5      nU" Xc5      nU" [         R                  " UR                  5      U5      R                  S5      n[         R                  XQR                  '   [
        R                  " XE5        g )Nbooleandtype)pdSeries_dataNA_masktmassert_series_equalastype)selfdataopotherresultexpectedsers          S/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/masked_shared.py_compare_otherComparisonOps._compare_other   s    2d?+99R

E2)D  "uu
v0 iioC bii

+U3::9E  "uu
v0    c                    Un[         R                  " / SQUS9nU" XQ5      nU[         R                  L a  [         R                  " / SQSS9nO;U" UR                  U5      n[         R                  R                  XR                  SS9n[        R                  " Xg5        [         R                  US'   [        R                  " U[         R                  " / SQUS95        g )N)   r   Nr	   )NNNr   T)copyr   )	r   arrayr   r   arraysBooleanArrayr   r   assert_extension_array_equal)	r   r   comparison_opr
   r   leftr   r   valuess	            r   test_scalarComparisonOps.test_scalar$   s    xxE2DBEE>xx 2)DH

E*Fyy--fjjt-LH
''9 EEq	
''bhh|5.QRr    N)__name__
__module____qualname____firstlineno__r   r(   __static_attributes__r*   r   r   r   r      s    1.Sr   r   c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)
NumericOps6   c                     [         R                  " [        S5      US9nUR                  [        R
                  SS9S:X  d   eUR                  [        R
                  SS9S:X  d   eg )N
   r	   r&   )sideright)r   r!   rangesearchsortednpnan)r   r
   arrs      r   test_searchsorted_nan NumericOps.test_searchsorted_nan9   s\     hhuRy.V4:::W5;;;r   c                 H    US-   n[         R                  " X!5      (       a   eg )Nr   )r   shares_memory)r   r   r   s      r   test_no_shared_maskNumericOps.test_no_shared_maskA   s%    ##F11111r   c                     Un[         R                  " / SQUS9n[         R                  " / SQUS9nU" XE5      nU" UR                  UR                  5      nUR                  UR                  -  n[         R                  R                  Xx5      n	[        R                  " Xi5        [         R                  US'   [        R                  " U[         R                  " / SQUS95        [        R                  " U[         R                  " / SQUS95        g )N)r   r      NNNr	   )r   r   Nr   r   Nr   )	r   r!   r   r   r"   r#   r   r$   r   )
r   r%   r
   r   r&   r6   r   r'   maskr   s
             r   
test_arrayNumericOps.test_arrayE   s    xx35A1?DDJJ,zzEKK'99))&7
''9 EEq	
''"((6eD	
 	''2884EB	
r   c                 p   Un[         R                  " / SQS-  SS9n[         R                  " S/S-  S/S-  -   S /S-  -   US9n[         R                  " S/S-  S/S-  -   S /S-  -   SS9nU" XF5      nU" XE5      n[        R                  " X5        U" Xd5      nU" XT5      n[        R                  " X5        g )	N)TFN   r   r	   r   r   FT)r   r!   r   r$   )	r   r%   r
   r   r&   r6   r   r   r   s	            r   test_compare_with_booleanarray)NumericOps.test_compare_with_booleanarray[   s    xx+a/yA!qA37*dVaZ7uE%1vz1TFQJ>iPd?D
''9 e?E
''9r   c                     [         R                  " SS /US9nUS:H  n[         R                  " S[         R                  /SS9n[        R                  " X45        g )Nr   r	   aFr   )r   r   r   r   r   )r   r
   r   r   r   s        r   test_compare_to_string!NumericOps.test_compare_to_stringk   sE    iiD	/99eRUU^9=
v0r   c                    [         R                  " / SQUS9n[         R                  " SS[         R                  /US9nX":H  nX3:H  n[        R                  " S[
        S9nXd-  n[        U[        R                  5      (       d   eUR                  5       (       d   e[        R                  " S[
        S9nSn[        R                  " [        US9   Xe-  nS S S 5        [        R                  " X#5      n[         R                  " SS[         R                  /US9n	[        R                  " X5        [        R                  " X#US	9nXL d   e[        R                  " X5        [        R                  " X)5        g ! , (       d  f       N= f)
N)r   rC   rH   r	   r   rC   rH   z0Specify an appropriate 'na_value' for this dtype)match   )out)r   r!   r   r9   zerosbool
isinstancendarrayallpytestraises
ValueErroraddr   r$   )
r   r
   r;   arr2rD   mask2r   msgresr   s
             r   test_ufunc_with_outNumericOps.test_ufunc_with_outs   s$   hhy.xxAruuU3z!4( &"**----zz||| !4(@]]:S1OF 2 ffS88Q255M7
''6 ffSC(zz
''6
''6 21s   E66
Fc                    [         R                  " SS[         R                  /US9n[        R                  " S[        R
                  S9R                  S5      nX#-  n[         R                  " [         R                  " S5      [         R                  " S5      [         R                  /5      n[        R                  " XE5        g )Nr   rC   r	   rH   zm8[ns]r   )r   r!   r   r9   arangeint64view	TimedeltaNaTr   r$   )r   r
   r;   r   r   r   s         r   test_mul_td64_arrayNumericOps.test_mul_td64_array   sy    hh1bee}E2		!288,11(;88R\\!_bll1orvvFG
''9r   r*   N)r+   r,   r-   r.   r<   r@   rE   rI   rM   r`   rh   r/   r*   r   r   r1   r1   6   s&    <2
,: 17@:r   r1   )__doc__numpyr9   rX   pandasr   pandas._testing_testingr   pandas.tests.extension.baser   r   r1   r*   r   r   <module>rp      s6        3'SK 'STd: d:r   