
    Vh                         d Z ddlZddlmZ ddlmZ  G d de      Z G d de      Z G d	 d
e      Z G d de      Z	 G d de	      Z
y)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
    N)ABCInterface)optionalc                   $    e Zd Zej                  Zy)INumberN)__name__
__module____qualname__abcNumber     M/home/dcms/DCMS/lib/python3.12/site-packages/zope/interface/common/numbers.pyr   r   "   s    
**Cr   r   c                   4    e Zd Zej                  Zed        Zy)IComplexc                       yz<
        Rarely implemented, even in builtin types.
        Nr   r   r   r   __complex__zIComplex.__complex__)       r   N)r   r   r	   r
   Complexr   r   r   r   r   r   r   &   s    
++C r   r   c                   <    e Zd Zej                  Zed        ZexZZy)IRealc                       yr   r   r   r   r   r   zIReal.__complex__3   r   r   N)	r   r   r	   r
   Realr   r   	__floor____ceil__r   r   r   r   r   0   s)    
((C 
 '&Ir   r   c                   $    e Zd Zej                  Zy)	IRationalN)r   r   r	   r
   Rationalr   r   r   r   r   <       
,,Cr   r   c                   $    e Zd Zej                  Zy)	IIntegralN)r   r   r	   r
   Integralr   r   r   r!   r!   @   r   r   r!   )__doc__numbersr
   zope.interface.commonr   r   r   r   r   r   r!   r   r   r   <module>r&      sQ     . *l w 	'H 	' 	 r   