File: //lib/python3.10/__pycache__/numbers.cpython-310.pyc
o
    E�hl(  �                   @   s�   d Z ddlmZmZ g d�ZG dd� ded�ZG dd� de�Ze�e� G d	d
� d
e�Z	e	�e
� G dd� de	�ZG d
d� de�Ze�e
� dS )z~Abstract Base Classes (ABCs) for numbers, according to PEP 3141.
TODO: Fill out more detailed documentation on the operators.�    )�ABCMeta�abstractmethod)�Number�Complex�Real�Rational�Integralc                   @   s   e Zd ZdZdZdZdS )r   z�All numbers inherit from this class.
    If you just want to check if an argument x is a number, without
    caring what kind, use isinstance(x, Number).
    � N)�__name__�
__module__�__qualname__�__doc__�	__slots__�__hash__r	   r	   r	   �/usr/lib/python3.10/numbers.pyr      s    r   )�	metaclassc                   @   s�   e Zd ZdZdZedd� �Zdd� Zeedd� ��Z	eed	d
� ��Z
edd� �Zed
d� �Zedd� �Z
edd� �Zdd� Zdd� Zedd� �Zedd� �Zedd� �Zedd� �Zedd � �Zed!d"� �Zed#d$� �Zed%d&� �Zed'd(� �Zd)S )*r   af  Complex defines the operations that work on the builtin complex type.
    In short, those are: a conversion to complex, .real, .imag, +, -,
    *, /, **, abs(), .conjugate, ==, and !=.
    If it is given heterogeneous arguments, and doesn't have special
    knowledge about them, it should fall back to the builtin complex
    type as described below.
    r	   c                 C   �   dS )z<Return a builtin complex instance. Called for complex(self).Nr	   ��selfr	   r	   r   �__complex__-   s    zComplex.__complex__c                 C   s   | dkS )z)True if self != 0. Called for bool(self).r   r	   r   r	   r	   r   �__bool__1   �   zComplex.__bool__c                 C   �   t �)zXRetrieve the real component of this number.
        This should subclass Real.
        ��NotImplementedErrorr   r	   r	   r   �real5   �   zComplex.realc                 C   r   )z]Retrieve the imaginary component of this number.
        This should subclass Real.
        r   r   r	   r	   r   �imag>