+
    i8                         R t ^ RIHtHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHt ^ R	IHt RR
 lt] ! R R]]]	4      4       t]! 4       tR# )z,Implementation of :class:`RealField` class. )
SYMPY_INTSMPQ)Float)Field)SimpleDomain)CharacteristicZero)CoercionFailed)public)	MPContext)to_rationalc                 ~   \        V P                  4      w  r4\        V4      p\        V4      pV'       d   WA8:  d   W43# Rw  rVrxY4r W,          pWkV,          ,           pW8  d   M&WxW[V,          ,           V3w  rVrxYW,          ,
          rKE  W,
          V,          p\        W44      p\        W]V,          ,           WmV,          ,           4      p\        Wx4      pV'       d	   V'       g   W43# \	        VV,
          4      \	        W,
          4      8:  d   VP
                  VP                  3# VP
                  VP                  3# )    )r      r   r   )_mpmath_to_rational_mpf_intr   abs	numeratordenominator)s	max_denomlimitpqp0q0p1q1ndaq2knumberbound1bound2s   &&&              }/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/polys/domains/realfield.pyr   r      s   qww'DA
 	AAAAANtNBBq
DB$Y>dB.ac'1	"AYFdB2I&F[Ft	Vf_	V_!5	5!3!333!3!333    c                   .  a  ] tR t^6t o RtRtR;ttRtRt	Rt
RtRt^5t]R 4       t]R 4       t]R 4       t]R 4       tR#R
 lt]R 4       tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R$R lt#R t$R t%R t&R t'R%R lt(R  t)R! t*R"t+V t,R	# )&	RealFieldz(Real numbers up to the given precision. RRTFc                4    V P                   V P                  8H  # N)	precision_default_precisionselfs   &r&   has_default_precisionRealField.has_default_precisionG   s    ~~!8!888r'   c                .    V P                   P                  # r,   )_contextprecr/   s   &r&   r-   RealField.precisionK   s    }}!!!r'   c                .    V P                   P                  # r,   )r4   dpsr/   s   &r&   r8   RealField.dpsO   s    }}   r'   c                    V P                   # r,   )
_tolerancer/   s   &r&   	toleranceRealField.toleranceS   s    r'   Nc                   \        4       pVf   Vf   V P                  Vn        M!Vf   Wn        MVf   W$n        M\	        R4      hW@n        VP                  V n        V P                  ^ 4      V n	        V P                  ^4      V n
        \        ^VP                  ,          ^,          ^c4      V n        V P                  V P                  ,          V n        R # )NzCannot set both prec and dps)r
   r.   r5   r8   	TypeErrorr4   mpf_dtypedtypezeroonemax
_max_denomr;   )r0   r5   r8   tolcontexts   &&&& r&   __init__RealField.__init__W   s     +<CK22GL[L\K:;;kkJJqM	::a= ao4b9((T__4r'   c                    V P                   # r,   )rA   r/   s   &r&   tpRealField.tpq   s     {{r'   c                f    \        V\        4      '       d   \        V4      pV P                  V4      # r,   )
isinstancer   r   rA   )r0   args   &&r&   rB   RealField.dtypey   s)     c:&&c(C{{3r'   c                d    \        V\        4      ;'       d    V P                  VP                  8H  # r,   )rO   r)   r-   )r0   others   &&r&   __eq__RealField.__eq__   s$    %+QQ%//0QQr'   c                n    \        V P                  P                  V P                  V P                  34      # r,   )hash	__class____name__rA   r-   r/   s   &r&   __hash__RealField.__hash__   s&    T^^,,dkk4>>JKKr'   c                ,    \        WP                  4      # )z%Convert ``element`` to SymPy number. )r   r8   )r0   elements   &&r&   to_sympyRealField.to_sympy   s    Whh''r'   c                    VP                  V P                  R7      pVP                  '       d   V P                  V4      # \	        RV,          4      h)z%Convert SymPy's number to ``dtype``. )r   zexpected real number, got %s)evalfr8   	is_NumberrB   r   )r0   exprr#   s   && r&   
from_sympyRealField.from_sympy   sB    dhh'::f%% !?$!FGGr'   c                $    V P                  V4      # r,   rB   r0   r]   bases   &&&r&   from_ZZRealField.from_ZZ       zz'""r'   c                $    V P                  V4      # r,   rg   rh   s   &&&r&   from_ZZ_pythonRealField.from_ZZ_python   rl   r'   c                6    V P                  \        V4      4      # r,   )rB   r   rh   s   &&&r&   from_ZZ_gmpyRealField.from_ZZ_gmpy   s    zz#g,''r'   c                l    V P                  VP                  4      \        VP                  4      ,          # r,   rB   r   r   r   rh   s   &&&r&   from_QQRealField.from_QQ   '    zz'++,s73F3F/GGGr'   c                l    V P                  VP                  4      \        VP                  4      ,          # r,   rt   rh   s   &&&r&   from_QQ_pythonRealField.from_QQ_python   rw   r'   c                ~    V P                  \        VP                  4      4      \        VP                  4      ,          # r,   )rB   r   r   r   rh   s   &&&r&   from_QQ_gmpyRealField.from_QQ_gmpy   s,    zz#g//01C8K8K4LLLr'   c                t    V P                  VP                  V4      P                  V P                  4      4      # r,   )rd   r^   ra   r8   rh   s   &&&r&   from_AlgebraicFieldRealField.from_AlgebraicField   s)    t}}W5;;DHHEFFr'   c                $    V P                  V4      # r,   rg   rh   s   &&&r&   from_RealFieldRealField.from_RealField   rl   r'   c                `    VP                   '       g   V P                  VP                  4      # R # r,   )imagrB   realrh   s   &&&r&   from_ComplexFieldRealField.from_ComplexField   s#    |||::gll++ r'   c                0    \        WP                  VR7      # )z*Convert a real number to rational number. )r   )r   rF   )r0   r]   r   s   &&&r&   r   RealField.to_rational   s    7OO5AAr'   c                    V # )z)Returns a ring associated with ``self``.  r/   s   &r&   get_ringRealField.get_ring   s    r'   c                    ^ RI Hp V# )z2Returns an exact domain associated with ``self``. )QQ)sympy.polys.domainsr   )r0   r   s   & r&   	get_exactRealField.get_exact   s
    *	r'   c                    V P                   # )z Returns GCD of ``a`` and ``b``. )rD   r0   r    bs   &&&r&   gcdRealField.gcd   s    xxr'   c                    W,          # )z Returns LCM of ``a`` and ``b``. r   r   s   &&&r&   lcmRealField.lcm   s	    s
r'   c                :    V P                   P                  WV4      # )z+Check if ``a`` and ``b`` are almost equal. )r4   almosteq)r0   r    r   r<   s   &&&&r&   r   RealField.almosteq   s    }}%%aI66r'   c                    V^ 8  # )z8Returns ``True`` if ``a >= 0`` and ``False`` otherwise. r   r0   r    s   &&r&   	is_squareRealField.is_square   s    Avr'   c                &    V^ 8  d
   VR,          # R# )zNon-negative square root for ``a >= 0`` and ``None`` otherwise.

Explanation
===========
The square root may be slightly inaccurate due to floating point
rounding error.
g      ?Nr   r   s   &&r&   exsqrtRealField.exsqrt   s     6qCx+t+r'   )r4   rA   rF   r;   rD   rC   )NNNTr,   )-rY   
__module____qualname____firstlineno____doc__repis_RealFieldis_RRis_Exactis_Numericalis_PIDhas_assoc_Ringhas_assoc_Fieldr.   propertyr1   r-   r8   r<   rI   rL   rB   rT   rZ   r^   rd   rj   rn   rq   ru   ry   r|   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r&   r)   r)   6   s    2
CL5HLFNO9 9 " " ! !  54   RL(H##(HHMG#,B
7, ,r'   r)   Nr   )r   sympy.external.gmpyr   r   sympy.core.numbersr   sympy.polys.domains.fieldr    sympy.polys.domains.simpledomainr   &sympy.polys.domains.characteristiczeror   sympy.polys.polyerrorsr   sympy.utilitiesr	   mpmathr
   mpmath.libmpr   r   r)   r*   r   r'   r&   <module>r      sX    2 0 $ + 9 E 1 "  ;#4L b,)< b, b,J [r'   