§
    OŠtj¥  ã            
       ó>  — U d Z ddlmZ ddlmZ ddlZddlmZmZm	Z	m
Z
 ddlmZ ddlmZ ee	ee
ee
f                  ed<   eeeefgZ	 dd	lmZmZ e                     e e ed
¦  «        ¦  «        e e ed
¦  «        ¦  «        f¦  «         n# e$ r Y nw xY wd„ ZdS )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            	      óÒ  ‡‡‡— t           D �
]Ú\  ŠŠ} Šˆˆfd„} | ‰d¦  «        ¦  «        dk    sJ ‚ | ‰dd¦  «        ¦  «        dk    sJ ‚ | ‰ ‰dd¦  «        ¦  «        ¦  «        dk    sJ ‚ | ‰d¦  «        ¦  «        dk    sJ ‚ | ‰d¦  «        ¦  «        dk    sJ ‚ | ‰t          dd¦  «        ¦  «        ¦  «        dk    sJ ‚‰t          u r' | ‰t          d	¦  «        ¦  «        ¦  «        dk    sJ ‚t	          t
          ˆfd
„¦  «         t	          t
          ˆfd„¦  «          | ‰dd¦  «        ¦  «        dk    sJ ‚ | ‰dd¦  «        ¦  «        dk    sJ ‚ | ‰dd¦  «        ¦  «        dk    sJ ‚ | ‰dd¦  «        ¦  «        dk    sJ ‚ | ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        dk    sJ ‚‰t          u r?t           ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        dk    sJ ‚n>t           ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        dk    sJ ‚t           ‰dd¦  «        ¦  «        du sJ ‚t           ‰d ¦  «        ¦  «        d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚t           ‰dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        k    sJ ‚ ‰dd¦  «        }t          j        t          j        |¦  «        ¦  «        |k    sJ ‚ ‰dd¦  «         ‰dd¦  «        k     du sJ ‚ ‰dd¦  «         ‰dd¦  «        k     d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k     d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k     du sJ ‚ ‰dd¦  «         ‰dd¦  «        k     d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚ ‰dd¦  «         ‰dd¦  «        k    d!u sJ ‚ ‰dd¦  «         ‰dd¦  «        k    du sJ ‚t           ‰dd¦  «        ¦  «        t           ‰dd¦  «        ¦  «        cxk    r ‰dd¦  «        k    sn J ‚ ‰dd¦  «        
  ‰dd¦  «        k    sJ ‚ ‰dd¦  «          ‰dd¦  «        k    sJ ‚ ‰dd¦  «         ‰dd"¦  «        z    ‰d#d$¦  «        k    sJ ‚ ‰dd¦  «        dz    ‰dd¦  «        k    sJ ‚d ‰dd¦  «        z    ‰dd¦  «        k    sJ ‚t	          t
          ˆfd%„¦  «         t	          t
          ˆfd&„¦  «          ‰dd¦  «         ‰dd"¦  «        z
   ‰dd$¦  «        k    sJ ‚ ‰dd¦  «        dz
   ‰dd¦  «        k    sJ ‚d ‰dd¦  «        z
   ‰dd¦  «        k    sJ ‚t	          t
          ˆfd'„¦  «         t	          t
          ˆfd(„¦  «          ‰dd¦  «         ‰dd"¦  «        z   ‰d)d$¦  «        k    sJ ‚ ‰dd¦  «        dz   ‰dd¦  «        k    sJ ‚d ‰dd¦  «        z   ‰dd¦  «        k    sJ ‚t	          t
          ˆfd*„¦  «         t	          t
          ˆfd+„¦  «          ‰dd¦  «        dz   ‰d,d-¦  «        k    sJ ‚ ‰dd¦  «        dz   ‰dd¦  «        k    sJ ‚ ‰dd¦  «        dz   ‰d,d-¦  «        k    sJ ‚ ‰dd¦  «        dz   ‰dd¦  «        k    sJ ‚‰t          u r0t	          t
          ˆfd.„¦  «         t	          t
          ˆfd/„¦  «         t	          t
          ˆfd0„¦  «         t	          t
          ˆfd1„¦  «          ‰dd¦  «         ‰dd"¦  «        z   ‰d2d3¦  «        k    sJ ‚ ‰dd¦  «        dz   ‰dd¦  «        k    sJ ‚d ‰dd¦  «        z   ‰dd¦  «        k    sJ ‚t	          t
          ˆfd4„¦  «         t	          t
          ˆfd5„¦  «         t	          t           ˆfd6„¦  «         ‰t          u r�t	          t
          ˆfd7„¦  «         t	          t
          ˆfd8„¦  «         t	          t
          ˆfd9„¦  «         t	          t
          ˆfd:„¦  «         t	          t
          ˆfd;„¦  «         t	          t
          ˆfd<„¦  «         �
ŒÜd S )=Nc                 ó    •— t          | ‰¦  «        sJ ‚t          | j        ‰¦  «        sJ ‚t          | j        ‰¦  «        sJ ‚| j        | j        fS ©N)Ú
isinstanceÚ	numeratorÚdenominator)ÚqÚTQÚTZs    €€úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/external/tests/test_pythonmpq.pyÚcheck_Qztest_PythonMPQ.<locals>.check_Q#   sX   ø€ Ý˜a Ñ$Ô$Ð$Ð$Ð$Ý˜aœk¨2Ñ.Ô.Ð.Ð.Ð.Ý˜aœm¨RÑ0Ô0Ð0Ð0Ð0Ø”; ¤Ð-Ð-ó    é   )r   r   é   )r   r   g      à?)r   é   z0.5z0.6c                  ó   •—  ‰ g ¦  «        S r   © ©ÚQs   €r   ú<lambda>z test_PythonMPQ.<locals>.<lambda>6   s   ø€  ! ! B¡%¤%€ r   c                  ó   •—  ‰ g g ¦  «        S r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>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                  ó    •— g  ‰ d¦  «        z   S ©Nr   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>…   ó   ø€  " q q¨¡t¤t¡)€ r   c                  ó    •—  ‰ d¦  «        g z   S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>†   ó   ø€  ! ! A¡$¤$¨¡)€ r   c                  ó    •— g  ‰ d¦  «        z
  S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>Œ   r0   r   c                  ó    •—  ‰ d¦  «        g z
  S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>�   r2   r   é
   c                  ó    •— g  ‰ d¦  «        z  S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>“   r0   r   c                  ó    •—  ‰ d¦  «        g z  S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>”   r2   r   é   é	   c                  ó"   •— d ‰ dd¦  «        z  S )Nr   r   r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>œ   ó   ø€  a¨1¨1¨Q°©7¬7¡l€ r   c                  ó6   •—  ‰ dd¦  «         ‰ dd¦  «        z  S )Nr   r8   r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>�   ó    ø€  a a¨¨1¡g¤g°°°1°a±´Ñ&8€ r   c                  ó    •— g  ‰ d¦  «        z  S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>ž   s   ø€  "¨¨¨!©¬¡*€ r   c                  ó    •—  ‰ d¦  «        g z  S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>Ÿ   s   ø€  ! ! A¡$¤$¨"¡*€ r   é   é   c                  ó    •— g  ‰ d¦  «        z  S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>¥   r0   r   c                  ó    •—  ‰ d¦  «        g z  S r/   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>¦   r2   r   c                  ó4   •—  ‰ dd¦  «         ‰ d¦  «        z  S )Nr   r   r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>§   s   ø€ ¨!¨!¨A¨q©'¬'°A°A°a±D´D©.€ r   c                  ó6   •—  ‰ dd¦  «         ‰ dd¦  «        z  S ©Nr   r   r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>«   r=   r   c                  ó6   •—  ‰ dd¦  «         ‰ dd¦  «        z  S rF   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>¬   s    ø€  a a¨¨1¡g¤g°°°!°Q±´Ñ&7€ r   c                  ó"   •— d ‰ dd¦  «        z  S ©Nr   r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>­   r;   r   c                  ó"   •— d ‰ dd¦  «        z  S rI   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>®   s   ø€  a¨!¨!¨A¨q©'¬'¡k€ r   c                  ó"   •—  ‰ dd¦  «        dz  S rF   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>¯   s   ø€  a a¨¨1¡g¤g°¡l€ r   c                  ó"   •—  ‰ dd¦  «        dz  S rF   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>°   s   ø€  a a¨¨1¡g¤g°¡k€ r   )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_PythonMPQrZ      s¶  øøø€ õ 'ð O3ñ O3‰ˆˆ2ˆq�"ð	.ð 	.ð 	.ð 	.ð 	.ð 	.ð ˆw�q�q˜‘t”t‰}Œ} Ò&Ð&Ð&Ð&Øˆw�q�q˜˜A‘w”wÑÔ 6Ò)Ð)Ð)Ð)Øˆw�q�q˜˜˜1˜a™œ‘z”zÑ"Ô" fÒ,Ð,Ð,Ð,Øˆw�q�q˜‘v”v‰Œ &Ò(Ð(Ð(Ð(Øˆw�q�q˜‘x”xÑ Ô  FÒ*Ð*Ð*Ð*Øˆw�q�q� ! Q™œÑ(Ô(Ñ)Ô)¨VÒ3Ð3Ð3Ð3ð •	ˆ>ˆ>Ø�7˜1˜1�W U™^œ^Ñ,Ô,Ñ-Ô-°Ò7Ð7Ð7Ð7õ 	�y˜-˜-˜-˜-Ñ(Ô(Ð(Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,ð ˆw�q�q˜˜A‘w”wÑÔ 6Ò)Ð)Ð)Ð)Øˆw�q�q˜˜Q‘x”xÑ Ô  GÒ+Ð+Ð+Ð+Øˆw�q�q˜˜B‘x”xÑ Ô  GÒ+Ð+Ð+Ð+Øˆw�q�q˜˜R‘y”yÑ!Ô! VÒ+Ð+Ð+Ð+ð ˆw�q�q˜˜Q‘x”xÑ Ô  FÒ*Ð*Ð*Ð*õ �1�1�Q˜‘7”7‰|Œ|˜qÒ Ð Ð Ð Ý�1�1�R˜‘8”8‰}Œ} Ò"Ð"Ð"Ð"Ý�Q�Q�q˜!‘W”W‰~Œ~ Ò$Ð$Ð$Ð$Ý�Q�Q�r˜1‘X”X‰Œ $Ò&Ð&Ð&Ð&õ �1�1�Q˜‘7”7‰|Œ|˜sÒ"Ð"Ð"Ð"Ý�1�1�Q˜‘7”7‰|Œ|˜uÒ$Ð$Ð$Ð$Ø•	ˆ>ˆ>Ý˜˜˜!˜Q™œ‘=”= JÒ.Ð.Ð.Ð.Ý˜˜˜!˜Q™œ‘=”= JÒ.Ð.Ð.Ð.Ð.å˜˜˜!˜Q™œ‘=”= JÒ.Ð.Ð.Ð.Ý˜˜˜!˜Q™œ‘=”= JÒ.Ð.Ð.Ð.õ �A�A�a˜‘G”G‰}Œ} Ð$Ð$Ð$Ð$Ý�A�A�a‘D”D‰zŒz˜UÐ"Ð"Ð"Ð"ð ��!�Q‘”˜1˜1˜Q ™7œ7Ò" tÐ+Ð+Ð+Ð+Ø��!�Q‘”˜1˜1˜Q ™7œ7Ò" uÐ,Ð,Ð,Ð,Ø��!�Q‘”˜1˜1˜Q ™7œ7Ò" uÐ,Ð,Ð,Ð,Ø��!�Q‘”˜1˜1˜Q ™7œ7Ò" tÐ+Ð+Ð+Ð+õ �A�A�a˜‘G”G‰}Œ}¥¥X¨a°¡^¤^Ñ 4Ô 4Ò4Ð4Ð4Ð4ð ˆAˆa�‰GŒGˆÝŒ|�FœL¨™OœOÑ,Ô,°Ò1Ð1Ð1Ð1ð ��!�Q‘”˜!˜!˜A˜q™'œ'Ò! dÐ*Ð*Ð*Ð*Ø��!�Q‘”˜!˜!˜A˜q™'œ'Ò! eÐ+Ð+Ð+Ð+Ø��!�Q‘”˜!˜!˜A˜q™'œ'Ò! eÐ+Ð+Ð+Ð+Ø��"�a‘”˜1˜1˜Q ™7œ7Ò" tÐ+Ð+Ð+Ð+Ø��!�Q‘”˜!˜!˜B ™(œ(Ò" uÐ,Ð,Ð,Ð,à��!�Q‘”˜1˜1˜Q ™7œ7Ò" tÐ+Ð+Ð+Ð+Ø��!�Q‘”˜1˜1˜Q ™7œ7Ò" tÐ+Ð+Ð+Ð+Ø��!�Q‘”˜1˜1˜Q ™7œ7Ò" uÐ,Ð,Ð,Ð,Ø��"�a‘”˜A˜A˜a ™GœGÒ#¨Ð,Ð,Ð,Ð,Ø��!�Q‘”˜1˜1˜R ™8œ8Ò#¨Ð-Ð-Ð-Ð-à��!�Q‘”˜!˜!˜A˜q™'œ'Ò! eÐ+Ð+Ð+Ð+Ø��!�Q‘”˜!˜!˜A˜q™'œ'Ò! eÐ+Ð+Ð+Ð+Ø��!�Q‘”˜!˜!˜A˜q™'œ'Ò! dÐ*Ð*Ð*Ð*Ø��"�a‘”˜1˜1˜Q ™7œ7Ò" uÐ,Ð,Ð,Ð,Ø��!�Q‘”˜!˜!˜B ™(œ(Ò" tÐ+Ð+Ð+Ð+à��!�Q‘”˜1˜1˜Q ™7œ7Ò" uÐ,Ð,Ð,Ð,Ø��!�Q‘”˜1˜1˜Q ™7œ7Ò" tÐ+Ð+Ð+Ð+Ø��!�Q‘”˜1˜1˜Q ™7œ7Ò" tÐ+Ð+Ð+Ð+Ø��"�a‘”˜A˜A˜a ™GœGÒ#¨Ð-Ð-Ð-Ð-Ø��!�Q‘”˜1˜1˜R ™8œ8Ò#¨Ð,Ð,Ð,Ð,õ �1�1�Q˜‘7”7‰|Œ|�s 1 1 R¨¡8¤8™}œ}Ð7Ð7Ò7Ð7°°°!°Q±´Ò7Ð7Ð7Ð7Ð7Ð7Ø��!�Q‘”ˆx˜1˜1˜Q ™7œ7Ò"Ð"Ð"Ð"Ø��!�Q‘”ˆx˜1˜1˜R ™8œ8Ò#Ð#Ð#Ð#ð ˆq��A‰wŒw˜˜˜1˜a™œÑ  A A b¨"¡I¤IÒ-Ð-Ð-Ð-Øˆq��A‰wŒw˜‰{˜a˜a  1™gœgÒ%Ð%Ð%Ð%Ø�1�1�Q˜‘7”7‰{˜a˜a  1™gœgÒ%Ð%Ð%Ð%Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,ð ˆq��A‰wŒw˜˜˜1˜a™œÑ  A A b¨"¡I¤IÒ-Ð-Ð-Ð-Øˆq��A‰wŒw˜‰{˜a˜a  A™hœhÒ&Ð&Ð&Ð&Ø�1�1�Q˜‘7”7‰{˜a˜a  1™gœgÒ%Ð%Ð%Ð%Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,ð ˆq��A‰wŒw˜˜˜1˜a™œÑ  A A b¨"¡I¤IÒ-Ð-Ð-Ð-Øˆq��A‰wŒw˜‰{˜a˜a  1™gœgÒ%Ð%Ð%Ð%Ø�1�1�Q˜‘7”7‰{˜a˜a  1™gœgÒ%Ð%Ð%Ð%Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,ð ˆq��A‰wŒw˜!‰|˜q˜q  A™wœwÒ&Ð&Ð&Ð&Øˆq��A‰wŒw˜!‰|˜q˜q  A™wœwÒ&Ð&Ð&Ð&Øˆq��Q‰xŒx˜1‰}   ! Q¡¤Ò'Ð'Ð'Ð'Øˆq��Q‰xŒx˜2‰~   2 q¡¤Ò)Ð)Ð)Ð)Ø•	ˆ>ˆ>Ý•9Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ý•9Ð8Ð8Ð8Ð8Ñ9Ô9Ð9Ý�yÐ,Ð,Ð,Ð,Ñ-Ô-Ð-Ý�yÐ,Ð,Ð,Ð,Ñ-Ô-Ð-ð ˆq��A‰wŒw˜˜˜1˜a™œÑ  A A b¨"¡I¤IÒ-Ð-Ð-Ð-Øˆq��A‰wŒw˜‰{˜a˜a  1™gœgÒ%Ð%Ð%Ð%Ø�1�1�Q˜‘7”7‰{˜a˜a  1™gœgÒ%Ð%Ð%Ð%Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,Ý�yÐ+Ð+Ð+Ð+Ñ,Ô,Ð,ÝÕ Ð"8Ð"8Ð"8Ð"8Ñ9Ô9Ð9ð •	ˆ>ˆ>Ý•9Ð8Ð8Ð8Ð8Ñ9Ô9Ð9Ý•9Ð7Ð7Ð7Ð7Ñ8Ô8Ð8Ý•9Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ý•9Ð1Ð1Ð1Ð1Ñ2Ô2Ð2Ý•9Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ý•9Ð1Ð1Ð1Ð1Ñ2Ô2Ð2ùð_O3ð O3r   )Ú__doc__Ú	fractionsr   Údecimalr   rT   Útypingr   r   r   r   Úsympy.testing.pytestr	   Úsympy.external.pythonmpqr
   Ú__annotations__rN   r   Úgmpy2r   r   ÚappendÚtypeÚImportErrorrZ   r   r   r   ú<module>rf      sX  ððð ð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .à 'Ð 'Ð 'Ð 'Ð 'Ð 'à .Ð .Ð .Ð .Ð .Ð .ð �U˜8 T¨8°TÐ9Ô:Ô;Ð ;Ð ;Ñ ;Ø˜i¨¨cÐ2Ð3€ð	ØÐÐÐÐÐÐÐØ×Ò˜3   S S¨¡V¤V¡¤¨c°4°4¸¸¸A¹¼±<´<Ð@ÑAÔAÐAÐAøØð 	ð 	ð 	Ø€Dð	øøøðS3ð S3ð S3ð S3ð S3s   Á	AB ÂBÂB