
    [hX                     r   S SK r S SKrSSKJrJrJrJrJr  \R                  r
0 4S jr " S S\5      r\" S5      r\" S5      r\" S	5      r\" S
5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r S SKr\R2                  R5                  \5        g! \ a     gf = f)    N   )	int_typesmpf_hashbitcountfrom_man_expHASH_MODULUSc                     X4nX2;   a  X#   $ XpTU(       a  XTU-  pTU(       a  M  US:w  a  X-  n X-  n[        [        5      nX4Ul        US::  a  [        US   5      S:  a  XbU'   U$ )Nr      r   d   )newmpq_mpq_abs)pq_cachekeyxyvs          G/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/rational.pycreate_reducedr      sw    
$C
}{q
a%1 !Av		CAdAGAv#c!f+#sH    c                       \ rS rSrSrS/rSS jrS rS rS r	S r
\
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\rS rS rS r\rS rS rS rSr g)r      z@
Exact rational type, currently only intended for internal use.
r   c                     [        U5      [        L a  Uu  pO[        US5      (       a  UR                  u  p[	        X5      $ )Nr   )typetuplehasattrr   r   )clsr   r   s      r   __new__mpq.__new__   s:    7eDAqQ  77DAa##r   c                      SU R                   -  $ )Nz
mpq(%s,%s)r   ss    r   __repr__mpq.__repr__&   s    agg%%r   c                      SU R                   -  $ )Nz(%s/%s)r$   r%   s    r   __str__mpq.__str__)   s    177""r   c                 &    U R                   u  pX-  $ Nr$   )r&   abs      r   __int__mpq.__int__,   s    wwvr   c                 2    [        U R                  S   5      $ Nr   )boolr   r%   s    r   __nonzero__mpq.__nonzero__0   s    AGGAJr   c           	         U R                   u  p[        R                  S:  ab  [        U[        S-
  [        5      nU(       d  [        R
                  R                  nO[        U5      U-  [        -  nUS:  a  U* nUS:X  a  SnU$ US:X  a  [        U5      $ X"S-
  -  (       d!  [        [        US[        U5      -
  5      5      $ [        X45      $ )N      r:   r   r   )r   sysversion_infopowr   	hash_infoinfr   hashr   r   r   )r&   r.   r/   inversehs        r   __hash__mpq.__hash__5   s    wwv%!\!^\:GMM%%Vg%51u1"aBwBHAvAw1IQ(1+ >??;r   c                     [        U5      nU[        L a  U R                  UR                  :H  $ U[        ;   a  U R                  u  p4US:w  a  gX1:H  $ [        $ )Nr   Fr   r   r   r   NotImplementedr&   tttyper.   r/   s        r   __eq__
mpq.__eq__H   sO    QC<77agg%%I77DAAv6Mr   c                     [        U5      nU[        L a  U R                  UR                  :g  $ U[        ;   a  U R                  u  p4US:w  a  gX1:g  $ [        $ )Nr   TrH   rJ   s        r   __ne__
mpq.__ne__S   sO    QC<77agg%%I77DAAv6Mr   c                     [        U5      nU[        ;   a  U R                  u  pEU" XAU-  5      $ U[        L a)  U R                  u  pEUR                  u  pgU" XG-  XV-  5      $ [        $ r-   )r   r   r   r   NotImplementedError)r&   rK   oprL   r.   r/   cds           r   _cmpmpq._cmp^   s_    QI77DAa1:C<77DA77DAac13<""r   c                 B    U R                  U[        R                  5      $ r-   )rW   operatorltr&   rK   s     r   __lt__
mpq.__lt__i       QVVAx{{33r   c                 B    U R                  U[        R                  5      $ r-   )rW   rZ   ler\   s     r   __le__
mpq.__le__j   r_   r   c                 B    U R                  U[        R                  5      $ r-   )rW   rZ   gtr\   s     r   __gt__
mpq.__gt__k   r_   r   c                 B    U R                  U[        R                  5      $ r-   )rW   rZ   ger\   s     r   __ge__
mpq.__ge__l   r_   r   c                 d    U R                   u  pUS:  a  U $ [        [        5      nU* U4Ul         U$ r3   r   r   r   r&   r.   r/   r   s       r   __abs__mpq.__abs__n   s4    ww6HH"a%r   c                 T    U R                   u  p[        [        5      nU* U4Ul         U$ r-   rm   rn   s       r   __neg__mpq.__neg__v   s(    wwH"a%r   c                     U $ r-    r%   s    r   __pos__mpq.__pos__|   s    r   c                    [        U5      nU[        L a1  U R                  u  p4UR                  u  pV[        X6-  XE-  -   XF-  5      $ U[        ;   a-  U R                  u  p4[        [        5      nX4U-  -   U4Ul        U$ [        $ r-   r   r   r   r   r   r   rI   r&   rK   rL   r.   r/   rU   rV   r   s           r   __add__mpq.__add__   w    QC<77DA77DA!!#ac'13//I77DACA!eQhAGHr   c                    [        U5      nU[        L a1  U R                  u  p4UR                  u  pV[        X6-  XE-  -
  XF-  5      $ U[        ;   a-  U R                  u  p4[        [        5      nX4U-  -
  U4Ul        U$ [        $ r-   ry   rz   s           r   __sub__mpq.__sub__   r}   r   c                    [        U5      nU[        L a1  U R                  u  p4UR                  u  pV[        XE-  X6-  -
  XF-  5      $ U[        ;   a-  U R                  u  p4[        [        5      nXA-  U-
  U4Ul        U$ [        $ r-   ry   rz   s           r   __rsub__mpq.__rsub__   sw    QC<77DA77DA!!#ac'13//I77DACAc!eQhAGHr   c                     [        U5      nU[        L a,  U R                  u  p4UR                  u  pV[        X5-  XF-  5      $ U[        ;   a  U R                  u  p4[        X1-  U5      $ [
        $ r-   r   r   r   r   r   rI   r&   rK   rL   r.   r/   rU   rV   s          r   __mul__mpq.__mul__   a    QC<77DA77DA!!#qs++I77DA!!#q))r   c                     [        U5      nU[        L a,  U R                  u  p4UR                  u  pV[        X6-  XE-  5      $ U[        ;   a  U R                  u  p4[        X4U-  5      $ [
        $ r-   r   r   s          r   __div__mpq.__div__   sa    QC<77DA77DA!!#qs++I77DA!!qS))r   c                     [        U5      nU[        L a,  U R                  u  p4UR                  u  pV[        XE-  X6-  5      $ U[        ;   a  U R                  u  p4[        XA-  U5      $ [
        $ r-   r   r   s          r   __rdiv__mpq.__rdiv__   r   r   c                     [        U5      nU[        ;   aD  U R                  u  p4U(       a)  US:  a  XCU* pn[        [        5      nX1-  XA-  4Ul        U$ [
        e[        $ r3   )r   r   r   r   r   ZeroDivisionErrorrI   )r&   rK   rL   r.   r/   r   s         r   __pow__mpq.__pow__   s\    QI77DAq5QB!AH$*##r   ru   N)r   )!__name__
__module____qualname____firstlineno____doc__	__slots__r!   r'   r*   r0   r5   __bool__rE   rM   rP   rW   r]   rb   rf   rj   ro   rr   rv   r{   __radd__r   r   r   __rmul__r   r   r   __static_attributes__ru   r   r   r   r      s     	I$&#  H&			# 4333 H	 H		r   r   )r   r   )r   r   )r   r:   r8   )r   r
   )r      )r9   r   )   r:   )r9   r
   )   r
   )r   r
   )rZ   r=   libmpr   r   r   r   r   objectr!   r   r   r   mpq_1mpq_0mpq_1_2mpq_3_2mpq_1_4mpq_1_16mpq_3_16mpq_5_2mpq_3_4mpq_7_4mpq_5_4numbersRationalregisterImportErrorru   r   r   <module>r      s     
 L Lnn " "~& ~B 	E
E

e*
e*
e*v;v;
e*
e*
e*
e*	c" 		s   B- -B65B6