K i UdZddlmZddlmZddlZddlmZmZm Z m Z ddl m Z ddl mZee ee ee fed<eeeefgZ dd lmZmZej+eeed eeed fd Zy#e$rYd ZywxYw) 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)CallableListTupleType)raises) PythonMPQrational_types)mpqmpzc tD][\}fd}|ddk(sJ|dddk(sJ|dddk(sJ|ddk(sJ|ddk(sJ|tdddk(sJtur|td dk(sJt t fd t t fd |d dd k(sJ|dddk(sJ|d ddk(sJ|ddd k(sJ|dddk(sJt dddk(sJt dddk(sJtdd dk(sJtdd dk(sJtd ddk(sJtdd dk(sJtur.td ddk(sJtdd dk(s0Jtd ddk(sJtdd dk(sJtdd dusJtd d!usJd dd dk(dusJd dd dk(d!usJd dd dk7d!usJd dd dk7dusJtddttddk(sJd d}tjtj||k(sJddd dkdusJd dd dkd!usJd dddkd!usJddddkdusJddddkd!usJddd dkdusJd dd dkdusJd dddkd!usJddddkdusJddddkd!usJddd dkDd!usJd dd dkDd!usJd dddkDdusJddddkDd!usJddddkDdusJddd dk\d!usJd dd dk\dusJd dddk\dusJddddk\d!usJddddk\dusJtd dtddcxk(r d dk(sJJd dd dk(sJd d ddk(sJd ddd"zd#d$k(sJd ddzddk(sJdd dzddk(sJt t fd%t t fd&d ddd"z dd$k(sJd ddz ddk(sJdd dz ddk(sJt t fd't t fd(d ddd"zd)d$k(sJd ddzd dk(sJdd dzd dk(sJt t fd*t t fd+d dd zd,d-k(sJd ddzd dk(sJddd zd,d-k(sJdddzdd k(sJtur&t t fd.t t fd/t t fd0t t fd1d ddd"z d2d3k(sJd ddz d dk(sJdd dz dd k(sJt t fd4t t fd5t t fd6tust t fd7t t fd8t t fd9t t fd:t t fd;t t fd<^y)=Nct|sJt|jsJt|jsJ|j|jfSN) isinstance numerator denominator)qTQTZs i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/external/tests/test_pythonmpq.pycheck_Qztest_PythonMPQ..check_Q#sNa$ $$akk2. ..ammR0 00;; - -)rr)rrg?)rz0.5z0.6cgSrQsrz test_PythonMPQ..6s !B%rcggSrrr srr"z test_PythonMPQ..7s !B)rr)rr)r$r )rrrg@g2z1/2zMPQ(2,1)zMPQ(1,2)zmpq(2,1)zmpq(1,2)TrFcgdzSNrrr srr"z test_PythonMPQ.."qt)rcdgzSr/rr srr"z test_PythonMPQ..!A$)rcgdz Sr/rr srr"z test_PythonMPQ..r0rcdgz Sr/rr srr"z test_PythonMPQ..r2r cgdzSr/rr srr"z test_PythonMPQ..r0rcdgzSr/rr srr"z test_PythonMPQ..r2r cdddzS)Nrrrrr srr"z test_PythonMPQ..a1Q7lrc*ddddzS)Nrr8rrr srr"z test_PythonMPQ..a1g1a&8rcgdzSr/rr srr"z test_PythonMPQ..s"!*rcdgzSr/rr srr"z test_PythonMPQ..s!A$"*rcgdz Sr/rr srr"z test_PythonMPQ..r0rcdgz Sr/rr srr"z test_PythonMPQ..r2rc(dddz S)Nrrrrr srr"z test_PythonMPQ..s!Aq'AaD.rc*ddddzSNrrrrr srr"z test_PythonMPQ..r=rc*ddddzSrFrr srr"z test_PythonMPQ..sa1g!Q&7rcdddzSNrrrr srr"z test_PythonMPQ..r;rcdddzSrIrr srr"z test_PythonMPQ..sa!Aq'krcdddzSrFrr srr"z test_PythonMPQ..sa1glrcdddzSrFrr srr"z test_PythonMPQ..sa1gkr)r rr rr TypeErrorintfloatstrreprboolhashpickleloadsdumpsabsZeroDivisionError)Zrrr!rrs @@@rtest_PythonMPQrZs7 'O3 2q" .qt}&&&qAw6)))q1az"f,,,qv&(((qx F***q!Q()V333 >1WU^,-7 77 y-(y+,qAw6)))qQx G+++qBx G+++qRy!V+++qQx F***1Q7|q   1R8}"""Qq!W~$$$Qr1X$&&&1Q7|s"""1Q7|u$$$ >!Q=J. ..!Q=J. ..!Q=J. ..!Q=J. ..AaG}$$$AaDzU"""!Q1Q7"t+++!Q1Q7"u,,,!Q1Q7"u,,,!Q1Q7"t+++AaG}Xa^ 4444 aG||FLLO,111!Q!Aq'!d***!Q!Aq'!e+++!Q!Aq'!e+++"a1Q7"t+++!Q!B("u,,,!Q1Q7"t+++!Q1Q7"t+++!Q1Q7"u,,,"aAaG#,,,!Q1R8#---!Q!Aq'!e+++!Q!Aq'!e+++!Q!Aq'!d***"a1Q7"u,,,!Q!B("t+++!Q1Q7"u,,,!Q1Q7"t+++!Q1Q7"t+++"aAaG#---!Q1R8#,,,1Q7|s1R8}7!Q77777!Qx1Q7"""!Qx1R8###Aw1a Ab"I---Aw{a1g%%%1Q7{a1g%%%y+,y+,Aw1a Ab"I---Aw{aAh&&&1Q7{a1g%%%y+,y+,Aw1a Ab"I---Aw{a1g%%%1Q7{a1g%%%y+,y+,Aw!|qAw&&&Aw!|qAw&&&Qx1}!Q'''Qx2~2q))) > 92 3 98 9y,-y,-Aw1a Ab"I---Aw{a1g%%%1Q7{a1g%%%y+,y+, "89 > 98 9 97 8 92 3 91 2 92 3 91 2_O3r)__doc__ fractionsrdecimalrrTtypingrrrrsympy.testing.pytestr sympy.external.pythonmpqr __annotations__rNr gmpy2r r appendtype ImportErrorrZrrrrfs  ..'. U8T8T9:;;ic23 3SV c4A<@A S3  S3  s5A<<BB