§
    	�’j÷  ã                  ón   — d Z ddlmZ ddlZddlmZmZmZ ddlZ	erddl
mZ ddlmZmZmZ dd„Zdd„ZdS )z#
Templates for invalid operations.
é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚNoReturn)ÚCallable)Ú	ArrayLikeÚScalarÚnptÚleftr   Úrightú!ArrayLike | list | range | ScalarÚopúCallable[[Any, Any], bool]Úreturnúnpt.NDArray[np.bool_]c                ó  — |t           j        u r!t          j        | j        t
          ¬¦  «        }n]|t           j        u r!t          j        | j        t
          ¬¦  «        }n.t          |¦  «        j	        }t          d| j        › d|› �¦  «        ‚|S )a®  
    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   )r   r   r   Ú
res_valuesÚtyps        úEC:\Projects\DSCons\.venv\Lib\site-packages\pandas\core\ops\invalid.pyÚinvalid_comparisonr"      sƒ   € ð. 
�XŒ[ÐÐÝ”X˜dœjµÐ5Ñ5Ô5ˆ
ˆ
Ø	�xŒ{Ð	Ð	Ý”W˜TœZ­tÐ4Ñ4Ô4ˆ
ˆ
å�5‰kŒkÔ"ˆÝÐR¸D¼JÐRÐRÈSÐRÐRÑSÔSÐSØÐó    ÚnameÚstrúCallable[..., NoReturn]c                ó$   ‡ — dd	ˆ fd„}‰ |_         |S )
z¡
    Return a binary method that always raises a TypeError.

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

    Returns
    -------
    invalid_op : function
    NÚselfÚobjectÚotherr   r   c                óV   •— t          | ¦  «        j        }t          d‰› d|› �¦  «        ‚)Nzcannot perform z with this index type: )r   r   r   )r(   r*   r    r$   s      €r!   Ú
invalid_opz#make_invalid_op.<locals>.invalid_opH   s0   ø€ Ý�4‰jŒjÔ!ˆÝÐL¨$ÐLÐLÀsÐLÐLÑMÔMÐMr#   )N)r(   r)   r*   r)   r   r   )r   )r$   r,   s   ` r!   Úmake_invalid_opr-   ;   s=   ø€ ðNð Nð Nð Nð Nð Nð Nð €JÔØÐr#   )r   r   r   r   r   r   r   r   )r$   r%   r   r&   )Ú__doc__Ú
__future__r   r   Útypingr   r   r   Únumpyr   Úcollections.abcr   Úpandas._typingr   r	   r
   r"   r-   © r#   r!   ú<module>r5      së   ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€ðð ð ð ð ð ð ð ð ð ð Ð Ð Ð àð Ø(Ð(Ð(Ð(Ð(Ð(ðð ð ð ð ð ð ð ð ð ðð ð ð ðBð ð ð ð ð r#   