§
    JŠtjæk  ã                   ó  — d Z ddlmZ ddl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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!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. ddl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9m:Z:m;Z;m<Z< d„ Z=eefZ>eefZ?d„ Z@d„ ZAd	„ ZBd
„ ZCd„ ZDd„ ZEdPd„ZFdPd„ZGd„ ZHd„ ZId„ ZJdPd„ZKdPd„ZLd„ ZMd„ ZNdPd„ZOdPd„ZPd„ ZQd„ ZRd„ ZSd„ ZTd„ ZUd„ ZVd„ ZWd „ ZXd!„ ZYd"„ ZZd#„ Z[d$„ Z\d%„ Z]d&„ Z^d'„ Z_d(„ Z`d)„ Zad*„ ZbdQd/„Zcd0„ Zdd1„ ZedPd2„Zfd3„ Zgd4„ Zhd5„ Zid6„ Zjd7„ Zkd8„ Zld9„ Zmd:„ Znd;„ Zod<„ Zpd=„ Zqd>„ Zrd?„ Zsd@„ ZtdA„ Zu edB¦  «        Zv edC¦  «        ZwevewfZx edD¦  «        Zy edE¦  «        ZzdF„ Z{dPdG„Z|dPdH„Z}dI„ Z~dJ„ ZdK„ Z€dL„ Z�dM„ Z‚dN„ ZƒdOS )Rz3
Computational functions for interval arithmetic.

é   )Úxrange)+ÚComplexResultÚ
round_downÚround_upÚround_floorÚround_ceilingÚround_nearestÚprec_to_dpsÚrepr_dpsÚdps_to_precÚbitcountÚ
from_floatÚfnanÚfinfÚfninfÚfzeroÚfhalfÚfoneÚfnoneÚmpf_signÚmpf_ltÚmpf_leÚmpf_gtÚmpf_geÚmpf_eqÚmpf_cmpÚmpf_min_maxÚ	mpf_floorÚfrom_intÚto_intÚto_strÚfrom_strÚmpf_absÚmpf_negÚmpf_posÚmpf_addÚmpf_subÚmpf_mulÚmpf_mul_intÚmpf_divÚ	mpf_shiftÚmpf_pow_intÚfrom_man_expÚMPZ_ONE)Úmpf_logÚmpf_expÚmpf_sqrtÚmpf_atanÚ	mpf_atan2Úmpf_piÚmod_pi2Úmpf_cos_sin)Ú	mpf_gammaÚ
mpf_rgammaÚmpf_loggammaÚmpc_loggammac                 óz   — | \  }}t          |¦  «        dz   }dt          ||¦  «        ›dt          ||¦  «        ›d�S )Né   ú[z, ú])r
   r!   )ÚsÚprecÚsaÚsbÚdpss        úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/mpmath/libmp/libmpi.pyÚmpi_strrE      sB   € Ø�F€BˆÝ
�dÑ
Ô
˜aÑ
€C€CÝ  C™œ˜˜­&°°S©/¬/¨/¨/Ð:Ð:ó    c                 ó   — | |k    S ©N© ©r?   Úts     rD   Úmpi_eqrL   )   ó   € Ø�Š6€MrF   c                 ó   — | |k    S rH   rI   rJ   s     rD   Úmpi_nerO   ,   rM   rF   c                 ób   — | \  }}|\  }}t          ||¦  «        rdS t          ||¦  «        rdS d S ©NTF)r   r   ©r?   rK   rA   rB   ÚtaÚtbs         rD   Úmpi_ltrU   /   ó=   € Ø�F€BˆØ�F€BˆÝˆb�"�~„~Ð"˜d˜dÝˆb�"�~„~Ð#˜e˜eØˆ4rF   c                 ób   — | \  }}|\  }}t          ||¦  «        rdS t          ||¦  «        rdS d S rQ   )r   r   rR   s         rD   Úmpi_lerX   6   rV   rF   c                 ó"   — t          || ¦  «        S rH   )rU   rJ   s     rD   Úmpi_gtrZ   =   ó   € �  1™œÐ%rF   c                 ó"   — t          || ¦  «        S rH   )rX   rJ   s     rD   Úmpi_ger]   >   r[   rF   é    c                 óÂ   — | \  }}|\  }}t          |||t          ¦  «        }t          |||t          ¦  «        }|t          k    rt          }|t          k    rt
          }||fS rH   )r&   r   r   r   r   r   ©	r?   rK   r@   rA   rB   rS   rT   ÚaÚbs	            rD   Úmpi_addrc   @   ó]   € Ø�F€BˆØ�F€BˆÝ��B˜�kÑ*Ô*€AÝ��B˜�mÑ,Ô,€AØ�D‚y€y•e�!Ø�D‚y€y•d�!Øˆaˆ4€KrF   c                 óÂ   — | \  }}|\  }}t          |||t          ¦  «        }t          |||t          ¦  «        }|t          k    rt          }|t          k    rt
          }||fS rH   )r'   r   r   r   r   r   r`   s	            rD   Úmpi_subrf   I   rd   rF   c                 ó:   — | \  }}t          |||t          ¦  «        S rH   )r'   r   ©r?   r@   rA   rB   s       rD   Ú	mpi_deltari   R   s   € Ø�F€BˆÝ�2�r˜4¥Ñ*Ô*Ð*rF   c                 óV   — | \  }}t          t          |||t          ¦  «        d¦  «        S )Néÿÿÿÿ)r+   r&   r	   rh   s       rD   Úmpi_midrl   V   s)   € Ø�F€BˆÝ•W˜R  T­=Ñ9Ô9¸2Ñ>Ô>Ð>rF   c                 ól   — | \  }}t          ||t          ¦  «        }t          ||t          ¦  «        }||fS rH   )r%   r   r   ©r?   r@   rA   rB   ra   rb   s         rD   Úmpi_posro   Z   ó6   € Ø�F€BˆÝ��D�+Ñ&Ô&€AÝ��D�-Ñ(Ô(€AØˆaˆ4€KrF   c                 ól   — | \  }}t          ||t          ¦  «        }t          ||t          ¦  «        }||fS rH   )r$   r   r   rn   s         rD   Úmpi_negrr   `   rp   rF   c                 óÂ  — | \  }}t          |¦  «        }t          |¦  «        }|dk    r-t          ||t          ¦  «        }t          ||t          ¦  «        }n†|dk    rTt          }t          |¦  «        }t          ||¦  «        rt          ||t          ¦  «        }nCt          ||t          ¦  «        }n,t          ||t          ¦  «        }t          ||t          ¦  «        }||fS ©Nr^   )r   r%   r   r   r   r$   r   )	r?   r@   rA   rB   ÚsasÚsbsra   rb   Únegsas	            rD   Úmpi_absrx   f   sÌ   € Ø�F€BˆÝ
�2‰,Œ,€CÝ
�2‰,Œ,€Cà
ˆa‚x€xÝ�B˜�kÑ*Ô*ˆÝ�B˜�mÑ,Ô,ˆˆà	�ŠˆÝˆÝ˜‘”ˆÝ�%˜ÑÔð 	4Ý˜˜D¥-Ñ0Ô0ˆAˆAå˜˜t¥]Ñ3Ô3ˆAˆAõ �B˜�kÑ*Ô*ˆÝ�B˜�mÑ,Ô,ˆØˆaˆ4€KrF   c                 ó(   — t          | ||f|¦  «        S rH   )Úmpi_mul©r?   rK   r@   s      rD   Úmpi_mul_mpfr|   }   ó   € Ý�1�q˜!�f˜dÑ#Ô#Ð#rF   c                 ó(   — t          | ||f|¦  «        S rH   )Úmpi_divr{   s      rD   Úmpi_div_mpfr€   €   r}   rF   c                 óþ  — | \  }}|\  }}t          |¦  «        }t          |¦  «        }t          |¦  «        }	t          |¦  «        }
||cxk    rdk    r5n n2|t          k    s|t          k    rt          t          fS t          t          fS |	|
cxk    rdk    r5n n2|t          k    s|t          k    rt          t          fS t          t          fS |dk    �r|	dk    rTt	          |||t
          ¦  «        }t	          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }�nO|
dk    rTt	          |||t
          ¦  «        }t	          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }�nõt	          |||t
          ¦  «        }t	          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }�n¡|dk    �r|	dk    rTt	          |||t
          ¦  «        }t	          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }�n@|
dk    rSt	          |||t
          ¦  «        }t	          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }nçt	          |||t
          ¦  «        }t	          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }n”t	          ||¦  «        t	          ||¦  «        t	          ||¦  «        t	          ||¦  «        g}t          |v rt          t          }}n>t          |¦  «        \  }}t          ||t
          ¦  «        }t          ||t          ¦  «        }||fS rt   )
r   r   r   r   r(   r   r   r   r   r%   )r?   rK   r@   rA   rB   rS   rT   ru   rv   ÚtasÚtbsra   rb   Úcasess                 rD   rz   rz   ƒ   sý  € Ø�F€BˆØ�F€BˆÝ
�2‰,Œ,€CÝ
�2‰,Œ,€CÝ
�2‰,Œ,€CÝ
�2‰,Œ,€CØ
ˆc€€‚€�Q‚€€€€à•Š;ˆ;˜"¥š*˜*Ý�$�;ÐÝ•eˆ|ÐØ
ˆc€€‚€�Q‚€€€€à•Š;ˆ;˜"¥š*˜*Ý�$�;ÐÝ•eˆ|ÐØ
ˆa‚x�xà�!Š8ˆ8Ý˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�d˜!ùà�AŠXˆXÝ˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�e˜!ùõ ˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�d˜!ùØ	�Š‰à�!Š8ˆ8Ý˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�e˜!ùà�AŠXˆXÝ˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�d˜!øõ ˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�d˜!øõ
 ˜˜R‘”¥'¨"¨b¡/¤/µ7¸2¸r±?´?ÅGÈBÐPRÁOÄOÐTˆÝ�5ˆ=ˆ=Ý�4ˆqˆAˆAå˜uÑ%Ô%‰DˆAˆqÝ˜˜4¥Ñ-Ô-ˆAÝ˜˜4¥Ñ/Ô/ˆAØˆaˆ4€KrF   c                 ó¦  — | \  }}t          |t          ¦  «        r/t          |||t          ¦  «        }t          |||t          ¦  «        }n…t          |t          ¦  «        r/t          |||t          ¦  «        }t          |||t          ¦  «        }nAt          |¦  «        }t          ||g¦  «        \  }}t          }t          |||t          ¦  «        }||fS rH   )r   r   r(   r   r   r   r$   r   rn   s         rD   Ú
mpi_squarer†   Ç   sÀ   € Ø�F€BˆÝˆb•%ÑÔð 
1Ý�B˜˜D¥+Ñ.Ô.ˆÝ�B˜˜D¥-Ñ0Ô0ˆˆÝ	�•EÑ	Ô	ð 1Ý�B˜˜D¥+Ñ.Ô.ˆÝ�B˜˜D¥-Ñ0Ô0ˆˆå�R‰[Œ[ˆÝ˜b "˜XÑ&Ô&‰ˆˆBÝˆÝ�B˜˜D¥-Ñ0Ô0ˆØˆaˆ4€KrF   c                 ó¸  — | \  }}|\  }}t          |¦  «        }t          |¦  «        }t          |¦  «        }	t          |¦  «        }
||cxk    rdk    r7n n4|	dk     r|
dk    s|	dk    s|
dk    rt          t          fS t          t          fS |	dk     r|
dk    rt          t          fS |	dk     r+t	          t          | ¦  «        t          |¦  «        |¦  «        S |	dk    rx|dk     r|dk    rt          t          fS |	|
k    rt          t          fS |dk    rt          |||t          ¦  «        }t          }|dk    rt          }t          |||t          ¦  «        }�n|dk    rSt          |||t          ¦  «        }t          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }n«|dk    rSt          |||t          ¦  «        }t          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }nRt          |||t          ¦  «        }t          |||t          ¦  «        }|t          k    rt          }|t          k    rt          }||fS rt   )
r   r   r   r   r   rr   r*   r   r   r   )r?   rK   r@   rA   rB   rS   rT   ru   rv   r‚   rƒ   ra   rb   s                rD   r   r   Ö   s/  € Ø�F€BˆØ�F€BˆÝ
�2‰,Œ,€CÝ
�2‰,Œ,€CÝ
�2‰,Œ,€CÝ
�2‰,Œ,€Cà
ˆc€€‚€�Q‚€€€€à�!ŠGˆG˜˜aš˜ S¨A¢X X°¸²°Ý�$�;ÐÝ•eˆ|Ðð ˆQ‚w€w�3˜’7�7Ý•dˆ{Ðà
ˆQ‚w€wÝ•w˜q‘z”z¥7¨1¡:¤:¨tÑ4Ô4Ð4ð ˆa‚x€xà�Š7ˆ7�s˜Q’w�wÝ�$�;ÐØ�#Š:ˆ:Ý�$�;Ðà�!Š8ˆ8Ý˜˜B ¥kÑ2Ô2ˆAÝˆAØ�!Š8ˆ8ÝˆAÝ˜˜B ¥mÑ4Ô4ˆAùð
 �!Š8ˆ8Ý˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�d˜!øà�AŠXˆXÝ˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�e˜!øõ ˜˜B ¥kÑ2Ô2ˆAÝ˜˜B ¥mÑ4Ô4ˆAØ•DŠyˆy�e˜!Ø•DŠyˆy�d˜!Øˆaˆ4€KrF   c                 ó^   — t          | t          ¦  «        }t          | t          ¦  «        }||fS rH   )r4   r   r   )r@   ra   rb   s      rD   Úmpi_pir‰     s)   € Ýˆt•[Ñ!Ô!€AÝˆt•]Ñ#Ô#€AØˆaˆ4€KrF   c                 ól   — | \  }}t          ||t          ¦  «        }t          ||t          ¦  «        }||fS rH   )r0   r   r   rn   s         rD   Úmpi_expr‹     ó6   € Ø�F€Bˆå��D�+Ñ&Ô&€AÝ��D�-Ñ(Ô(€AØˆaˆ4€KrF   c                 ól   — | \  }}t          ||t          ¦  «        }t          ||t          ¦  «        }||fS rH   )r/   r   r   rn   s         rD   Úmpi_logrŽ     rŒ   rF   c                 ól   — | \  }}t          ||t          ¦  «        }t          ||t          ¦  «        }||fS rH   )r1   r   r   rn   s         rD   Úmpi_sqrtr�   $  s6   € Ø�F€Bˆå��T�;Ñ'Ô'€AÝ��T�=Ñ)Ô)€AØˆaˆ4€KrF   c                 ól   — | \  }}t          ||t          ¦  «        }t          ||t          ¦  «        }||fS rH   )r2   r   r   rn   s         rD   Úmpi_atanr’   +  s6   € Ø�F€BˆÝ��T�;Ñ'Ô'€AÝ��T�=Ñ)Ô)€AØˆaˆ4€KrF   c           	      ó  — | \  }}|dk     r0t          t          t          ft          | | |dz   ¦  «        |¦  «        S |dk    rt          t          fS |dk    r| S |dk    rt          | |¦  «        S |dz  r/t	          |||t
          ¦  «        }t	          |||t          ¦  «        }nÝt          |¦  «        }t          |¦  «        }|dk    r/t	          |||t
          ¦  «        }t	          |||t          ¦  «        }nŠ|dk    r/t	          |||t
          ¦  «        }t	          |||t          ¦  «        }nUt          }t          |¦  «        }t          ||¦  «        rt	          |||t          ¦  «        }nt	          |||t          ¦  «        }||fS ©Nr^   é   r   é   )r   r   Úmpi_pow_intr†   r,   r   r   r   r   r$   r   )	r?   Únr@   rA   rB   ra   rb   ru   rv   s	            rD   r—   r—   1  sw  € Ø�F€BˆØˆ1‚u€uÝ��d�|¥[°°Q°B¸¸R¹Ñ%@Ô%@À$ÑGÔGÐGØˆA‚v€vÝ•dˆ|ÐØˆA‚v€vØˆØˆA‚v€vÝ˜!˜TÑ"Ô"Ð"àˆ1�uð <Ý˜˜A˜t¥[Ñ1Ô1ˆÝ˜˜A˜t¥]Ñ3Ô3ˆˆõ �r‰lŒlˆÝ�r‰lŒlˆà�!Š8ˆ8Ý˜B  4­Ñ5Ô5ˆAÝ˜B  4­Ñ7Ô7ˆAˆAà�AŠXˆXÝ˜B  4­Ñ5Ô5ˆAÝ˜B  4­Ñ7Ô7ˆAˆAõ ˆAå˜‘”ˆBÝ�b˜"‰~Œ~ð <Ý  A t­]Ñ;Ô;��å  A t­]Ñ;Ô;�Øˆaˆ4€KrF   c                 óX  — |\  }}||k    ri|t           t          fvrY|t          t          |¦  «        ¦  «        k    rt	          | t          |¦  «        |¦  «        S |t
          k    rt          | |¦  «        S t          | |dz   ¦  «        }t          |||dz   ¦  «        }t          ||¦  «        S ©Nr•   )
r   r   r   r    r—   r   r�   rŽ   rz   r‹   )r?   rK   r@   rS   rT   ÚuÚvs          rD   Úmpi_powr�   V  s¤   € Ø�F€BˆØ	ˆR‚x€x�B�t¥U˜mÐ+Ð+Ø•�& ™*œ*Ñ%Ô%Ò%Ð%Ý˜q¥&¨¡*¤*¨dÑ3Ô3Ð3Ø•Š;ˆ;Ý˜A˜tÑ$Ô$Ð$Ý��4˜"‘9ÑÔ€AÝ��1�d˜R‘iÑ Ô €AÝ�1�dÑÔÐrF   c                 ó*   — t          | |¦  «        r| S |S rH   )r   ©ÚxÚys     rD   ÚMINr¢   a  ó   € Ýˆa��|„|ð ØˆØ€HrF   c                 ó*   — t          | |¦  «        r| S |S rH   )r   rŸ   s     rD   ÚMAXr¥   f  r£   rF   c                 ó´   — | \  }}}}| t           k    rt          t           dfS t          | |¦  «        \  }}t          ||||z   d¦  «        \  }}	}
|rd|	z
  }	|||	fS )Nr^   é   rk   )r   r   r6   r5   )r    ÚwpÚsignÚmanÚexpÚbcÚcr?   rK   r˜   Úwp_s              rD   Úcos_sin_quadrantr¯   k  sq   € ØÑ€Dˆ#ˆs�BØ�E‚z€zÝ•U˜Aˆ~Ðå�q˜"ÑÔ�D€A€qÝ˜˜S # b¡&¨"Ñ-Ô-�I€A€qˆ#Øð Øˆq‰DˆØˆa�ˆ7€NrF   c                 óÄ  ‡‡‡— | \  }}||cxk    rt           k    rn nt          t          ft           t           ffS t          | v s	t          | v rt          t          ft          t          ffS ‰dz   }t          ||¦  «        \  }}}t          ||¦  «        \  }}	}
t          ||g¦  «        \  }}t          ||	g¦  «        \  }}	||
k    rnƒ|
|z
  dk    rt          t          ft          t          ffS |dz  |
dz  k    rt          }|dz
  dz  |
dz
  dz  k    rt          }|dz
  dz  |
dz
  dz  k    rt          }	|dz
  dz  |
dz
  dz  k    rt          }t          t          |z  t          dz  z   | ¦  «        Št          t          |z  t          dz  z
  | ¦  «        Šˆˆˆfd„} ||t          ¦  «        } ||t          ¦  «        } ||t          ¦  «        } ||	t          ¦  «        }	||f||	ffS )Nr•   é   r–   r   é   é
   c                 óº   •— t          | d         ¦  «        |t          k    k    r‰}n‰}t          | |‰	|¦  «        } | \  }}}}||z   dk    r|rt          S t          S | S )Nr^   r   )Úboolr   r(   r   r   )
rœ   ÚroundingÚpr©   rª   r«   r¬   ÚlessÚmorer@   s
          €€€rD   Úfinalizezmpi_cos_sin.<locals>.finalize˜  sn   ø€ Ý��!”‰:Œ:˜(¥kÒ1Ò2Ð2ØˆAˆAàˆAÝ�A�q˜$ Ñ)Ô)ˆØÑˆˆc�3˜Øˆr‰6�QŠ;ˆ;Øð Ý�ÝˆKØˆrF   )r   r   r   r   r   r¯   r   r-   r.   r   r   )r    r@   ra   rb   r¨   ÚcarA   ÚnaÚcbrB   Únbrº   r¸   r¹   s    `          @@rD   Úmpi_cos_sinr¿   v  s  øøø€ Ø�D€A€qØˆA€€‚€•‚€€€€Ý•dˆ|�e¥U˜^Ð+Ð+å�ˆ	ˆ	•u �z�zÝ•tˆ}�u¥d˜mÐ+Ð+Ø	�‰€BÝ! ! RÑ(Ô(�J€BˆˆBÝ! ! RÑ(Ô(�J€BˆˆBÝ˜"˜b˜Ñ"Ô"�F€BˆÝ˜"˜b˜Ñ"Ô"�F€Bˆà	ˆR‚x€xØà	ˆb‰�AŠˆÝ•tˆ}�u¥d˜mÐ+Ð+ð ˆq‰5�B˜‘EŠ>ˆ>ÝˆBàˆq‰D�1‰9˜˜A™ ™	Ò!Ð!ÝˆBàˆq‰D�1‰9˜˜A™ ™	Ò!Ð!ÝˆBàˆq‰D�1‰9˜˜A™ ™	Ò!Ð!ÝˆBå� "™­°"©Ñ5¸°sÑ;Ô;€DÝ� "™­°"©Ñ5¸°sÑ;Ô;€Dðð ð ð ð ð ð ð 
ˆ�"•kÑ	"Ô	"€BØ	ˆ�"•mÑ	$Ô	$€BØ	ˆ�"•kÑ	"Ô	"€BØ	ˆ�"•mÑ	$Ô	$€BØˆrˆ7�R˜�GÐÐrF   c                 ó.   — t          | |¦  «        d         S rt   ©r¿   ©r    r@   s     rD   Úmpi_cosrÃ   ª  ó   € Ý�q˜$ÑÔ Ô"Ð"rF   c                 ó.   — t          | |¦  «        d         S ©Nr   rÁ   rÂ   s     rD   Úmpi_sinrÇ   ­  rÄ   rF   c                 óP   — t          | |dz   ¦  «        \  }}t          |||¦  «        S rš   ©r¿   r   ©r    r@   ÚcosÚsins       rD   Úmpi_tanrÍ   °  ó+   € Ý˜1˜d 2™gÑ&Ô&�H€CˆÝ�3˜˜TÑ"Ô"Ð"rF   c                 óP   — t          | |dz   ¦  «        \  }}t          |||¦  «        S rš   rÉ   rÊ   s       rD   Úmpi_cotrÐ   ´  rÎ   rF   c                 óì  — |dz   }t          | |t          ¦  «        }t          | |t          ¦  «        }t          ||t          ¦  «        }t          |t          ¦  «        sJ ‚|rct          t          t          |¦  «        t          |¦  «        ¦  «        ||t          ¦  «        }t          |t          d¦  «        |t          ¦  «        }t          |||t          ¦  «        }t          |||t          ¦  «        }||fS )Nr•   éd   )r"   r   r   r   r   r(   r¥   r#   r*   r   r'   r&   )	r    r¡   Úpercentr@   r¨   ÚxaÚxbra   rb   s	            rD   Úmpi_from_str_a_brÖ   ¸  sÍ   € Ø	�‰€BÝ	�!�R�Ñ	%Ô	%€BÝ	�!�R�Ñ	'Ô	'€Bå��B�Ñ&Ô&€AÝ�!•UÑÔÐÐÐØð 9Ý•C� ™œ¥W¨R¡[¤[Ñ1Ô1°1°b½-ÑHÔHˆÝ�A•x ‘}”} b­-Ñ8Ô8ˆÝ��A�t�[Ñ)Ô)€AÝ��A�t�]Ñ+Ô+€AØˆaˆ4€KrF   c                 óz  — t          d| z  ¦  «        }|                      dd¦  «        } |dz   }d| v r*|                      d¦  «        \  }}t          ||d|¦  «        S d| v r~| d         dk    sd	| vr|‚|                      d	d¦  «        } d}d
| v r&| d         d
k    r|‚d}|                      d
d¦  «        } |                      d¦  «        \  }}t          ||||¦  «        S d| v �r*d| vsd| vr|‚| d         dk    rt|                      dd¦  «        } |                      dd¦  «        } |                      d¦  «        \  }}t	          ||t
          ¦  «        }t	          ||t          ¦  «        }||fS |                      d¦  «        \  }}|                     d¦  «        \  }}	d| v r|	                     d¦  «        \  }	}n|	                     d¦  «        d}}	t	          ||z   |z   |t
          ¦  «        }t	          ||	z   |z   |t          ¦  «        }||fS t	          | |t
          ¦  «        }t	          | |t          ¦  «        }||fS )a  
    Parse an interval number given as a string.

    Allowed forms are

    "-1.23e-27"
        Any single decimal floating-point literal.
    "a +- b"  or  "a (b)"
        a is the midpoint of the interval and b is the half-width
    "a +- b%"  or  "a (b%)"
        a is the midpoint of the interval and the half-width
        is b percent of a (`a 	imes b / 100`).
    "[a, b]"
        The interval indicated directly.
    "x[y,z]e"
        x are shared digits, y and z are unequal digits, e is the exponent.

    z&Improperly formed interval number '%s'ú Ú r•   ú+-Fú(r^   ú)ú%rk   Tú,r=   r>   Úe)Ú
ValueErrorÚreplaceÚsplitrÖ   r"   r   r   Úrstrip)
r?   r@   rß   r¨   r    r¡   rÓ   ra   rb   Úzs
             rD   Úmpi_from_strrå   Æ  sG  € õ& 	Ð;¸aÑ?Ñ@Ô@€AØ	�	Š	�#�rÑÔ€AØ	�‰€BØˆq€y€yØ�wŠw�t‰}Œ}‰ˆˆ1Ý  1 e¨TÑ2Ô2Ð2à	�ˆˆàˆQŒ4�3Š;ˆ;˜# Q˜,˜,ØˆGØ�IŠI�c˜2ÑÔˆØˆØ�!ˆ8ˆ8Ø�Œu˜Š|ˆ|Ø�ØˆGØ—	’	˜#˜rÑ"Ô"ˆAØ�wŠw�s‰|Œ|‰ˆˆ1Ý  1 g¨tÑ4Ô4Ð4Ø	�ˆ‰Ø�qˆLˆL˜c¨˜l˜lØˆGØˆQŒ4�3Š;ˆ;à—	’	˜#˜rÑ"Ô"ˆAØ—	’	˜#˜rÑ"Ô"ˆAØ—7’7˜3‘<”<‰DˆAˆqÝ˜˜D¥+Ñ.Ô.ˆAÝ˜˜D¥-Ñ0Ô0ˆAØ�a�4ˆKð —7’7˜3‘<”<‰DˆAˆqØ—7’7˜3‘<”<‰DˆAˆqØ�aˆxˆxØ—w’w˜s‘|”|‘��1�1à—x’x ‘}”} b�1�Ý˜˜1™˜Q™ ¥kÑ2Ô2ˆAÝ˜˜1™˜Q™ ¥mÑ4Ô4ˆAØ�a�4ˆKå�Q˜�kÑ*Ô*ˆÝ�Q˜�mÑ,Ô,ˆØ�!ˆtˆrF   Tú[]Úbracketsr±   c           	      ó”  — t          |¦  «        }|dz   }| \  }	}
t          | |¦  «        }t          | |¦  «        }t          |	|fi |¤Ž}t          |
|fi |¤Ž}t          ||fi |¤Ž}d}|rd}|\  }}|dk    r,t          t	          |d¦  «        |fi |¤Ž}||z   dz   |z   |z   }�n§|dk    rz|t
          k    rt
          }nIt          |t          d¦  «        ¦  «        }t          |t          |t          d	¦  «        ¦  «        |¦  «        }||z   d
z   t          ||¦  «        z   dz   }�n'|dk    r||z   dz   |z   |z   |z   }�n|dk    �rõ||k    r"t          |	|dz   fi |¤Ž}t          |
|dz   fi |¤Ž}| 	                    d¦  «        }	t          |	¦  «        dk    r|	                     d¦  «         | 	                    d¦  «        }
t          |
¦  «        dk    r|
                     d¦  «         |	d         |
d         k    �r|	d         |
d         k    r·t          t          |	d         ¦  «        dz   ¦  «        D ]"}|	d         |         |
d         |         k    r nŒ#|	d         d|…         |z   |	d         |d…         z   dz   |z   |
d         |d…         z   |z   dt          t          |	d         ¦  «        d¦  «        z  z   |	d         z   }n‰|	d         |z   |z   dt          t          |	d         ¦  «        d¦  «        z  z   |	d         z   }nJ|d                     |	¦  «        z   dz   |z   d                     |
¦  «        z   |z   }nt          d|z  ¦  «        ‚|S )aÏ  
    Convert a mpi interval to a string.

    **Arguments**

    *dps*
        decimal places to use for printing
    *use_spaces*
        use spaces for more readable output, defaults to true
    *brackets*
        pair of strings (or two-character string) giving left and right brackets
    *mode*
        mode of display: 'plusminus', 'percent', 'brackets' (default) or 'diff'
    *error_dps*
        limit the error to *error_dps* digits (mode 'plusminus and 'percent')

    Additional keyword arguments are forwarded to the mpf-to-string conversion
    for the components of the output.

    **Examples**

        >>> from mpmath import mpi, mp
        >>> mp.dps = 30
        >>> x = mpi(1, 2)._mpi_
        >>> mpi_to_str(x, 2, mode='plusminus')
        '1.5 +- 0.5'
        >>> mpi_to_str(x, 2, mode='percent')
        '1.5 (33.33%)'
        >>> mpi_to_str(x, 2, mode='brackets')
        '[1.0, 2.0]'
        >>> mpi_to_str(x, 2, mode='brackets' , brackets=('<', '>'))
        '<1.0, 2.0>'
        >>> x = mpi('5.2582327113062393041', '5.2582327113062749951')._mpi_
        >>> mpi_to_str(x, 15, mode='diff')
        '5.2582327113062[4, 7]'
        >>> mpi_to_str(mpi(0)._mpi_, 2, mode='percent')
        '0.0 (0.0%)'

    r•   rÙ   rØ   Ú	plusminusrk   rÚ   rÓ   rÒ   r–   rÛ   z%)rç   rÞ   Údiffr²   rß   r   r^   Nz%'%s' is unknown mode for printing mpi)r   rl   ri   r!   r+   r   r(   r   r*   râ   ÚlenÚappendr   ÚminÚjoinrà   )r    rC   Ú
use_spacesrç   ÚmodeÚ	error_dpsÚkwargsr@   r¨   ra   rb   ÚmidÚdeltaÚa_strÚb_strÚmid_strÚspÚbr1Úbr2Ú	delta_strr?   r·   Úis                          rD   Ú
mpi_to_strrý     sš  € õP �sÑÔ€DØ	�‰€BØ�D€A€qÝ
�!�TÑ
Ô
€CÝ�a˜ÑÔ€EÝ�1�cÐ$Ð$˜VÐ$Ð$€EÝ�1�cÐ$Ð$˜VÐ$Ð$€EÝ�S˜#Ð(Ð( Ð(Ð(€GØ	€BØð ØˆØ�H€CˆØˆ{ÒÐÝ�9 U¨2Ñ.Ô.°Ð>Ð>°vÐ>Ð>ˆ	Ø�b‰L˜4Ñ "Ñ$ yÑ0ˆ‰Ø	�Ò	Ð	Ø•%Š<ˆ<ÝˆAˆAõ ˜�x¨™}œ}Ñ-Ô-ˆAÝ˜�7 3­°©¬Ñ4Ô4°bÑ9Ô9ˆAØ�b‰L˜3Ñ¥¨¨9Ñ!5Ô!5Ñ5¸Ñ<ˆ‰Ø	�Ò	Ð	Ø�%‰K˜#Ñ Ñ" UÑ*¨SÑ0ˆ‰Ø	�Š‰à�EŠ>ˆ>Ý˜1˜c !™eÐ.Ð. vÐ.Ð.ˆEÝ˜1˜c !™eÐ.Ð. vÐ.Ð.ˆEà�KŠK˜ÑÔˆÝˆq‰6Œ6�QŠ;ˆ;Ø�HŠH�R‰LŒLˆLØ�KŠK˜ÑÔˆÝˆq‰6Œ6�QŠ;ˆ;Ø�HŠH�R‰LŒLˆLØˆQŒ4�1�Q”4Š<‰<Ø�Œt�q˜”tŠ|ˆ|Ý¥ A a¤D¡	¤	¨A¡Ñ.Ô.ð ð �AØ˜”t˜A”w ! A¤$ q¤'Ò)Ð)Ø˜ð *à�q”T˜"˜1˜"”X ‘^ a¨¤d¨1¨2¨2¤hÑ.°Ñ4°rÑ9¸A¸a¼DÀÀÀ¼HÑDÀsÑJØ�3�s 1 Q¤4™yœy¨!Ñ,Ô,Ñ,ñ-Ø/0°¬tñ4��ð �a”D˜3‘J Ñ$ s­3­s°1°Q´4©y¬y¸!Ñ+<Ô+<Ñ'<Ñ<¸qÀ¼tÑC��à�c—h’h˜q‘k”kÑ! CÑ'¨"Ñ,¨s¯xªx¸©{¬{Ñ:¸SÑ@ˆAˆAåÐ@À4ÑGÑHÔHÐHØ€HrF   c                 óZ   — | \  }}|\  }}t          |||¦  «        t          |||¦  «        fS rH   )rc   ©r    r¡   r@   ra   rb   r­   Úds          rD   Úmpci_addr  d  ó7   € Ø�D€A€qØ�D€A€qÝ�1�a˜ÑÔ¥¨¨1¨dÑ 3Ô 3Ð3Ð3rF   c                 óZ   — | \  }}|\  }}t          |||¦  «        t          |||¦  «        fS rH   )rf   rÿ   s          rD   Úmpci_subr  i  r  rF   c                 óL   — | \  }}t          ||¦  «        t          ||¦  «        fS rH   )rr   ©r    r@   ra   rb   s       rD   Úmpci_negr  n  ó*   € Ø�D€A€qÝ�1�dÑÔ�W Q¨Ñ-Ô-Ð-Ð-rF   c                 óL   — | \  }}t          ||¦  «        t          ||¦  «        fS rH   )ro   r  s       rD   Úmpci_posr
  r  r  rF   c                 óâ   — | \  }}|\  }}t          ||¦  «        }t          ||¦  «        }t          |||¦  «        }	t          ||¦  «        }
t          ||¦  «        }t          |
||¦  «        }|	|fS rH   )rz   rf   rc   )r    r¡   r@   ra   rb   r­   r   Úr1Úr2ÚreÚi1Úi2Úims                rD   Úmpci_mulr  v  ss   € à�D€A€qØ�D€A€qÝ	��1‰Œ€BÝ	��1‰Œ€BÝ	��B�tÑ	Ô	€BÝ	��1‰Œ€BÝ	��1‰Œ€BÝ	��B�tÑ	Ô	€BØˆrˆ6€MrF   c                 ó~  — | \  }}|\  }}|dz   }t          |¦  «        }t          |¦  «        }	t          ||	|¦  «        }
t          t          ||¦  «        t          ||¦  «        |¦  «        }t          t          ||¦  «        t          ||¦  «        |¦  «        }t	          ||
|¦  «        }t	          ||
|¦  «        }||fS rš   )r†   rc   rz   rf   r   )r    r¡   r@   ra   rb   r­   r   r¨   Úm1Úm2Úmr  r  s                rD   Úmpci_divr  ‚  s±   € à�D€A€qØ�D€A€qØ	ˆb‰€BÝ	�A‰Œ€BÝ	�A‰Œ€BÝ��2�bÑÔ€AÝ	•˜˜1‘”�w q¨™|œ|¨RÑ	0Ô	0€BÝ	•˜˜1‘”�w q¨™|œ|¨RÑ	0Ô	0€BÝ	��Q˜Ñ	Ô	€BÝ	��Q˜Ñ	Ô	€BØˆrˆ6€MrF   c                 ó¨   — | \  }}|dz   }t          ||¦  «        }t          ||¦  «        \  }}t          |||¦  «        }t          |||¦  «        }||fS rš   )r‹   r¿   rz   )r    r@   ra   rb   r¨   Úrr­   r?   s           rD   Úmpci_expr  �  s_   € Ø�D€A€qØ	ˆb‰€BÝ��2‰Œ€AÝ�q˜"ÑÔ�D€A€qÝ��1�dÑÔ€AÝ��1�dÑÔ€AØˆaˆ4€KrF   c                 óL   — | \  }}t          ||¦  «        t          ||¦  «        fS rH   )r+   )r    r˜   ra   rb   s       rD   Ú	mpi_shiftr  ™  s&   € Ø�D€A€qÝ�Q�q‰>Œ>�9 Q q™>œ>Ð)Ð)rF   c                 óä   — |dz   }t          | |¦  «        }t          t          ||¦  «        }t          |||¦  «        }t	          |||¦  «        }t          |d¦  «        }t          |d¦  «        }||fS )Nr•   rk   )r‹   r   Úmpi_onerc   rf   r  )r    r@   r¨   Úe1Úe2r­   r?   s          rD   Úmpi_cosh_sinhr!  �  sr   € à	ˆb‰€BÝ	��B‰Œ€BÝ	•˜"˜bÑ	!Ô	!€BÝ��B˜ÑÔ€AÝ��B˜ÑÔ€AÝ�!�RÑÔ€AÝ�!�RÑÔ€AØˆaˆ4€KrF   c                 óÈ   — | \  }}|dz   }t          ||¦  «        \  }}t          ||¦  «        \  }}t          |||¦  «        }	t          |||¦  «        }
|	t          |
¦  «        fS ©Nr³   )r¿   r!  rz   rr   ©r    r@   ra   rb   r¨   r­   r?   ÚchÚshr  r  s              rD   Úmpci_cosr'  ¨  sl   € Ø�D€A€qØ	ˆb‰€BÝ�q˜"ÑÔ�D€A€qÝ˜1˜bÑ!Ô!�F€BˆÝ	��B˜Ñ	Ô	€BÝ	��B˜Ñ	Ô	€BØ�w�r‰{Œ{ˆ?ÐrF   c                 ó®   — | \  }}|dz   }t          ||¦  «        \  }}t          ||¦  «        \  }}t          |||¦  «        }	t          |||¦  «        }
|	|
fS r#  )r¿   r!  rz   r$  s              rD   Úmpci_sinr)  ±  se   € Ø�D€A€qØ	ˆb‰€BÝ�q˜"ÑÔ�D€A€qÝ˜1˜bÑ!Ô!�F€BˆÝ	��B˜Ñ	Ô	€BÝ	��B˜Ñ	Ô	€BØˆrˆ6€MrF   c                 óø   — | \  }}|t           k    rt          |¦  «        S |t           k    rt          |¦  «        S t          |¦  «        }t          |¦  «        }t          |||dz   ¦  «        }t	          ||¦  «        S rš   )Úmpi_zerorx   r†   rc   r�   )r    r@   ra   rb   rK   s        rD   Úmpci_absr,  º  sp   € Ø�D€A€qØ�H‚}€}Ý�q‰zŒzÐØ�H‚}€}Ý�q‰zŒzÐå�1‰Œ€AÝ�1‰Œ€AÝ��1�d˜2‘gÑÔ€AÝ�A�tÑÔÐrF   c                 óê  — | \  }}|\  }}||cxk    rt           k    r.n n+t          |t           ¦  «        rt          S t          |¦  «        S t          |t           ¦  «        r‹t          |t           ¦  «        rt	          |||t
          ¦  «        }nt	          |||t
          ¦  «        }t          |t           ¦  «        rt	          |||t          ¦  «        }�nt	          |||t          ¦  «        }�nt          |t           ¦  «        r\t	          |||t          ¦  «        }t          |t           ¦  «        rt	          |||t
          ¦  «        }n­t	          |||t
          ¦  «        }n•t          |t           ¦  «        r\t	          |||t
          ¦  «        }t          |t           ¦  «        rt	          |||t          ¦  «        }n<t	          |||t          ¦  «        }n$t          |t          ¦  «        }t          |¦  «        }||fS rH   )
r   r   r+  r‰   r3   r   r   r   r4   r$   )	r¡   r    r@   ÚyaÚybrÔ   rÕ   ra   rb   s	            rD   Ú	mpi_atan2r0  Æ  sÈ  € Ø�F€BˆØ�F€Bˆà	ˆRÐÐÒÐ•5ÒÐÐÐÐÝ�"•eÑÔð 	ÝˆOÝ�d‰|Œ|Ðåˆb•%ÑÔð Ý�"•eÑÔð 	5Ý˜"˜b $­Ñ4Ô4ˆAˆAå˜"˜b $­Ñ4Ô4ˆAÝ�"•eÑÔð 	7Ý˜"˜b $­Ñ6Ô6ˆA‰Aå˜"˜b $­Ñ6Ô6ˆA‰Aå	�•EÑ	Ô	ð Ý�b˜"˜d¥MÑ2Ô2ˆÝ�"•eÑÔð 	5Ý˜"˜b $­Ñ4Ô4ˆAˆAå˜"˜b $­Ñ4Ô4ˆAˆAå	�•EÑ	Ô	ð 	Ý�b˜"˜d¥KÑ0Ô0ˆÝ�"•eÑÔð 	7Ý˜"˜b $­Ñ6Ô6ˆAˆAå˜"˜b $­Ñ6Ô6ˆAˆAõ �4�Ñ'Ô'ˆÝ�A‰JŒJˆØˆaˆ4€KrF   c                 ó.   — | \  }}t          |||¦  «        S rH   )r0  )rä   r@   r    r¡   s       rD   Úmpci_argr2  ì  s   € Ø�D€A€qÝ�Q˜˜4Ñ Ô Ð rF   c                 óv   — | \  }}t          t          | |dz   ¦  «        |¦  «        }t          | |¦  «        }||fS rš   )rŽ   r,  r2  )rä   r@   r    r¡   r  r  s         rD   Úmpci_logr4  ð  s@   € Ø�D€A€qÝ	•˜!˜T "™WÑ%Ô% tÑ	,Ô	,€BÝ	�!�TÑ	Ô	€BØˆrˆ6€MrF   c           	      ó@  — |\  }}|t           k    r]|\  }}||k    rR|\  }}}	}
|r-|	dk    r't          | d|z  t          ||	z  ¦  «        z  |¦  «        S |t          k    rt          | d|¦  «        S |dz   }t	          t          |t          | |¦  «        |¦  «        |¦  «        S )Nr^   rk   r•   )r+  Úmpci_pow_intÚintr   r  r  r4  )r    r¡   r@   ÚyreÚyimr.  r/  r©   rª   r«   r¬   r¨   s               rD   Úmpci_powr:  ö  s²   € à�H€CˆØ
�h‚€Ø‰ˆˆBØ�Š8ˆ8Ø!#ÑˆD�#�s˜BØð I�s˜a’x�xÝ# A¨¨T¡zµC¸¸S¹±M´MÑ'AÀ4ÑHÔHÐHà•UŠ{ˆ{Ý# A q¨$Ñ/Ô/Ð/Ø	ˆb‰€BÝ•H˜Q¥¨¨B¡¤°Ñ4Ô4°dÑ;Ô;Ð;rF   c                 ó¬   — | \  }}t          t          |¦  «        t          |¦  «        |¦  «        }t          |||¦  «        }t          |d¦  «        }||fS rÆ   )rf   r†   rz   r  )r    r@   ra   rb   r  r  s         rD   Úmpci_squarer<    sQ   € Ø�D€A€qå	•˜A‘”¥
¨1¡¤¨tÑ	4Ô	4€BÝ	��A�tÑ	Ô	€BÝ	�2�qÑ	Ô	€BØˆrˆ6€MrF   c           	      óœ  — |dk     r0t          t          t          ft          | | |dz   ¦  «        |¦  «        S |dk    rt          t          fS |dk    rt	          | |¦  «        S |dk    rt          | |¦  «        S |dz   }t          t          f}|r2|dz  rt          || |¦  «        }|dz  }t          | |¦  «        } |dz  }|°2t	          ||¦  «        S r”   )r  r  r+  r6  r
  r<  r  )r    r˜   r@   r¨   Úresults        rD   r6  r6    sï   € Øˆ1‚u€uÝ�¥Ð*­L¸¸Q¸BÀÀRÁÑ,HÔ,HÈ$ÑOÔOÐOØˆA‚v€vÝ�Ð Ð ØˆA‚v€vÝ˜˜4Ñ Ô Ð ØˆA‚v€vÝ˜1˜dÑ#Ô#Ð#Ø	�‰€BÝ•xÐ €FØ
ð Øˆq‰5ð 	Ý˜f a¨Ñ,Ô,ˆFØ�‰FˆAÝ˜˜2ÑÔˆØ	ˆa‰ˆð ð õ �F˜DÑ!Ô!Ð!rF   g#+VcØb÷?gÛVcØb÷?gš™™™™™ñ¿gš™™™™™ñ?c                 ób   — | \  }}|\  }}t          ||¦  «        rdS t          ||¦  «        rdS dS )NFT)r   r   )r    r¡   ra   rb   r­   r   s         rD   Úmpi_overlapr@  &  s=   € Ø�D€A€qØ�D€A€qÝˆa��|„|Ð!˜E˜EÝˆa��|„|Ð!˜E˜EØˆ4rF   c                 ó¢  — | \  }}|dz   }|dk    r%t          t          | t          |¦  «        |d¦  «        S t          |t          ¦  «        rœ|dk    r.t          ||t          ¦  «        }t          ||t          ¦  «        }�nÎ|dk    r.t          ||t          ¦  «        }t          ||t          ¦  «        }�nš|dk    r,t          ||t          ¦  «        }t          ||t          ¦  «        }�nft          |t          ¦  «        r¯t          |t          ¦  «        rš|dk    r.t          ||t          ¦  «        }t          ||t          ¦  «        }�n|dk    r-t          ||t          ¦  «        }t          ||t          ¦  «        }nÕ|dk    r,t          ||t          ¦  «        }t          ||t          ¦  «        }n¢t          | t          |¦  «        }|dk    r#t          t          ||dz   d¦  «        | |¦  «        S |dk    r#t          t          ||dz   d¦  «        | |¦  «        S |dk    r4t          t          ||dz   d¦  «        t!          | |dz   ¦  «        |¦  «        S ||fS )Nr•   r   r^   r–   r²   )Ú	mpi_gammarc   r  r   Úgamma_min_br7   r   r   r8   r9   r   r   Úgamma_min_ar   rz   rf   rŽ   )	rä   r@   Útypera   rb   r¨   r­   r   Úznews	            rD   rB  rB  2  s+  € Ø�D€A€qØ	ˆb‰€Bàˆq‚y€yÝ� ¥G¨RÑ0Ô0°$¸Ñ:Ô:Ð:õ ˆa•ÑÔð [Ø�1Š9ˆ9Ý˜!˜T¥;Ñ/Ô/ˆAÝ˜!˜T¥=Ñ1Ô1ˆA‰AØ�QŠYˆYÝ˜1˜d¥KÑ0Ô0ˆAÝ˜1˜d¥MÑ2Ô2ˆA‰AØ�QŠYˆYÝ˜Q ¥kÑ2Ô2ˆAÝ˜Q ¥mÑ4Ô4ˆAùå	�•5Ñ	Ô	ð [�f Q­Ñ4Ô4ð [Ø�1Š9ˆ9Ý˜!˜T¥;Ñ/Ô/ˆAÝ˜!˜T¥=Ñ1Ô1ˆA‰AØ�QŠYˆYÝ˜1˜d¥KÑ0Ô0ˆAÝ˜1˜d¥MÑ2Ô2ˆAˆAØ�QŠYˆYÝ˜Q ¥kÑ2Ô2ˆAÝ˜Q ¥mÑ4Ô4ˆAøõ �q�' 2Ñ&Ô&ˆØ�1Š9ˆ9�W¥Y¨t°T¸!±V¸QÑ%?Ô%?ÀÀDÑIÔIÐIØ�1Š9ˆ9�W¥Y¨t°T¸!±V¸QÑ%?Ô%?ÀÀDÑIÔIÐIØ�1Š9ˆ9�W¥Y¨t°T¸!±V¸QÑ%?Ô%?ÅÈÈDÐQRÉFÑASÔASÐUYÑZÔZÐZØˆaˆ4€KrF   c                 ó"  — | \  \  }}\  }}||cxk    rt           k    r6n n3|dk    st          |t           ¦  «        rt          | ||¦  «        t          fS |dz   }|dk    r­|d         |d         z   }|d         |d         z   }	|t           k    rt	          ||	¦  «        }
n|	}
t          t          |¦  «        ¦  «        }t          t          |¦  «        ¦  «        }t	          ||¦  «        }t	          d||
z  ¦  «        }|t          |¦  «        z  }|dk    r%t          ||ft          |¦  «        \  }}||f||ff} d}t          |t          ¦  «        rÆt          ||ft          t          f¦  «        r¨t          ||ft          |¦  «        ||ff}|dk    r#t          t!          ||dz   d¦  «        | |¦  «        S |dk    r#t#          t!          ||dz   d¦  «        | |¦  «        S |dk    r4t%          t!          ||dz   d¦  «        t'          | |dz   ¦  «        |¦  «        S t)          |t           ¦  «        rbt+          ||f|t,          ¦  «        }t+          ||f|t.          ¦  «        }t+          ||f|t,          ¦  «        }t+          ||f|t.          ¦  «        }�nt1          |t           ¦  «        rat+          ||f|t,          ¦  «        }t+          ||f|t.          ¦  «        }t+          ||f|t,          ¦  «        }t+          ||f|t.          ¦  «        }n›t+          |t           f|t.          ¦  «        }t          t3          |¦  «        |¦  «        rt+          ||f|t.          ¦  «        }nt+          ||f|t.          ¦  «        }t+          ||f|t,          ¦  «        }t+          ||f|t,          ¦  «        }|d         |d         f|d         |d         ff}|dk    r,t5          |d         |¦  «        t5          |d         |¦  «        fS |dk    rt7          |¦  «        }t9          ||¦  «        S )Nr²   r•   r–   r^   r   )r   r   rB  r+  ÚmaxÚabsr    r   rc   r  r   rC  r@  Úgamma_mono_imag_aÚgamma_mono_imag_br  Ú
mpci_gammar  r  r4  r   r:   r   r   r   r$   ro   r  r  )rä   r@   rE  Úa1Úa2Úb1Úb2r¨   ÚamagÚbmagÚmagÚanÚbnÚabsnÚ
gamma_sizerF  ÚminreÚmaxreÚminimÚmaximÚws                        rD   rL  rL  W  s÷  € ØÑ�G€Rˆ‰Wˆb�ð 
ˆRÐÐÒÐ•5ÒÐÐÐÐ˜d aši˜i­6°"µUÑ+;Ô+;˜iÝ˜˜D $Ñ'Ô'­Ð1Ð1ð 
ˆb‰€BØˆq‚y€yØ�!Œu�R˜”U‰{ˆØ�!Œu�R˜”U‰{ˆØ•Š;ˆ;Ý�d˜D‘/”/ˆCˆCàˆCÝ•˜‘”‰_Œ_ˆÝ•˜‘”‰_Œ_ˆÝ�2�r‰{Œ{ˆÝ˜˜4 ™8‘_”_ˆ
Ø
�h�zÑ"Ô"Ñ"ˆð ˆq‚y€yÝ˜2˜b˜'¥7¨BÑ/Ô/‰ˆˆB°b¸°W¸rÀ"¸gÐ5E°Øˆõ ˆb•+ÑÔð aÝ˜˜2�wÕ!2Õ4EÐ FÑGÔGð 
	aõ ˜B˜r˜7¥G¨RÑ0Ô0°2°b°'Ð9ˆDØ�qŠyˆy¥­*°T¸4À¹6À1Ñ*EÔ*EÀqÈ$Ñ!OÔ!OÐOØ�qŠyˆy¥­*°T¸4À¹6À1Ñ*EÔ*EÀqÈ$Ñ!OÔ!OÐOØ�qŠyˆy¥­*°T¸4À¹6À1Ñ*EÔ*EÅxÐPQÐRVÐWXÑRXÑGYÔGYÐ[_Ñ!`Ô!`Ð`õ
 ˆb•%ÑÔð 7Ý˜b ˜W b­+Ñ6Ô6ˆÝ˜b ˜W b­-Ñ8Ô8ˆÝ˜b ˜W b­+Ñ6Ô6ˆÝ˜b ˜W b­-Ñ8Ô8ˆ‰å	�•EÑ	Ô	ð 7Ý˜b ˜W b­+Ñ6Ô6ˆÝ˜b ˜W b­-Ñ8Ô8ˆÝ˜b ˜W b­+Ñ6Ô6ˆÝ˜b ˜W b­-Ñ8Ô8ˆˆõ ˜b¥˜Z¨­]Ñ;Ô;ˆå•'˜"‘+”+˜rÑ"Ô"ð 	=Ý  " R ¨"­mÑ<Ô<ˆEˆEå  " R ¨"­mÑ<Ô<ˆEÝ˜b ˜W b­+Ñ6Ô6ˆÝ˜b ˜W b­+Ñ6Ô6ˆà	ˆqŒ�5˜”8Ð˜u Qœx¨¨q¬Ð2Ð2€AØˆq‚y€yÝ�q˜”t˜TÑ"Ô"¥G¨A¨a¬D°$Ñ$7Ô$7Ð7Ð7Øˆq‚y€yÝ�Q‰KŒKˆÝ�A�tÑÔÐrF   c                 ó&   — t          | |d¬¦  «        S ©Nr²   ©rE  ©rB  ©rä   r@   s     rD   Úmpi_loggammarb     s   € ¥)¨A¨t¸!Ð"<Ñ"<Ô"<Ð<rF   c                 ó&   — t          | |d¬¦  «        S r^  ©rL  ra  s     rD   Úmpci_loggammare  ¡  s   € ¥:¨a°¸AÐ#>Ñ#>Ô#>Ð>rF   c                 ó&   — t          | |d¬¦  «        S ©Nr–   r_  r`  ra  s     rD   Ú
mpi_rgammarh  £  s   € ¥	¨!¨T¸Ð :Ñ :Ô :Ð:rF   c                 ó&   — t          | |d¬¦  «        S rg  rd  ra  s     rD   Úmpci_rgammarj  ¤  s   € ¥¨A¨t¸!Ð!<Ñ!<Ô!<Ð<rF   c                 ó&   — t          | |d¬¦  «        S ©Nr   r_  r`  ra  s     rD   Úmpi_factorialrm  ¦  s   € ¥9¨Q°¸1Ð#=Ñ#=Ô#=Ð=rF   c                 ó&   — t          | |d¬¦  «        S rl  rd  ra  s     rD   Úmpci_factorialro  §  s   € ¥J¨q°$¸QÐ$?Ñ$?Ô$?Ð?rF   N)r^   )Træ   rç   r±   )„Ú__doc__Úbackendr   Úlibmpfr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   Ú	libelefunr/   r0   r1   r2   r3   r4   r5   r6   Ú	gammazetar7   r8   r9   r:   rE   r+  r  rL   rO   rU   rX   rZ   r]   rc   rf   ri   rl   ro   rr   rx   r|   r€   rz   r†   r   r‰   r‹   rŽ   r�   r’   r—   r�   r¢   r¥   r¯   r¿   rÃ   rÇ   rÍ   rÐ   rÖ   rå   rý   r  r  r  r
  r  r  r  r  r!  r'  r)  r,  r0  r2  r4  r:  r<  r6  rD  rC  Ú	gamma_minrJ  rK  r@  rB  rL  rb  re  rh  rj  rm  ro  rI   rF   rD   ú<module>rv     s°  ððð ð
 Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 IÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hð;ð ;ð ;ð �5ˆ>€Ø�ˆ,€ðð ð ðð ð ðð ð ðð ð ð &Ð %Ð %Ø %Ð %Ð %ðð ð ð ðð ð ð ð+ð +ð +ð?ð ?ð ?ðð ð ðð ð ð ðð ð ð ð.$ð $ð $ð$ð $ð $ðBð Bð Bð BðHð ð ð ð9ð 9ð 9ðvð ð ð
ð ð ðð ð ðð ð ðð ð ð#ð #ð #ðJ	ð 	ð 	ðð ð ð
ð ð ð
	ð 	ð 	ð2ð 2ð 2ðh#ð #ð #ð#ð #ð #ð#ð #ð #ð#ð #ð #ðð ð ð@ð @ð @ðDZð Zð Zð Zðx4ð 4ð 4ð
4ð 4ð 4ð
.ð .ð .ð .ð.ð .ð .ð
ð 
ð 
ðð ð ðð ð ð*ð *ð *ð	ð 	ð 	ðð ð ðð ð ð
ð 
ð 
ð$ð $ð $ðL!ð !ð !ðð ð ð<ð <ð <ðð ð ð"ð "ð "ð& ˆj˜Ñ'Ô'€Øˆj˜Ñ'Ô'€Ø˜+Ð&€	Ø�J˜tÑ$Ô$Ð Ø�J˜s‘O”OÐ ðð ð ð#ð #ð #ð #ðJGð Gð Gð GðR =Ð <Ð <Ø >Ð >Ð >à :Ð :Ð :Ø <Ð <Ð <à =Ð =Ð =Ø ?Ð ?Ð ?Ð ?Ð ?rF   