�
I�g- � �� � d Z ddlZddlZddlmZ ddlmZmZmZmZm Z ddl
mZmZm
Z
mZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< ddl=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZS dd lTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZn e>d
� � � Zoe>d� � � Zpe>d� � � Zqe>d
� � � Zr e>d� � � Zse>d� � � Zte>d� � � Zu e?es� � Zv e?er� � Zw e?ep� � Zx e?eq� � Zy e?eo� � Zz e?et� � Z{ e?eu� � Z|dZ} i Z~ e!d� � Z e!d� � Z�d� Z� e�e}� � Z�d@d�Z�d@d�Z�d� Z� d� Z�d� Z�efd�Z�efd�Z�efd�Z�efd�Z� i Z�d� Z�dZ�i Z�efd �Z�edfd!�Z�edd"fd#�Z�efd$�Z�efd%�Z�dZ�d&� Z�g a�g a�g a�d'� Z�d(� Z�d)Z�d*� Z�d+Z�e�d,k sJ �d-Z�d.Z�i Z�i Z�d/� e�e�dz � � D � � Z�d0� Z�d1� Z�d2� Z�d3� Z�d4� Z�d5� Z�dAd7�Z�dAd8�Z�dBd9�Z�dBd:�Z�dBd;�Z�dBd<�Z�dBd=�Z�dBd>�Z�efd?�Z�dS )Cao
-----------------------------------------------------------------------
This module implements gamma- and zeta-related functions:
* Bernoulli numbers
* Factorials
* The gamma function
* Polygamma functions
* Harmonic numbers
* The Riemann zeta function
* Constants related to these functions
-----------------------------------------------------------------------
� N� )�xrange)�MPZ�MPZ_ZERO�MPZ_ONE� MPZ_THREE�gmpy)�list_primes�ifac�ifac2�moebius)-�round_floor�
round_ceiling�
round_down�round_up�
round_nearest�
round_fast�lshift�
sqrt_fixed�
isqrt_fast�fzero�fone�fnone�fhalf�ftwo�finf�fninf�fnan�from_int�to_int�to_fixed�from_man_exp�
from_rational�mpf_pos�mpf_neg�mpf_abs�mpf_add�mpf_sub�mpf_mul�mpf_mul_int�mpf_div�mpf_sqrt�mpf_pow_int�mpf_rdiv_int�mpf_perturb�mpf_le�mpf_lt�mpf_gt� mpf_shift�negative_rnd�reciprocal_rnd�bitcount�to_float� mpf_floor�mpf_sign�
ComplexResult)�
constant_memo�def_mpf_constant�mpf_pi�pi_fixed� ln2_fixed�
log_int_fixed�mpf_ln2�mpf_exp�mpf_log�mpf_pow�mpf_cosh�mpf_cos_sin�
mpf_cosh_sinh�mpf_cos_sin_pi�
mpf_cos_pi�
mpf_sin_pi�ln_sqrt2pi_fixed�mpf_ln_sqrt2pi�sqrtpi_fixed�
mpf_sqrtpi�
cos_sin_fixed� exp_fixed)�mpc_zero�mpc_one�mpc_half�mpc_two�mpc_abs� mpc_shift�mpc_pos�mpc_neg�mpc_add�mpc_sub�mpc_mul�mpc_div�mpc_add_mpf�mpc_mul_mpf�mpc_div_mpf�mpc_mpf_div�mpc_mul_int�mpc_pow_int�mpc_log�mpc_exp�mpc_pow�
mpc_cos_pi�
mpc_sin_pi�mpc_reciprocal�
mpc_square�mpc_sub_mpfc � � | dz } t | z x}}d\ }}}|rc|d|dz z d|z dz
z z }|dd|z z
d|dz z z dz z }|d|dz
z z d |dz z d
|z z
dz z |dz d|z dz
z z }||z
}|dz
}|�c|dz S )N� )r r r � � � r � ������( � � �r )�prec�a�one�s�t�ns �f/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/mpmath/libmp/gammazeta.py�
catalan_fixedr} H s� � ��"�9�D���o��A���G�A�q�!�
� � �R�!�Q�$�Y�!�A�#�a�%�
� �� �q��A��v�b��A��g�~��!�!��
��q��s��O�r�!�Q�$�w�r�!�t�|�A�~�.�1�a�4�1�Q�3�q�5�>�B�� �Q��� �Q��� � �
��=�� c �� � t | | dz z dz � � }t }t d� � }t |z x}}t |� � }t t
|||� � d� � x}}d} t t d| z |� � � � }
t
|
||� � }
t |
||� � }
t |
|� � }
|
|z
|z | z |z }|dk rnP||z
}||d| z dz z |d| z z z
z
}| dz
} t |d| z d| z dz
z |� � }t
|||� � }��||z t |� � z }t t || � � |� � }t || � � }|S )N� �?� � ro r �d )�intr r r r= r3 r) r&