� H�g���v�ddlmZddlZddlZddlmZddlmZddlmZm Z m Z ddlmZGd�d e��Z dS) �)�StandardBaseContext�N)�math2)� function_docs)� mpf_bernoulli�to_float� int_types)�libmpc��eZdZdZd�Zd�ZejZd�Zd�Z d�Z d�Z dZ e ee ��Ze e e ��Zd Zd ZejZejZejZejZd Zed ���Zd �ZejZej Z ej!Z!dZ"dZ#dZ$dZ%dZ&dZ!dZ'dZ(dZ)dZ*e+xZ,Z-d�Z.d�Z/d�Z0d�Z1d�Z2e3Z4e5Z6d�Z7e8ej9��Z:e8ej;��Z;e8ej<��Z<e8ej=��xZ>Z=e8ej?��Z?e8ej@��Z@e8ejA��ZAe8ejB��ZBe8ejC��ZCe8ejD��ZDe8ejE��ZEe8ejF��ZFe8ejG��ZGe8ejH��ZHe8ejI��ZIe8ejJ��ZJe8ejK��xZLZKe8ejM��ZMe8ejN��ZNe8ejO��ZOe8ejP��ZPe8ejQ��ZQe8ejR��ZSe8ejT��ZUe8ejV��ZWe8ejX��xZYZZd�Z[d�Z\d �Z]e^j_Z_e^j`Z`d!�Zad"�Zbd#�Zcd$�Zdd%�Zed&�Zfd1d(�Zgd)�Zhd*�Zie8ejj��Zjd+�ZkelZmd,�Znd-�Zoe8ejp��Zqe8ejr��Zsd2d/�Ztd0S)3� FPContextz� Context for fast low-precision arithmetic (53-bit precision, giving at most about 15-digit accuracy), using Python's builtin float and complex. c��tj|��tj|_i|_d|_|���dS)NF)r�__init__r�loggamma�_bernoulli_cache�pretty� _init_aliases��ctxs �]/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/mpmath/ctx_fp.pyrzFPContext.__init__sE���$�S�)�)�)��~�� �!����� � ��������c�>�t|d��|dz S�Nrr)�float)�cls�xs r�<lambda>zFPContext.<lambda>s��%��!��+�+�a��d�*�rc��dS)N�5�rs r� _get_preczFPContext._get_prec s��r�rrc��dS�Nr�r�ps r� _set_preczFPContext._set_prec!s��6�6rc��dS)N�rrs r�_get_dpszFPContext._get_dps"s��b�brc��dSr"rr#s r�_set_dpszFPContext._set_dps#s��&�&rT���?y�?c���|r�fd�}n�}tj�|�j��|_t |||��dS)Nc�H���|j��fd�|D��}�|g|�Ri|��S)Nc�&��g|] }�|����Srr)�.0�a�converts �r� <listcomp>z>FPContext._wrap_specfun.<locals>.f_wrapped.<locals>.<listcomp>8s!���1�1�1�q���� � �1�1�1r)r2)r�args�kwargsr2�fs @�r� f_wrappedz*FPContext._wrap_specfun.<locals>.f_wrapped6sD�����+��1�1�1�1�D�1�1�1���q��.�t�.�.�.�v�.�.�.r)r�__dict__�get�__doc__�setattr)r�namer6�wrapr7s ` r� _wrap_specfunzFPContext._wrap_specfun3se��� � � /� /� /� /� /� /� �I�)�2�6�6�t�Q�Y�G�G� ����T�9�%�%�%�%�%rc�~�|j}||vr||Stt|dd��d���||<||S)Nr�nT)�strict)rrr)rr@�caches r� bernoullizFPContext.bernoulli?sG���$�� ��:�:���8�O��M�!�R��5�5�d�C�C�C��a���Q�x�rg�;f���?g����w�@g����w��?g�9��B.�?gU���k@g�o��x�?g]��O�?g m<B�{@g!��;�?gs�/O҄�?c��||z dkS)Nr+r�rrs r� is_specialzFPContext.is_specialVs���1�u��|�rc��||kSr"rrEs r�isnanzFPContext.isnanYs ���A�v� rc�<�t|��tjkSr")�absr�INFrEs r�isinfzFPContext.isinf\s���1�v�v���"�"rc��|r ||z dkSdS)Nr+FrrEs r�isnormalzFPContext.isnormal_s�� � ��q�5�C�<� ��urc��t|��tur|jrdS|j}|dkot |��|kS)NFr+)�type�complex�imag�real�roundrEs r�isnpintzFPContext.isnpintdsB�� ��7�7�g� � ��v� ��u���A��C�x�)�E�!�H�H��M�)rc�N� t|��S#t|��cYSxYwr")rrQrEs rr2zFPContext.convertns-�� ���8�8�O�� ��1�:�:� � � ���s��$c�^�t|��}tj|j|j��Sr")rQ�math�atan2rRrS�r�zs r�argz FPContext.arg�s#�� �A�J�J���z�!�&�!�&�)�)�)rc�<�|�|j|z��Sr")�exp�jrEs r�expjzFPContext.expj�s���w�w�s�u�Q�w���rc�L�|�|j|jz|z��Sr")r^r_�pirEs r�expjpizFPContext.expjpi�s ���w�w�s�u�S�V�|�A�~�&�&�&rc�d�|r(|�t|����dS|jS)Nr)�frexprJ�ninfrZs r�magz FPContext.mag�s.�� � (��9�9�S��V�V�$�$�Q�'� '��x�rc�z�t|d��r|jrdS|j} |t|��kS#YdSxYw)NrRF)�hasattrrRrS�intrZs r�isintzFPContext.isint�sO�� �1�f� � � ��v� ��u���A� ���A���;� �� ��5�5���s�5�:c���t|d��rt|j��}nt|��}||kr ||jfS||�t ||z ����fS)NrR)rirTrSrfrgrJ)rr[r@s r� nint_distancezFPContext.nint_distance�sd�� �1�f� � � ��a�f� � �A�A��a���A� ��6�6��c�h�;� ��#�'�'�#�a��c�(�(�#�#�#�#rc���t|��tur|\}}|�|��|z dfSt|d��rt |j��}nt |��}||kr|dfS|dfS)N�RrR�Z)rP�tuple�mpfrirjrS)rr[r$�q�intzs r�_convert_paramzFPContext._convert_param�s}�� ��7�7�e� � ��D�A�q��7�7�1�:�:��>�3�&� &� �1�f� � � ��q�v�;�;�D�D��q�6�6�D� ��9�9���9� ��#�v� rc�V�t|t��pt|t��Sr")� isinstancerr rZs r� _is_real_typezFPContext._is_real_type�s!���!�U�#�#�?�z�!�Y�'?�'?�?rc�,�t|t��Sr")rwrQrZs r�_is_complex_typezFPContext._is_complex_type�s���!�W�%�%�%r�pc �:�t|��}t|��}t|||z��} |j} dx} } d} |D]}| ||| zz} �| D]}| ||| zz} �| dz } | | z} | |z} | | z } t| ��| kr| S| |kr|j��])Nr,rr)�list�range�epsrJ� NoConvergence)rr$rs�types�coeffsr[�maxtermsr5�num�den�tol�s�t�k�is r�hypsumzFPContext.hypsum�s����f�����A�h�h���A�a��c�l�l���g��� ��A� �� (�� ,� ,��!��q� �!� �,�!�!�� ,� ,��!��q� �!� �,�!�!� ��F�A�A��F�A�A��F�A�A��F�A��1�v�v��|�|����8�|�|��'�'� (rc�,�tj||��Sr")rXrY)rr�ys rrYzFPContext.atan2�s���z�!�Q���rc���t|��}|dkr|�|��Sd|dzz|�|��z|�|dz|��zS)Nr�����r)rj�digamma�fac�zeta)r�mr[s r�psiz FPContext.psi�sZ�� ��F�F�� ��6�6��;�;�q�>�>� !��a��c�{�S�W�W�Q�Z�Z�'�#�(�(�1�Q�3��*:�*:�:�:rc��|�|��}|dks|dkr|S|�|dz��|jzSr)r2r��eulerrEs r�harmoniczFPContext.harmonic�sD�� �K�K��N�N�� ��6�6�Q�!�V�V��H��{�{�1�Q�3���#�)�+�+rc�F�ttj||����Sr")rjrX�ldexp)rr�precs r�to_fixedzFPContext.to_fixed�s���4�:�a��&�&�'�'�'rc�2�ddl}|���S)Nr)�random)rr�s r�randzFPContext.rand�s��� � � ��}�}���rrc��|j}d}|��D]8}||z }||zs'|r%t|��dt|��zkrn|dz }�9|S)Nrg�C��]r2<r)�zerorJ)r�terms� check_stepr�r��terms r�sum_accuratelyzFPContext.sum_accurately�so�� �H�� ���E�G�G� � �D� ��I�A�� �N� �� ��t�9�9��c�!�f�f� �,�,��E� ��F�A�A��rN)r{)r)u�__name__� __module__� __qualname__r:r�_mpqr r�r r%r(r*�_fixed_precision�propertyr��dpsr��oner�EPSrrK�inf�NINFrf�NAN�nanr_� classmethodr>rCrb�er��sqrt2�sqrt5�phi�ln2�ln10�catalan�khinchin�apery�glaisherrJ�absmin�absmaxrFrHrLrNrUrrrrQ�mpcr2� staticmethod�pow�power�sqrtr^�log�ln�cos�sin�tan�cos_sin�acos�asin�atan�cosh�sinh�tanh�gamma�rgamma� factorialr��floor�ceil�cospi�sinpi�cbrt�nthroot�_nthroot�ei�_ei�e1�_e1r��_zeta� _zeta_intr\r`rcrXr�rergrkrmrurxrzr�rYr�r�r��str�nstrr�r��erf�_erf�erfc�_erfcr�rrrr r s��������� ��� +� *�D��'�M�!�!�!�!�!�!� � � � � � ��� �8�I�y� )� )�D� �(�8�X� &� &�C� �D� �C� �)�C� �)�C� �:�D� �)�C� �A�� &� &��[� &���� ��B� ��A� �K�E� !�E� !�E� �C� �C� �D� "�E�$�G�$�H� !�E�$�H���F�V�������#�#�#���� *�*�*� �C� �C���� �L��� #� #�E� �<�� � #� #�D� �,�u�y� !� !�C��|�E�I�&�&�&�B�� �,�u�y� !� !�C� �,�u�y� !� !�C� �,�u�y� !� !�C��l�5�=�)�)�G� �<�� � #� #�D� �<�� � #� #�D� �<�� � #� #�D� �<�� � #� #�D� �<�� � #� #�D� �<�� � #� #�D� �L��� %� %�E� �\�%�,� '� '�F�"�l�5�?�3�3�3�C�)� �L��� %� %�E� �<�� � #� #�D� �L��� %� %�E� �L��� %� %�E� �<�� � #� #�D��|�E�M�*�*�H� �,�u�x� � �C� �,�u�x� � �C�$� �U�Z�0�0�0�E�I�*�*�*� � � �'�'�'� �J�E� �J�E���� ���$�$�$� � � �@�@�@�&�&�&�(�(�(�(�  � � �;�;�;� �l�5�=�)�)�G�,�,�,� �D�(�(�(���� �<�� � "� "�D� �L��� $� $�E� � � � � � rr ) �ctx_baserrX�cmath�rrr rrr r rrr�<module>r�s���)�)�)�)�)�)� � � � � � � � �������������5�5�5�5�5�5�5�5�5�5�������q�q�q�q�q�#�q�q�q�q�qr
Memory