� H�gX���ddlZddlZddlmZmZmZmZmZej Z ifd�Z Gd�de��Z e d��Z e d��Ze d ��Ze d ��Ze d ��Ze d ��Ze d ��Ze d��Ze d��Ze d��Ze d��Z ddlZej�e ��dS#e$rYdSwxYw)�N�)� int_types�mpf_hash�bitcount� from_man_exp� HASH_MODULUSc���||f}||vr||S||}}|r |||z}}|� |dkr ||z}||z}tt��}||f|_|dkrt|d��dkr|||<|S)Nr�r�d)�new�mpq�_mpq_�abs)�p�q�_cache�key�x�y�vs �_/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/mpmath/rational.py�create_reducedrs��� �Q�$�C� �f�}�}��c�{�� �a�q�A� ���!�a�%�1�� ���A�v�v� �a��� �a��� �C���A���d�A�G��A�v�v�#�c�!�f�+�+��#�#���s� � �H�c��eZdZdZdgZdd�Zd�Zd�Zd�Zd�Z e Z d �Z d �Z d �Z d �Zd �Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZeZd�Zd�Zd�ZeZd�Zd�Zd�ZdS)r zH Exact rational type, currently only intended for internal use. rrc��t|��tur|\}}nt|d��r |j\}}t ||��S)Nr)�type�tuple�hasattrrr)�clsrrs r�__new__z mpq.__new__sK�� ��7�7�e� � ��D�A�q�q� �Q�� � � ��7�D�A�q��a��#�#�#rc��d|jzS)Nz mpq(%s,%s)�r��ss r�__repr__z mpq.__repr__&s���a�g�%�%rc��d|jzS)Nz(%s/%s)r"r#s r�__str__z mpq.__str__)s���1�7�"�"rc� �|j\}}||zS�Nr")r$�a�bs r�__int__z mpq.__int__,s���w���1��A�v� rc�6�t|jd��S�Nr)�boolrr#s r� __nonzero__zmpq.__nonzero__0s���A�G�A�J���rc ��|j\}}tjdkr_t|tdz t��}|stjj}nt|��|ztz}|dkr| }|dkrd}|S|dkrt|��S||dz zs-tt|dt|��z ����St||f��S)N���r4r����������r) r�sys� version_info�powr� hash_info�infr�hashrrr)r$r*r+�inverse�hs r�__hash__z mpq.__hash__5s����w���1� � �v� %� %��!�\�!�^�\�:�:�G�� 6��M�%�����V�V�g�%��5���1�u�u�1�"�a��B�w�w�B���H��A�v�v��A�w�w����1��I� @�� �Q��(�1�+�+� � >� >�?�?�?���1��;�;� rc��t|��}|tur|j|jkS|tvr|j\}}|dkrdS||kStS)NrF�rr rr�NotImplemented�r$�t�ttyper*r+s r�__eq__z mpq.__eq__HsX���Q���� �C�<�<��7�a�g�%� %� �I� � ��7�D�A�q��A�v�v��u���6�M��rc��t|��}|tur|j|jkS|tvr|j\}}|dkrdS||kStS)NrTrArCs r�__ne__z mpq.__ne__SsX���Q���� �C�<�<��7�a�g�%� %� �I� � ��7�D�A�q��A�v�v��t���6�M��rc���t|��}|tvr|j\}}||||z��S|tur&|j\}}|j\}}|||z||z��StSr))rrrr �NotImplementedError)r$rD�oprEr*r+�c�ds r�_cmpzmpq._cmp^st���Q���� �I� � ��7�D�A�q��2�a��1��:�:� � �C�<�<��7�D�A�q��7�D�A�q��2�a��c�1�Q�3�<�<� �"�"rc�B�|�|tj��Sr))rN�operator�lt�r$rDs r�__lt__z mpq.__lt__i���Q�V�V�A�x�{�3�3�3rc�B�|�|tj��Sr))rNrP�lerRs r�__le__z mpq.__le__jrTrc�B�|�|tj��Sr))rNrP�gtrRs r�__gt__z mpq.__gt__krTrc�B�|�|tj��Sr))rNrP�gerRs r�__ge__z mpq.__ge__lrTrc�f�|j\}}|dkr|Stt��}| |f|_|Sr.�rr r �r$r*r+rs r�__abs__z mpq.__abs__ns8���w���1� ��6�6��H� ��H�H���"�a�%����rc�V�|j\}}tt��}| |f|_|Sr)r_r`s r�__neg__z mpq.__neg__vs*���w���1� ��H�H���"�a�%����rc��|Sr)�r#s r�__pos__z mpq.__pos__|s���rc��t|��}|tur0|j\}}|j\}}t||z||zz||z��S|tvr/|j\}}t t��}|||zz|f|_|St Sr)�rr rrrr rB�r$rDrEr*r+rLrMrs r�__add__z mpq.__add__����Q���� �C�<�<��7�D�A�q��7�D�A�q�!�!�A�#�a��c�'�1�Q�3�/�/� /� �I� � ��7�D�A�q��C���A���!��e�Q�h�A�G��H��rc��t|��}|tur0|j\}}|j\}}t||z||zz ||z��S|tvr/|j\}}t t��}|||zz |f|_|St Sr)rhris r�__sub__z mpq.__sub__�rkrc��t|��}|tur0|j\}}|j\}}t||z||zz ||z��S|tvr/|j\}}t t��}||z|z |f|_|St Sr)rhris r�__rsub__z mpq.__rsub__�s����Q���� �C�<�<��7�D�A�q��7�D�A�q�!�!�A�#�a��c�'�1�Q�3�/�/� /� �I� � ��7�D�A�q��C���A���c�!�e�Q�h�A�G��H��rc���t|��}|tur*|j\}}|j\}}t||z||z��S|tvr|j\}}t||z|��St Sr)�rr rrrrB�r$rDrEr*r+rLrMs r�__mul__z mpq.__mul__��t���Q���� �C�<�<��7�D�A�q��7�D�A�q�!�!�A�#�q��s�+�+� +� �I� � ��7�D�A�q�!�!�A�#�q�)�)� )��rc���t|��}|tur*|j\}}|j\}}t||z||z��S|tvr|j\}}t|||z��St Sr)rqrrs r�__div__z mpq.__div__�st���Q���� �C�<�<��7�D�A�q��7�D�A�q�!�!�A�#�q��s�+�+� +� �I� � ��7�D�A�q�!�!�Q�q�S�)�)� )��rc���t|��}|tur*|j\}}|j\}}t||z||z��S|tvr|j\}}t||z|��St Sr)rqrrs r�__rdiv__z mpq.__rdiv__�rtrc���t|��}|tvrE|j\}}|r2|dkr||| }}}tt��}||z||zf|_|St �t Sr.)rrrr r �ZeroDivisionErrorrB)r$rDrEr*r+rs r�__pow__z mpq.__pow__�sr���Q���� �I� � ��7�D�A�q�� ��q�5�5���Q�B�!�q�A���H�H���Q�$��1��*�����#� #��rN)r)�__name__� __module__� __qualname__�__doc__� __slots__r r%r'r,r0�__bool__r?rFrHrNrSrWrZr]rarcrfrj�__radd__rmrors�__rmul__rvrxr{rerrr r s���������� �I�$�$�$�$�&�&�&�#�#�#���� � � ��H����& � � � � � � #� #� #�4�3�3�3�3�3�3�3�3�3�3�3������� ��� � � ��H� � � � � � � � � ��H� � � � � � � � � � � rr )rr)rr)rr4r2)rr )r�)r3r�)�r4)r3r )�r )r�r )rPr7�libmprrrrr�objectr r rr �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� ImportErrorrerr�<module>r�sp������ � � � �L�L�L�L�L�L�L�L�L�L�L�L�L�L� �n�� "� � � � �"~�~�~�~�~�&�~�~�~�B ��E� � �� ��E� � �� �#�e�*�*�� �#�e�*�*�� �#�e�*�*�� �3�v�;�;�� �3�v�;�;�� �#�e�*�*�� �#�e�*�*�� �#�e�*�*�� �#�e�*�*�� ��N�N�N� ����c�"�"�"�"�"��� � � ��D�D� ���s�+C � C�C
Memory