
    \h              
          % S r SSKJr  SSKJr  SSKrSSKJrJrJ	r	J
r
  SSKJr  SSKJr  \\	\\
\\
4      \S'   \\\\4/r SS	KJrJr  \R+                  \\" \" S
5      5      \\" \" S
5      5      45        S rg! \ a     Nf = f)z
test_pythonmpq.py

Test the PythonMPQ class for consistency with gmpy2's mpq type. If gmpy2 is
installed run the same tests for both.
    )Fraction)DecimalN)CallableListTupleType)raises)	PythonMPQrational_types)mpqmpz   c            	        ^^^ [          GH  u  mmn mUU4S jnU" T" S5      5      S:X  d   eU" T" SS5      5      S:X  d   eU" T" T" SS5      5      5      S:X  d   eU" T" S5      5      S:X  d   eU" T" S5      5      S:X  d   eU" T" [        SS5      5      5      S:X  d   eT[        L a  U" T" [        S	5      5      5      S:X  d   e[	        [
        U4S
 j5        [	        [
        U4S j5        U" T" SS5      5      S:X  d   eU" T" SS5      5      S:X  d   eU" T" SS5      5      S:X  d   eU" T" SS5      5      S:X  d   eU" T" SS5      5      S:X  d   e[        T" SS5      5      S:X  d   e[        T" SS5      5      S:X  d   e[        T" SS5      5      S:X  d   e[        T" SS5      5      S:X  d   e[        T" SS5      5      S:X  d   e[        T" SS5      5      S:X  d   eT[        L a1  [        T" SS5      5      S:X  d   e[        T" SS5      5      S:X  d   eO0[        T" SS5      5      S:X  d   e[        T" SS5      5      S:X  d   e[        T" SS5      5      SL d   e[        T" S 5      5      S!L d   eT" SS5      T" SS5      :H  SL d   eT" SS5      T" SS5      :H  S!L d   eT" SS5      T" SS5      :g  S!L d   eT" SS5      T" SS5      :g  SL d   e[        T" SS5      5      [        [        SS5      5      :X  d   eT" SS5      n[        R                  " [        R                  " U5      5      U:X  d   eT" SS5      T" SS5      :  SL d   eT" SS5      T" SS5      :  S!L d   eT" SS5      T" SS5      :  S!L d   eT" SS5      T" SS5      :  SL d   eT" SS5      T" SS5      :  S!L d   eT" SS5      T" SS5      :*  SL d   eT" SS5      T" SS5      :*  SL d   eT" SS5      T" SS5      :*  S!L d   eT" SS5      T" SS5      :*  SL d   eT" SS5      T" SS5      :*  S!L d   eT" SS5      T" SS5      :  S!L d   eT" SS5      T" SS5      :  S!L d   eT" SS5      T" SS5      :  SL d   eT" SS5      T" SS5      :  S!L d   eT" SS5      T" SS5      :  SL d   eT" SS5      T" SS5      :  S!L d   eT" SS5      T" SS5      :  SL d   eT" SS5      T" SS5      :  SL d   eT" SS5      T" SS5      :  S!L d   eT" SS5      T" SS5      :  SL d   e[        T" SS5      5      [        T" SS5      5      s=:X  a  T" SS5      :X  d   e   eT" SS5      7T" SS5      :X  d   eT" SS5      * T" SS5      :X  d   eT" SS5      T" SS"5      -   T" S#S$5      :X  d   eT" SS5      S-   T" SS5      :X  d   eST" SS5      -   T" SS5      :X  d   e[	        [
        U4S% j5        [	        [
        U4S& j5        T" SS5      T" SS"5      -
  T" SS$5      :X  d   eT" SS5      S-
  T" SS5      :X  d   eST" SS5      -
  T" SS5      :X  d   e[	        [
        U4S' j5        [	        [
        U4S( j5        T" SS5      T" SS"5      -  T" S)S$5      :X  d   eT" SS5      S-  T" SS5      :X  d   eST" SS5      -  T" SS5      :X  d   e[	        [
        U4S* j5        [	        [
        U4S+ j5        T" SS5      S-  T" S,S-5      :X  d   eT" SS5      S-  T" SS5      :X  d   eT" SS5      S-  T" S,S-5      :X  d   eT" SS5      S-  T" SS5      :X  d   eT[        L a(  [	        [
        U4S. j5        [	        [
        U4S/ j5        [	        [
        U4S0 j5        [	        [
        U4S1 j5        T" SS5      T" SS"5      -  T" S2S35      :X  d   eT" SS5      S-  T" SS5      :X  d   eST" SS5      -  T" SS5      :X  d   e[	        [
        U4S4 j5        [	        [
        U4S5 j5        [	        [         U4S6 j5        T[        L d  GMH  [	        [
        U4S7 j5        [	        [
        U4S8 j5        [	        [
        U4S9 j5        [	        [
        U4S: j5        [	        [
        U4S; j5        [	        [
        U4S< j5        GM     g )=Nc                    > [        U T5      (       d   e[        U R                  T5      (       d   e[        U R                  T5      (       d   eU R                  U R                  4$ N)
isinstance	numeratordenominator)qTQTZs    [/var/www/auris/envauris/lib/python3.13/site-packages/sympy/external/tests/test_pythonmpq.pycheck_Qtest_PythonMPQ.<locals>.check_Q#   sW    a$$$$akk2....ammR0000;;--       )r   r      )r   r   g      ?)r      z0.5z0.6c                     > T " / 5      $ r    Qs   r   <lambda> test_PythonMPQ.<locals>.<lambda>6   s	    !B%r   c                     > T " / / 5      $ r   r    r!   s   r   r#   r$   7   s    !B)r   r   )r   r   )r&   r         )r   r   r   g      @g      2z1/2zMPQ(2,1)zMPQ(1,2)zmpq(2,1)zmpq(1,2)Tr   F         c                     > / T " S5      -   $ Nr   r    r!   s   r   r#   r$          "qt)r   c                     > T " S5      / -   $ r1   r    r!   s   r   r#   r$          !A$)r   c                     > / T " S5      -
  $ r1   r    r!   s   r   r#   r$      r2   r   c                     > T " S5      / -
  $ r1   r    r!   s   r   r#   r$      r4   r   
   c                     > / T " S5      -  $ r1   r    r!   s   r   r#   r$      r2   r   c                     > T " S5      / -  $ r1   r    r!   s   r   r#   r$      r4   r      	   c                     > ST " SS5      -  $ )Nr   r   r   r    r!   s   r   r#   r$          a1Q7lr   c                  *   > T " SS5      T " SS5      -  $ )Nr   r:   r   r    r!   s   r   r#   r$          a1g1a&8r   c                     > / T " S5      -  $ r1   r    r!   s   r   r#   r$      s    "!*r   c                     > T " S5      / -  $ r1   r    r!   s   r   r#   r$      s    !A$"*r         c                     > / T " S5      -  $ r1   r    r!   s   r   r#   r$      r2   r   c                     > T " S5      / -  $ r1   r    r!   s   r   r#   r$      r4   r   c                  (   > T " SS5      T " S5      -  $ )Nr   r   r   r    r!   s   r   r#   r$      s    !Aq'AaD.r   c                  *   > T " SS5      T " SS5      -  $ Nr   r   r   r    r!   s   r   r#   r$      r?   r   c                  *   > T " SS5      T " SS5      -  $ rH   r    r!   s   r   r#   r$      s    a1g!Q&7r   c                     > ST " SS5      -  $ Nr   r   r    r!   s   r   r#   r$      r=   r   c                     > ST " SS5      -  $ rK   r    r!   s   r   r#   r$      s    a!Aq'kr   c                     > T " SS5      S-  $ rH   r    r!   s   r   r#   r$      s    a1glr   c                     > T " SS5      S-  $ rH   r    r!   s   r   r#   r$      s    a1gkr   )r   r   r
   r   r	   	TypeErrorintfloatstrreprboolhashpickleloadsdumpsabsZeroDivisionError)Zr   r   r"   r   r   s      @@@r   test_PythonMPQr\      s2	    '2q"	. qt}&&&qAw6)))q1az"f,,,qv&(((qx F***q!Q()V333 	>1WU^,-777 	y-(y+, qAw6)))qQx G+++qBx G+++qRy!V+++ qQx F*** 1Q7|q   1R8}"""Qq!W~$$$Qr1X$&&& 1Q7|s"""1Q7|u$$$	>!Q=J...!Q=J...!Q=J...!Q=J... AaG}$$$AaDzU""" !Q1Q7"t+++!Q1Q7"u,,,!Q1Q7"u,,,!Q1Q7"t+++ AaG}Xa^ 4444 aG||FLLO,111 !Q!Aq'!d***!Q!Aq'!e+++!Q!Aq'!e+++"a1Q7"t+++!Q!B("u,,,!Q1Q7"t+++!Q1Q7"t+++!Q1Q7"u,,,"aAaG#,,,!Q1R8#---!Q!Aq'!e+++!Q!Aq'!e+++!Q!Aq'!d***"a1Q7"u,,,!Q!B("t+++!Q1Q7"u,,,!Q1Q7"t+++!Q1Q7"t+++"aAaG#---!Q1R8#,,, 1Q7|s1R8}7!Q77777!Qx1Q7"""!Qx1R8### Aw1a Ab"I---Aw{a1g%%%1Q7{a1g%%%y+,y+, Aw1a Ab"I---Aw{aAh&&&1Q7{a1g%%%y+,y+, Aw1a Ab"I---Aw{a1g%%%1Q7{a1g%%%y+,y+, Aw!|qAw&&&Aw!|qAw&&&Qx1}!Q'''Qx2~2q)))	>923989y,-y,- Aw1a Ab"I---Aw{a1g%%%1Q7{a1g%%%y+,y+, "89 	>989978923912923912_ 'r   )__doc__	fractionsr   decimalr   rV   typingr   r   r   r   sympy.testing.pytestr	   sympy.external.pythonmpqr
   __annotations__rP   r   gmpy2r   r   appendtypeImportErrorr\   r    r   r   <module>rh      s       . . ' . U8T8T9:; ;ic23	3SVc4A<@A
S3	  		s   5A< <BB