Sindbad~EG File Manager
�
Mٜg�
� � � d Z ddlmZ ddlmZ ddlmZmZ ddlm Z ddl
mZ ddlm
Z
mZ erddlmZ dd �Zdd
�Zd� Zd� Zy
)z;
Boilerplate functions used in defining binary operations.
� )�annotations)�wraps)�
TYPE_CHECKING�Callable)�item_from_zerodim)�is_matching_na)�ABCIndex� ABCSeries)�Fc � � � d� fd�}|S )z�
Boilerplate for pandas conventions in arithmetic and comparison methods.
Parameters
----------
name : str
Returns
-------
decorator
c � �� t | �� S )N)�_unpack_zerodim_and_defer)�method�names ��A/usr/local/lib/python3.12/site-packages/pandas/core/ops/common.py�wrapperz)unpack_zerodim_and_defer.<locals>.wrapper% s �� �(���6�6� )r r �returnr � )r r s ` r �unpack_zerodim_and_deferr s �� �7� �Nr c �z � �� |j d� j d� }|dv �t � � �� fd�� }|S )aM
Boilerplate for pandas conventions in arithmetic and comparison methods.
Ensure method returns NotImplemented when operating against "senior"
classes. Ensure zero-dimensional ndarrays are always unpacked.
Parameters
----------
method : binary method
name : str
Returns
-------
method
�__> �eq�ge�gt�le�lt�nec � �� �r!t | t � rt |t � rn$t |dd � }|�|| j kD rt
S t
|� } �| |� S )N�__pandas_priority__)�
isinstancer r
�getattrr �NotImplementedr )�self�other�prio�is_cmpr s ��r �
new_methodz-_unpack_zerodim_and_defer.<locals>.new_method>