ó
    wñ:i
  ã                   óx   • S r SSKrSSKrSSKJrJrJrJr  SSK	J
r  SSKJrJr  S
S jrSS jrSS\4S jjrS	 rg)z)
Assertion helpers for arithmetic tests.
é    N)Ú	DataFrameÚIndexÚSeriesÚarray)ÚBooleanArrayÚNumpyExtensionArrayc                 óà   • [         R                  " [        US9   X-     SSS5        [         R                  " [        US9   X-     SSS5        g! , (       d  f       N5= f! , (       d  f       g= f)z‹
Helper to assert that left and right cannot be added.

Parameters
----------
left : object
right : object
msg : str, default "cannot add"
©ÚmatchN©ÚpytestÚraisesÚ	TypeError©ÚleftÚrightÚmsgs      Úa/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/pandas/tests/arithmetic/common.pyÚassert_cannot_addr      sG   € ô 
�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-Ð	,÷ 
-Õ	,úç	,Õ	,ús   šAÁ AÁ
AÁ
A-c                 ó¼  • [         R                  " [        US9   X-     SSS5        [         R                  " [        US9   X-     SSS5        [         R                  " [        US9   X-
    SSS5        [         R                  " [        US9   X-
    SSS5        g! , (       d  f       N�= f! , (       d  f       Nl= f! , (       d  f       NW= f! , (       d  f       g= f)zŸ
Helper to assert that left and right can be neither added nor subtracted.

Parameters
----------
left : object
right : object
msg : str or None, default None
r
   Nr   r   s      r   Úassert_invalid_addsub_typer   $   s…   € ô 
�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-Ð	,÷ 
-Õ	,úç	,Õ	,úç	,Õ	,úç	,Õ	,ús/   šBÁ B+Á&B<ÂCÂ
B(Â+
B9Â<
C
Ã
CÚis_cmpc                 óÈ  • [        U [        5      (       d  [        U[        5      (       a  [        $ [        U [        5      (       d  [        U[        5      (       a2  U(       a%  [        U [        5      (       a  [        R
                  $ [        $ [        U [        5      (       d  [        U[        5      (       a  U(       a  [        R
                  $ [        $ [        R                  $ )z¿
Get the box to use for 'expected' in an arithmetic or comparison operation.

Parameters
left : Any
right : Any
is_cmp : bool, default False
    Whether the operation is a comparison method.
)Ú
isinstancer   r   r   Únpr   ÚtmÚto_array)r   r   r   s      r   Úget_upcast_boxr   8   s�   € ô �$œ	×"Ñ"¤j°¼	×&BÑ&BÜÐÜ�$œ×Ñ¤:¨e´V×#<Ñ#<Þ”j ¤u×-Ñ-ä—8‘8ˆOÜˆÜ�$œ×Ñ¤*¨U´E×":Ñ":ÞÜ—8‘8ˆOÜˆÜ�;‰;Ðó    c                 óâ  • U[         [        4;  a  UO[        R                  nS nUn[        U[         5      (       a%  [        U [        5      (       a  [        R                  nU" X:H  5      nU" [        R
                  " UR                  [        R                  S95      n[        R                  " Xg5        U" X:H  5      n[        R                  " Xe" U5      5        U" X:g  5      n[        R                  " Xg) 5        U" X:g  5      n[        R                  " Xe" U) 5      5        SR                  / SQ5      n[        R                  " [        US9   X:    SSS5        [        R                  " [        US9   X:*    SSS5        [        R                  " [        US9   X:„    SSS5        [        R                  " [        US9   X:¬    SSS5        [        R                  " [        US9   X:    SSS5        [        R                  " [        US9   X:*    SSS5        [        R                  " [        US9   X:„    SSS5        [        R                  " [        US9   X:¬    SSS5        g! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       Nñ= f! , (       d  f       NÜ= f! , (       d  f       NÇ= f! , (       d  f       N²= f! , (       d  f       N�= f! , (       d  f       g= f)zæ
Assert that comparison operations with mismatched types behave correctly.

Parameters
----------
left : np.ndarray, ExtensionArray, Index, or Series
right : object
box : {pd.DataFrame, pd.Series, pd.Index, pd.array, tm.to_array}
c                 óœ   • [        U [        5      (       a  U R                  $ [        U [        5      (       a  U R	                  [
        5      $ U $ ©N)r   r   Ú_ndarrayr   ÚastypeÚbool)Úxs    r   Úxbox2Ú(assert_invalid_comparison.<locals>.xbox2`   s<   € ô �aÔ,×-Ñ-Ø—:‘:ÐÜ�aœ×&Ñ&à—8‘8œD“>Ð!Øˆr   )ÚdtypeÚ|)zInvalid comparison betweenzCannot compare typeznot supported betweenzinvalid type promotionz¿The DTypes <class 'numpy.dtype\[datetime64\]'> and <class 'numpy.dtype\[int64\]'> do not have a common DType. For example they cannot be stored in a single array unless the dtype is `object`.r
   N)r   r   r   r   r   ÚzerosÚshapeÚbool_r   Úassert_equalÚjoinr   r   r   )	r   r   ÚboxÚxboxr'   Úrev_boxÚresultÚexpectedr   s	            r   Úassert_invalid_comparisonr5   Q   sé  € ð œe¤U˜^Ó+‰3´·±€Dòð €GÜ�%œ×Ñ¤J¨t´V×$<Ñ$<Ü—(‘(ˆá�4‘=Ó!€FÙ”B—H’H˜VŸ\™\´·±Ñ:Ó;€Hä‡O‚O�FÔ%á�5‘=Ó!€FÜ‡O‚O�F˜G HÓ-Ô.á�4‘=Ó!€FÜ‡O‚O�F˜IÔ&á�5‘=Ó!€FÜ‡O‚O�F˜G X IÓ.Ô/à
�(‰(ò	
ó€Cô 
�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-ä	�Š”y¨Ó	,ØŠ÷ 
-Ð	,÷ 
-Ö	,úç	,Ö	,úç	,Õ	,úç	,Õ	,úç	,Õ	,úç	,Õ	,úç	,Õ	,úç	,Õ	,ús`   ÅI'Å5I9ÆJÇJÇ'J-ÈJ>È3KÉK É'
I6É9
JÊ
JÊ
J*Ê-
J;Ê>
KË
KË 
K.)z
cannot addr"   )F)Ú__doc__Únumpyr   r   Úpandasr   r   r   r   Úpandas._testingÚ_testingr   Úpandas.core.arraysr   r   r   r   r%   r   r5   © r   r   Ú<module>r=      sB   ðñó Û ÷ó õ ÷ôô ñ(¨õ ó2Jr   