o
    $x`\  ã                   @   s�   d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z
 G dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )zè
Interface definitions paralleling the abstract base classes defined in
:mod:`numbers`.

After this module is imported, the standard library types will declare
that they implement the appropriate interface.

.. versionadded:: 5.0.0
é    )Úabsolute_importN)ÚABCInterface)Úoptional)ÚPYTHON2c                   @   ó   e Zd ZejZdS )ÚINumberN)Ú__name__Ú
__module__Ú__qualname__ÚabcÚNumber© r   r   ú?/usr/lib/python3/dist-packages/zope/interface/common/numbers.pyr   $   ó    
r   c                   @   s6   e Zd ZejZedd„ ƒZeredd„ ƒZeZ	dS dS )ÚIComplexc                   C   ó   dS ©z<
        Rarely implemented, even in builtin types.
        Nr   r   r   r   r   Ú__complex__+   ó    zIComplex.__complex__c                 C   r   ©zS
            The interpreter may supply one through complicated rules.
            Nr   ©Úotherr   r   r   Ú__eq__2   r   zIComplex.__eq__N)
r   r	   r
   r   ÚComplexr   r   ÚPY2r   Ú__ne__r   r   r   r   r   (   s    

ùr   c                   @   s>   e Zd ZejZedd„ ƒZe ZZe	redd„ ƒZ
e
ZdS dS )ÚIRealc                   C   r   r   r   r   r   r   r   r   =   r   zIReal.__complex__c                 C   r   r   r   r   r   r   r   Ú__le__F   r   zIReal.__le__N)r   r	   r
   r   ÚRealr   r   Ú	__floor__Ú__ceil__r   r   Ú__lt__r   r   r   r   r   :   s    

ùr   c                   @   r   )Ú	IRationalN)r   r	   r
   r   ÚRationalr   r   r   r   r"   O   r   r"   c                   @   r   )Ú	IIntegralN)r   r	   r
   r   ÚIntegralr   r   r   r   r$   S   r   r$   )Ú__doc__Ú
__future__r   Únumbersr   Úzope.interface.commonr   r   Úzope.interface._compatr   r   r   r   r   r"   r$   r   r   r   r   Ú<module>   s   	