Ë
    7^(h¥  ã            
       ó  — 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j+                  e e ed
«      «      e e ed
«      «      f«       d„ Zy# e$ r Y d„ Zyw xY w)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(  s0J ‚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«      k7  d!u sJ ‚ ‰dd«       ‰dd«      k7  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«      kD  d!u sJ ‚ ‰dd«       ‰dd«      kD  d!u sJ ‚ ‰dd«       ‰dd«      kD  du sJ ‚ ‰dd«       ‰dd«      kD  d!u sJ ‚ ‰dd«       ‰dd«      kD  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J ‚ 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 r&t	        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 s�Œêt	        t
        ˆfd7„«       t	        t
        ˆfd8„«       t	        t
        ˆfd9„«       t	        t
        ˆfd:„«       t	        t
        ˆfd;„«       t	        t
        ˆfd<„«       �Œ^ y )=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/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/external/tests/test_pythonmpq.pyÚcheck_Qztest_PythonMPQ.<locals>.check_Q#   sN   ø€ Ü˜a Ô$Ð$Ð$Ü˜aŸk™k¨2Ô.Ð.Ð.Ü˜aŸm™m¨RÔ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¨£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¨Q°«7¡l€ r   c                  ó*   •—  ‰ dd«       ‰ dd«      z  S )Nr   r8   r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>�   ó   ø€ ¡a¨¨1£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                  ó(   •—  ‰ dd«       ‰ d«      z  S )Nr   r   r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>§   s   ø€ ©!¨A¨q«'±A°a³D©.€ r   c                  ó*   •—  ‰ dd«       ‰ dd«      z  S ©Nr   r   r   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>«   r=   r   c                  ó*   •—  ‰ dd«       ‰ dd«      z  S rF   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>¬   s   ø€ ¡a¨¨1£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¨¨1£g°¡l€ r   c                  ó   •—  ‰ dd«      dz  S rF   r   r    s   €r   r"   z test_PythonMPQ.<locals>.<lambda>°   s   ø€ ¡a¨¨1£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      s7	  ú€ ô 'ó O3‰ˆˆ2ˆq�"õ	.ñ ‘q˜“t‹} Ò&Ð&Ð&Ù‘q˜˜A“wÓ 6Ò)Ð)Ð)Ù‘q™˜1˜a›“zÓ" fÒ,Ð,Ð,Ù‘q˜“v‹ &Ò(Ð(Ð(Ù‘q˜“xÓ  FÒ*Ð*Ð*Ù‘qœ ! Q›Ó(Ó)¨VÒ3Ð3Ð3ð ”	‰>Ù™1œW U›^Ó,Ó-°Ò7Ð7Ð7ô 	Œy›-Ô(ÜŒyÓ+Ô,ñ ‘q˜˜A“wÓ 6Ò)Ð)Ð)Ù‘q˜˜Q“xÓ  GÒ+Ð+Ð+Ù‘q˜˜B“xÓ  GÒ+Ð+Ð+Ù‘q˜˜R“yÓ! VÒ+Ð+Ð+ñ ‘q˜˜Q“xÓ  FÒ*Ð*Ð*ô ‘1�Q˜“7‹|˜qÒ Ð Ð Ü‘1�R˜“8‹} Ò"Ð"Ð"Ü‘Q�q˜!“W‹~ Ò$Ð$Ð$Ü‘Q�r˜1“X‹ $Ò&Ð&Ð&ô ‘1�Q˜“7‹|˜sÒ"Ð"Ð"Ü‘1�Q˜“7‹|˜uÒ$Ð$Ð$Ø”	‰>Ü™˜!˜Q›“= JÒ.Ð.Ð.Ü™˜!˜Q›“= JÒ.Ð.Ð.ä™˜!˜Q›“= JÒ.Ð.Ð.Ü™˜!˜Q›“= JÒ.Ð.Ð.ô ‘A�a˜“G‹} Ñ$Ð$Ð$Ü‘A�a“D‹z˜UÑ"Ð"Ð"ñ �!�Q“™1˜Q ›7Ñ" tÑ+Ð+Ð+Ù�!�Q“™1˜Q ›7Ñ" uÑ,Ð,Ð,Ù�!�Q“™1˜Q ›7Ñ" uÑ,Ð,Ð,Ù�!�Q“™1˜Q ›7Ñ" tÑ+Ð+Ð+ô ‘A�a˜“G‹}¤¤X¨a°£^Ó 4Ò4Ð4Ð4ñ ˆa�‹GˆÜ�|‰|œFŸL™L¨›OÓ,°Ò1Ð1Ð1ñ �!�Q“™!˜A˜q›'Ñ! dÑ*Ð*Ð*Ù�!�Q“™!˜A˜q›'Ñ! eÑ+Ð+Ð+Ù�!�Q“™!˜A˜q›'Ñ! eÑ+Ð+Ð+Ù�"�a“™1˜Q ›7Ñ" tÑ+Ð+Ð+Ù�!�Q“™!˜B ›(Ñ" uÑ,Ð,Ð,á�!�Q“™1˜Q ›7Ñ" tÑ+Ð+Ð+Ù�!�Q“™1˜Q ›7Ñ" tÑ+Ð+Ð+Ù�!�Q“™1˜Q ›7Ñ" uÑ,Ð,Ð,Ù�"�a“™A˜a ›GÑ#¨Ñ,Ð,Ð,Ù�!�Q“™1˜R ›8Ñ#¨Ñ-Ð-Ð-á�!�Q“™!˜A˜q›'Ñ! eÑ+Ð+Ð+Ù�!�Q“™!˜A˜q›'Ñ! eÑ+Ð+Ð+Ù�!�Q“™!˜A˜q›'Ñ! dÑ*Ð*Ð*Ù�"�a“™1˜Q ›7Ñ" uÑ,Ð,Ð,Ù�!�Q“™!˜B ›(Ñ" tÑ+Ð+Ð+á�!�Q“™1˜Q ›7Ñ" uÑ,Ð,Ð,Ù�!�Q“™1˜Q ›7Ñ" tÑ+Ð+Ð+Ù�!�Q“™1˜Q ›7Ñ" tÑ+Ð+Ð+Ù�"�a“™A˜a ›GÑ#¨Ñ-Ð-Ð-Ù�!�Q“™1˜R ›8Ñ#¨Ñ,Ð,Ð,ô ‘1�Q˜“7‹|œs¡1 R¨£8›}Ô7±°!°Q³Ò7Ð7Ñ7Ð7Ð7Ù�!�Q“ˆx™1˜Q ›7Ò"Ð"Ð"Ù�!�Q“ˆx™1˜R ›8Ò#Ð#Ð#ñ ��A‹w™˜1˜a›Ñ ¡A b¨"£IÒ-Ð-Ð-Ù��A‹w˜‰{™a  1›gÒ%Ð%Ð%Ø‘1�Q˜“7‰{™a  1›gÒ%Ð%Ð%ÜŒyÓ+Ô,ÜŒyÓ+Ô,ñ ��A‹w™˜1˜a›Ñ ¡A b¨"£IÒ-Ð-Ð-Ù��A‹w˜‰{™a  A›hÒ&Ð&Ð&Ø‘1�Q˜“7‰{™a  1›gÒ%Ð%Ð%ÜŒyÓ+Ô,ÜŒyÓ+Ô,ñ ��A‹w™˜1˜a›Ñ ¡A b¨"£IÒ-Ð-Ð-Ù��A‹w˜‰{™a  1›gÒ%Ð%Ð%Ø‘1�Q˜“7‰{™a  1›gÒ%Ð%Ð%ÜŒyÓ+Ô,ÜŒyÓ+Ô,ñ ��A‹w˜!‰|™q  A›wÒ&Ð&Ð&Ù��A‹w˜!‰|™q  A›wÒ&Ð&Ð&Ù��Q‹x˜1‰}¡ ! Q£Ò'Ð'Ð'Ù��Q‹x˜2‰~¡ 2 q£Ò)Ð)Ð)Ø”	‰>Ü”9Ó2Ô3Ü”9Ó8Ô9ÜŒyÓ,Ô-ÜŒyÓ,Ô-ñ ��A‹w™˜1˜a›Ñ ¡A b¨"£IÒ-Ð-Ð-Ù��A‹w˜‰{™a  1›gÒ%Ð%Ð%Ø‘1�Q˜“7‰{™a  1›gÒ%Ð%Ð%ÜŒyÓ+Ô,ÜŒyÓ+Ô,ÜÔ Ó"8Ô9ð ”	‹>Ü”9Ó8Ô9Ü”9Ó7Ô8Ü”9Ó2Ô3Ü”9Ó1Ô2Ü”9Ó2Ô3Ü”9Ó1Ö2ñ_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      sœ   ðòõ Ý Û ß .Ó .å 'å .ð �U˜8 T¨8°TÐ9Ñ:Ñ;Ó ;Ø˜i¨¨cÐ2Ð3€ð	ßØ×Ñ˜3¡¡S¨£V£¨c±4¹¸A»³<Ð@ÔAó
S3øð	 ò 	ØóS3ð		ús   Á5A< Á<BÂB