
    Mh                    ^    S r SSKJr  SSKrSSKJr  SSKr\(       a  SSKJ	r	  SS jr
S	S jrg)
z#
Templates for invalid operations.
    )annotationsN)TYPE_CHECKING)nptc                B   U[         R                  L a%  [        R                  " U R                  [
        S9nU$ U[         R                  L a%  [        R                  " U R                  [
        S9nU$ [        U5      R                  n[        SU R                   SU 35      e)av  
If a comparison has mismatched types and is not necessarily meaningful,
follow python3 conventions by:

    - returning all-False for equality
    - returning all-True for inequality
    - raising TypeError otherwise

Parameters
----------
left : array-like
right : scalar, array-like
op : operator.{eq, ne, lt, le, gt}

Raises
------
TypeError : on inequality comparisons
)dtypez!Invalid comparison between dtype=z and )operatoreqnpzerosshapeboolneonestype__name__	TypeErrorr   )leftrightop
res_valuestyps        I/var/www/html/env/lib/python3.13/site-packages/pandas/core/ops/invalid.pyinvalid_comparisonr      s    & 
X[[XXdjj5
  
x{{	WWTZZt4
  5k"";DJJ<uSERSS    c                &   ^  SU 4S jjnT Ul         U$ )z
Return a binary method that always raises a TypeError.

Parameters
----------
name : str

Returns
-------
invalid_op : function
c                P   > [        U 5      R                  n[        ST SU 35      e)Nzcannot perform z with this index type: )r   r   r   )selfotherr   names      r   
invalid_op#make_invalid_op.<locals>.invalid_op9   s+    4j!!/$/FseLMMr   )N)r   )r   r    s   ` r   make_invalid_opr"   ,   s    N Jr   )returnznpt.NDArray[np.bool_])r   str)__doc__
__future__r   r   typingr   numpyr
   pandas._typingr   r   r"    r   r   <module>r+      s(    #    ":r   