
    \h                     `    S r SSKJrJrJr  SSKJr  SSKJr  SSK	J
r
  \
 " S S\5      5       rg)	z6Implementation of :class:`PythonRationalField` class.     )PythonIntegerPythonRationalSymPyRational)RationalField)CoercionFailed)publicc                       \ rS rSrSr\r\" S5      r\" S5      rSr	S r
S rS rS	 rS
 rS rS rS rS rS rS rSrg)PythonRationalField	   zRational field based on :ref:`MPQ`.

This will be used as :ref:`QQ` if ``gmpy`` and ``gmpy2`` are not
installed. Elements are instances of :ref:`MPQ`.
r      	QQ_pythonc                     g )N )selfs    _/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/domains/pythonrationalfield.py__init__PythonRationalField.__init__   s        c                     SSK Jn  U" 5       $ )z'Returns ring associated with ``self``. r   )PythonIntegerRing)sympy.polys.domainsr   )r   r   s     r   get_ringPythonRationalField.get_ring   s    9 ""r   c                 B    [        UR                  UR                  5      $ )zConvert `a` to a SymPy object. )r   	numeratordenominatorr   as     r   to_sympyPythonRationalField.to_sympy   s    Q[[!--88r   c                    UR                   (       a   [        UR                  UR                  5      $ UR                  (       a7  SSKJn  UR                  U5      u  p4[        [        U5      [        U5      5      $ [        SU-  5      e)z%Convert SymPy's Rational to `dtype`. r   )RRz"expected `Rational` object, got %s)
is_Rationalr   pqis_Floatr   r"   to_rationalintr   )r   r   r"   r$   r%   s        r   
from_sympyPythonRationalField.from_sympy"   s^    ==!!##qss++ZZ.>>!$DA!#a&#a&11 !E!IJJr   c                     [        U5      $ )z*Convert a Python `int` object to `dtype`. )r   K1r   K0s      r   from_ZZ_python"PythonRationalField.from_ZZ_python-   s    a  r   c                     U$ )z/Convert a Python `Fraction` object to `dtype`. r   r,   s      r   from_QQ_python"PythonRationalField.from_QQ_python1   s    r   c                 *    [        [        U5      5      $ )z(Convert a GMPY `mpz` object to `dtype`. )r   r   r,   s      r   from_ZZ_gmpy PythonRationalField.from_ZZ_gmpy5   s    mA.//r   c                 v    [        [        UR                  5       5      [        UR                  5       5      5      $ )z(Convert a GMPY `mpq` object to `dtype`. )r   r   numerdenomr,   s      r   from_QQ_gmpy PythonRationalField.from_QQ_gmpy9   s*    mAGGI6+AGGI68 	8r   c                 d    UR                  U5      u  p4[        [        U5      [        U5      5      $ )z*Convert a mpmath `mpf` object to `dtype`. )r'   r   r(   )r-   r   r.   r$   r%   s        r   from_RealField"PythonRationalField.from_RealField>   s'    ~~a c!fc!f--r   c                     UR                   $ )zReturns numerator of `a`. )r   r   s     r   r8   PythonRationalField.numerC   s    {{r   c                     UR                   $ )zReturns denominator of `a`. )r   r   s     r   r9   PythonRationalField.denomG   s    }}r   r   N)__name__
__module____qualname____firstlineno____doc__r   dtypezeroonealiasr   r   r   r)   r/   r2   r5   r:   r=   r8   r9   __static_attributes__r   r   r   r
   r
   	   s]     E8D
(CE#
9	K!08
.
r   r
   N)rG   sympy.polys.domains.groundtypesr   r   r   !sympy.polys.domains.rationalfieldr   sympy.polys.polyerrorsr   sympy.utilitiesr   r
   r   r   r   <module>rQ      s3    < Y X ; 1 "?- ? ?r   