B
    ˜‘[¸  ã               @   s`   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ eG dd„ dee	eƒƒZd	S )
z0Implementation of :class:`RationalField` class. é    )Úprint_functionÚdivision)ÚField)ÚSimpleDomain)ÚCharacteristicZero)Úpublicc               @   s8   e Zd ZdZdZd ZZdZdZdZ	dd„ Z
dd„ ZdS )	ÚRationalFieldz#General class for rational fields. ZQQTc             G   s   ddl m} || f|žŽ S )z?Returns an algebraic field, i.e. `\mathbb{Q}(\alpha, \ldots)`. r   )ÚAlgebraicField)Zsympy.polys.domainsr	   )ÚselfÚ	extensionr	   © r   ú@lib/python3.7/site-packages/sympy/polys/domains/rationalfield.pyÚalgebraic_field   s    zRationalField.algebraic_fieldc             C   s   |j r|  | ¡ |j¡S dS )z'Convert a ``ANP`` object to ``dtype``. N)Z	is_groundZconvertZLCZdom)ZK1ÚaZK0r   r   r   Úfrom_AlgebraicField   s    z!RationalField.from_AlgebraicFieldN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZrepZis_RationalFieldZis_QQZis_NumericalZhas_assoc_RingZhas_assoc_Fieldr   r   r   r   r   r   r      s   r   N)r   Z
__future__r   r   Zsympy.polys.domains.fieldr   Z sympy.polys.domains.simpledomainr   Z&sympy.polys.domains.characteristiczeror   Zsympy.utilitiesr   r   r   r   r   r   Ú<module>   s   