o
    *Î®cµy  ã                   @   s¢  d dl mZmZmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlmZmZ d dlmZmZmZmZ d dlmZmZmZ d dlmZmZ d d	lm Z  d d
l!m"Z"m#Z#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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9m:Z: d dl;m<Z<m=Z= d dl>m?Z?m@Z@ d dlAmBZB d dlCmDZD d dlEmFZF d dlGmHZH d dl mIZI d dl%mJZJmKZK d dlLmMZM edƒ\ZNZOZPedddZQedddZRdd„ ZSdd„ ZTd d!„ ZUd"d#„ ZVd$d%„ ZWd&d'„ ZXd(d)„ ZYd*d+„ ZZd,d-„ Z[d.d/„ Z\d0d1„ Z]d2d3„ Z^d4d5„ Z_d6d7„ Z`d8d9„ ZadUd:d;„Zbd<d=„ ZcdVd?d@„ZddAdB„ ZedCdD„ ZfdEdF„ ZgdGdH„ ZhdIdJ„ ZidKdL„ ZjdMdN„ ZkdOdP„ ZldQdR„ ZmdSdT„ Znd>S )Wé    )ÚdiffÚexpandÚexpand_func)Ú
EulerGamma)ÚEÚFloatÚIÚRationalÚnanÚooÚpi)ÚS)ÚSymbolÚsymbols)Ú	conjugateÚimÚ
polar_liftÚre)ÚexpÚ	exp_polarÚlog)ÚcoshÚsinh)Úsqrt)ÚcosÚsinÚsinc)ÚChiÚCiÚE1ÚEiÚLiÚShiÚSiÚerfÚerf2Úerf2invÚerfcÚerfcinvÚerfiÚerfinvÚexpintÚfresnelcÚfresnelsÚli)ÚgammaÚ
uppergamma)ÚhyperÚmeijerg)ÚIntegralÚ	integrate)Úgruntz)Úlimit)ÚO)Ú	unchanged)ÚArgumentIndexError)Ú_erfsÚ_eis)Úraiseszx,y,zÚwT©ÚrealÚn)Úintegerc                	   C   s  t tƒtu sJ ‚t tƒdksJ ‚t t ƒdksJ ‚t dƒtju s"J ‚t tt ƒtt ks.J ‚t t t ƒt t ks<J ‚t dƒt dƒ ksGJ ‚t t t ƒt tt ƒ ksWJ ‚t t t ƒt tt ƒ ksgJ ‚t ttƒƒtksqJ ‚t t	tƒƒdt ks}J ‚t t
dtƒƒtksˆJ ‚t t
dtddƒtks•J ‚t t
dt t	dt ttƒƒ ƒƒƒƒtksªJ ‚t tƒjdu s³J ‚t dddjs¼J ‚t dddjsÅJ ‚tt tƒƒt ttƒƒksÓJ ‚t tƒ t¡dt ttƒ ksäJ ‚t tt ƒ t¡dt t ttƒ ksùJ ‚t tt ƒt tƒ  t¡tksJ ‚t dt ƒ t¡tjksJ ‚t tƒ d¡ttd ƒdtttd ƒƒ  t ks6J ‚t tƒ d	¡tjttƒ ksGJ ‚t tƒ d
¡t ttt ƒ ksZJ ‚t tƒ d¡dt ttdt  ttƒ ƒtttdt  ttƒ ƒ   ks‚J ‚t tƒ d¡dt ttdt  ttƒ ƒtttdt  ttƒ ƒ   ksªJ ‚t tƒ d¡dt ttjgdtj gtd  ƒ ttƒ ksËJ ‚t tƒ d¡tttjgg dgtddƒgtd ƒ ttƒ ksìJ ‚t tƒ d¡ttd ƒt tttjtd ƒ ttjƒ  ksJ ‚tttƒttd ƒ t tdttƒ  ƒt tƒ  ttƒdttƒ ks2J ‚tdt tƒ ttd ƒ t ttƒdttƒ ksMJ ‚tdt tƒ ttd ƒ ttƒ t ttƒdkshJ ‚tdt tƒ ttd ƒ ttƒ t d d td  ttƒdks‹J ‚tt tƒt tdƒdttƒ ksžJ ‚ttd ttƒt td ƒ dtd    tdƒtdƒd ks¿J ‚t tƒ  ¡ t t!tƒtt"tƒ  ƒd t t!tƒtt"tƒ  ƒd  t t t!tƒtt"tƒ  ƒ t t!tƒtt"tƒ  ƒ  d fksJ ‚t tƒj ddt t!tƒtt"tƒ  ƒd t t!tƒtt"tƒ  ƒd  t t t!tƒtt"tƒ  ƒ t t!tƒtt"tƒ  ƒ  d fksGJ ‚t t#ƒ  ¡ t t#ƒdfksVJ ‚t t#ƒj ddt t#ƒdfksgJ ‚t tƒ  ¡ dt t tƒ fksyJ ‚t$t%dd„ ƒ t tƒ &¡ tks‹J ‚d S )Né   éÿÿÿÿr   éþÿÿÿé   F©Úevaluater0   r'   r)   r-   r,   r1   é   r2   r+   éüÿÿÿé   ©Údeepc                   S   ó   t tƒ d¡S ©NrE   )r$   ÚxÚfdiff© rQ   rQ   úY/tmp/pip-target-vg8gfxp4/lib/python/sympy/functions/special/tests/test_error_functions.pyÚ<lambda>\   ó    ztest_erf.<locals>.<lambda>)'r$   r
   r   r   ÚZeror   rO   Úyr*   r(   r&   Úis_realÚis_zeror   ÚzÚas_leading_termr   r   ÚOneÚrewriter'   r)   r,   r-   r1   ÚHalfr2   r	   r+   ÚPir6   r   Úas_real_imagr   r   r=   r<   r9   ÚinverserQ   rQ   rQ   rR   Útest_erf   sr     *"*$8"&(ÿ(ÿBBB6

ÿ66F&B
6:ÿ
ÿ6:ÿ
ÿ"$ra   c                   C   s¸  t tƒ tdd¡dt ttƒ dtd  d ttƒ  td d ttƒ  ttd ƒ ks/J ‚t tƒ tt¡ttd  ƒ ddtd   ddtd    dt  ttd ttfƒ  ttƒ d ksdJ ‚t td ƒjttd	d
ddtd   td  ttd ttfƒ ttd  ƒ ttƒ d d ks–J ‚t ttƒƒjttdd
tdt ƒdt tdƒd  d  ddt tdƒd   d  ttd ttfƒ tt ƒ ttƒ d d ksÚJ ‚d S )Nr   é   rE   rH   é   é   rB   éúÿÿÿé   ©r@   rC   rJ   rD   iøÿÿÿéýÿÿÿ)	r$   rO   Úseriesr   r   r7   r   r   r   rQ   rQ   rQ   rR   Útest_erf_seriesa   s4   ÿÿ

ÿTÿFÿ8ÿÿÿÿÿÿrj   c                   C   ó    t ttdƒƒd ƒdk sJ ‚d S )Nç       @gû$®Ùï?ç:Œ0âŽyE>)Úabsr$   r   rQ   rQ   rQ   rR   Útest_erf_evalfm   ó    ro   c                   C   sø   t tƒ t¡dttjƒ dt t tƒ  ksJ ‚t dt ƒ t¡tttƒ td dttƒ   dtd  dttƒ   ttd ƒ ksEJ ‚t	t
tƒ d¡ t¡ d	¡ƒt
tƒ t¡ks]J ‚t tƒ d	¡t
tƒ d ttd ƒ kssJ ‚ttd
d„ ƒ d S )NrD   rE   rB   rH   rc   rd   rJ   Ú	tractableÚintractablec                   S   rM   rN   )r:   rY   rP   rQ   rQ   rQ   rR   rS   z   rT   ztest__erfs.<locals>.<lambda>)r:   rY   r   r   r   r^   ri   r   r7   r   r$   r\   r   r<   r9   rQ   rQ   rQ   rR   Ú
test__erfsq   s   0Bÿÿ,rs   c                
   C   s  t tƒtu sJ ‚t tƒtju sJ ‚t t ƒdksJ ‚t dƒdks"J ‚t tt ƒt t ks/J ‚t t t ƒtt ks<J ‚t t ƒtdƒt tƒ ksKJ ‚t ttƒƒtksUJ ‚t tƒjdu s^J ‚t dddjsgJ ‚t dddj	du srJ ‚t t
tƒƒdt ks~J ‚tt tƒƒt ttƒƒksŒJ ‚t tƒ t¡tju s˜J ‚t dt ƒ t¡tjks¦J ‚t tƒ d¡dttƒ ksµJ ‚t tƒ d¡dtttt ƒ  ksÈJ ‚t tƒ d¡ddt ttdt  ttƒ ƒtttdt  ttƒ ƒ    ksñJ ‚t tƒ d	¡ddt ttdt  ttƒ ƒtttdt  ttƒ ƒ    ksJ ‚t tƒ d
¡ddt ttjgdtj gtd  ƒ ttƒ  ks>J ‚t tƒ d¡dtttjgg dgtddƒgtd ƒ ttƒ  ksaJ ‚t tƒ d¡dttd ƒdt ttd ƒƒ  t  ksJ ‚t tƒ d¡tjttd ƒt  tttjtd ƒ ttjƒ  ks£J ‚t tƒ d¡ttƒttd  ƒ ks¸J ‚tttƒt tƒ ƒtju sÈJ ‚t tƒ ¡ t t tƒtt!tƒ  ƒd t t tƒtt!tƒ  ƒd  t t t tƒtt!tƒ  ƒ t t tƒtt!tƒ  ƒ  d fksJ ‚t tƒjddt t tƒtt!tƒ  ƒd t t tƒtt!tƒ  ƒd  t t t tƒtt!tƒ  ƒ t t tƒtt!tƒ  ƒ  d fksPJ ‚t t"ƒ ¡ t t"ƒdfks_J ‚t t"ƒjddt t"ƒdfkspJ ‚t#t$dd„ ƒ t tƒ %¡ tks‚J ‚d S )NrE   r   rB   FrF   r$   r)   r-   r,   r1   rH   r2   rC   r0   r+   rq   rK   c                   S   rM   rN   )r'   rO   rP   rQ   rQ   rQ   rR   rS   ­   rT   ztest_erfc.<locals>.<lambda>)&r'   r
   r   r   rU   r   rO   r(   rW   rX   r*   r   rY   rZ   r[   r\   r$   r)   r,   r   r   r-   r1   r]   r2   r	   r+   r^   r:   r   r   r_   r   r   r=   r<   r9   r`   rQ   rQ   rQ   rR   Ú	test_erfc}   sV   &*ÿ*ÿFF<H* 
6:ÿ
ÿ6:ÿ
ÿ"rt   c                   C   sÊ   t tƒ tdd¡ddt ttƒ  dtd  d ttƒ  td d ttƒ  ttd ƒ ks1J ‚t tƒ tt¡ddtd   ddtd    dt  ttd ttfƒ ttd  ƒ ttƒ kscJ ‚d S )	Nr   rb   rB   rE   rH   rc   rd   re   )r'   rO   ri   r   r   r7   r   r   rQ   rQ   rQ   rR   Útest_erfc_series²   s   "ÿÿ

ÿNÿru   c                   C   rk   )Nrl   gÊ‹é•ô(s?rm   )rn   r'   r   rQ   rQ   rQ   rR   Útest_erfc_evalfº   rp   rv   c                	   C   s¦  t tƒtu sJ ‚t tƒtju sJ ‚t t ƒtju sJ ‚t dƒtju s$J ‚t tt ƒtks.J ‚t t t ƒt ks:J ‚t t ƒt tƒ ksFJ ‚t tt	tƒ ƒtt ksTJ ‚t tt
tƒ ƒtdt  ksdJ ‚t ttdtƒ ƒtt kssJ ‚t ttdtdd ƒtt ks„J ‚t tƒjdu sJ ‚t dddjs–J ‚t dddjsŸJ ‚tt tƒƒt ttƒƒks­J ‚t tƒ t¡dt ttƒ ks¾J ‚t tt ƒ t¡dt t ttƒ ksÓJ ‚t tt ƒt tƒ  t¡tksäJ ‚t dt ƒ t¡t dt ƒksõJ ‚t tƒ d¡t ttt ƒ ksJ ‚t tƒ d¡tttt ƒ t ksJ ‚t tƒ d¡dt ttdt  ttƒ ƒtttdt  ttƒ ƒ   ksDJ ‚t tƒ d	¡dt ttdt  ttƒ ƒtttdt  ttƒ ƒ   kslJ ‚t tƒ d
¡dt ttjgdtj gtd ƒ ttƒ ksŒJ ‚t tƒ d¡tttjgg dgtddƒgtd  ƒ ttƒ ks®J ‚t tƒ d¡ttd  ƒt ttjtd  ƒttjƒ tj  ksÒJ ‚t tƒ d¡ttd  ƒt tt tjtd  ƒ ttjƒ  ksõJ ‚t tƒ d¡t t!tt ƒ t"td ƒ d  ksJ ‚t#t tt ƒƒtttƒ ks"J ‚t tƒ $¡ t t%tƒtt&tƒ  ƒd t t%tƒtt&tƒ  ƒd  t t t%tƒtt&tƒ  ƒ t t%tƒtt&tƒ  ƒ  d fkseJ ‚t tƒj$ddt t%tƒtt&tƒ  ƒd t t%tƒtt&tƒ  ƒd  t t t%tƒtt&tƒ  ƒ t t%tƒtt&tƒ  ƒ  d fksªJ ‚t t'ƒ $¡ t t'ƒdfks¹J ‚t t'ƒj$ddt t'ƒdfksÊJ ‚t(t)dd„ ƒ d S )Nr   rB   FrF   rE   r$   r'   r-   r,   r1   rH   r2   rC   r0   r+   rq   rK   c                   S   rM   rN   )r)   rO   rP   rQ   rQ   rQ   rR   rS   ó   rT   ztest_erfi.<locals>.<lambda>)*r)   r
   r   r   ÚInfinityÚNegativeInfinityrU   r   rO   r*   r(   r&   rW   rX   r   rY   rZ   r   r   rV   r\   r$   r'   r,   r-   r1   r]   r2   r	   r0   r^   r[   r+   r:   r   r   r_   r   r   r=   r<   r9   rQ   rQ   rQ   rR   Ú	test_erfi¾   sh    ""*""&((ÿ(ÿ@D"ÿÿÿF8"
6:ÿ
ÿ6:ÿ
ÿ"ry   c                   C   sÈ   t tƒ tdd¡dt ttƒ dtd  d ttƒ  td d ttƒ  ttd ƒ ks/J ‚t tƒ tt¡ddtd   ddtd    dt  ttd ttfƒ ttd ƒ ttƒ t ksbJ ‚d S )	Nr   rb   rE   rH   rc   rd   rB   re   )	r)   rO   ri   r   r   r7   r   r   r   rQ   rQ   rQ   rR   Útest_erfi_seriesö   s   ÿÿ

ÿPÿrz   c                   C   rk   )Nrl   gÕMä–2@ç‚vIhÂ%<=)rn   r)   r   rQ   rQ   rQ   rR   Útest_erfi_evalfþ   rp   r|   c                  C   sr  t ddƒtju s
J ‚t ttƒtju sJ ‚t tdƒtu sJ ‚t t tƒttƒd ks+J ‚t ttƒttƒd ks8J ‚t ttƒdttƒ ksEJ ‚t tt ƒdttƒ ksSJ ‚t ttttƒƒtks_J ‚t t t ƒt ttƒ ksnJ ‚t t tƒttƒttƒ ks~J ‚t tt ƒttƒ ttƒ ksJ ‚t ttƒ 	d¡ttƒ 	t
¡ttƒ 	t
¡ ks§J ‚t ttƒ 	d¡ttƒ 	t¡ttƒ 	t¡ ks¿J ‚t ttƒ 	d¡ttƒ 	t¡ttƒ 	t¡ ks×J ‚t ttƒ 	d¡ttƒ 	t¡ttƒ 	t¡ ksïJ ‚t ttƒ 	d¡ttƒ 	t¡ttƒ 	t¡ ksJ ‚t ttƒ 	d	¡ttƒ 	t¡ttƒ 	t¡ ks!J ‚t tdƒjd
u s,J ‚t ddd
djs7J ‚t ddd
djsBJ ‚t ttd
djsMJ ‚t ttƒjd u sXJ ‚tttƒt ttƒ ƒttƒksjJ ‚tt ttƒƒt ttƒttƒƒks}J ‚t ttƒ 	d¡ttƒttƒ ksJ ‚t ttƒ 	d¡ttƒttƒ ks£J ‚t ttƒ 	d¡tttt ƒttt ƒ  ks¼J ‚t ttƒ t¡t ttƒ d¡ksÏJ ‚t ttƒ t¡t ttƒ d¡ksâJ ‚t ttƒ t¡dttd  ƒ ttƒ ksúJ ‚t ttƒ t¡dttd  ƒ ttƒ ksJ ‚ttdd„ ƒ t ttƒjd u s$J ‚tddd\} }t | |ƒjdu s7J ‚d S )Nr   rB   rC   r-   r,   r1   r2   r0   r+   FrF   r$   r'   r)   rE   rD   c                   S   ó   t ttƒ d¡S ©NrH   )r%   rO   rV   rP   rQ   rQ   rQ   rR   rS   *  ó    ztest_erf2.<locals>.<lambda>zxr yrT)Úextended_real) r%   r   rU   rO   r
   r   rV   r$   r&   r\   r-   r,   r1   r2   r0   r+   r   rW   rX   r   r   r'   r)   r   rP   r   r   r   r<   r9   Úis_extended_realr   )ÚxrÚyrrQ   rQ   rR   Ú	test_erf2  sF    "000022$&&&2&&00r„   c                   C   sä   t dƒtju s	J ‚t dƒtju sJ ‚t tƒtju sJ ‚t dƒtju s$J ‚t ttƒƒtks.J ‚t tt ƒƒt ks:J ‚t t	ƒ 
¡ ttƒtt t	ƒd ƒ d ksPJ ‚ttdd„ ƒ t tƒ d¡tdt ƒksfJ ‚t tƒ ¡ tkspJ ‚d S )Nr   rB   rC   rE   c                   S   rM   rN   )r*   rO   rP   rQ   rQ   rQ   rR   rS   ;  rT   ztest_erfinv.<locals>.<lambda>r(   )r*   r   rU   rw   r
   ÚNaNrx   r$   r=   rO   r   r   r   r   r<   r9   rY   r\   r(   r`   rQ   rQ   rQ   rR   Útest_erfinv1  s   ,r†   c                   C   rk   )Ngš™™™™™É?gP	r7,îÆ?r{   )rn   r*   r   rQ   rQ   rQ   rR   Útest_erfinv_evalfA  rp   r‡   c                   C   s¨   t dƒtju s	J ‚t dƒtju sJ ‚t tƒtju sJ ‚t tƒ ¡ tt	ƒ t
t tƒd ƒ d ks2J ‚ttdd„ ƒ t tƒ d¡tdt ƒksHJ ‚t tƒ ¡ tksRJ ‚d S )NrB   r   rE   c                   S   rM   rN   )r(   rO   rP   rQ   rQ   rQ   rR   rS   K  rT   ztest_erfcinv.<locals>.<lambda>r*   )r(   r   rU   rw   r
   r…   rO   r   r   r   r   r<   r9   rY   r\   r*   r`   r'   rQ   rQ   rQ   rR   Útest_erfcinvE  s   .rˆ   c                   C   s*  t ddƒtju s
J ‚t ddƒtju sJ ‚t ddƒtju sJ ‚t dtƒttƒks)J ‚t ttƒtt ƒks5J ‚t t	dƒt	ks>J ‚t t	tƒtt	ƒksIJ ‚t t
dƒt
u sRJ ‚t dt
ƒt
u s[J ‚t t	tƒ t	¡tt	d  t t	tƒd  ƒkssJ ‚t t	tƒ t¡ttƒtt t	tƒd ƒ d ksŒJ ‚ttdd„ ƒ d S )Nr   rB   rE   c                   S   r}   r~   )r&   rO   rV   rP   rQ   rQ   rQ   rR   rS   ^  r   ztest_erf2inv.<locals>.<lambda>)r&   r   rU   rw   r[   rV   r*   r   r(   rO   r
   r   r   r   r   r<   r9   rQ   rQ   rQ   rR   Útest_erf2invQ  s   02r‰   c           	      C   sV   ddl m}m} i }| jD ]}||kr|ƒ ||< q||ko*||  |¡| |¡||dS )Nr   )Úverify_numericallyÚrandom_complex_number)Úd)Úsympy.core.randomrŠ   r‹   Úfree_symbolsÚsubs)	Úexpr1Úexpr2Úexpr3rO   rŒ   rŠ   r‹   r   ÚarQ   rQ   rR   Úmytne  s   

€ÿr”   c                 C   sP   ddl m}m} i }| jD ]}||kr|ƒ ||< q|  |¡|ko'||  |¡|ƒS )Nr   )Útest_derivative_numericallyr‹   )r   r•   r‹   rŽ   r   r   )r   r‘   rO   r•   r‹   r   r“   rQ   rQ   rR   Úmytdo  s   

€r–   Nc                    s’   ddl m} ‡ ‡fdd„}|ddƒ}||ttt ƒ ƒ||tt t ƒ ƒ }d}|| |t  ƒ|| |t  ƒ }t| ¡ | ¡  ƒ ¡ dk S )	Nr   ©Úuniformc                    s   ˆd u rˆ | ƒS ˆ ˆ| ƒS ©NrQ   )rO   ©ÚfuncÚsrQ   rR   Úfn|  s   
ztn_branch.<locals>.fnrB   rc   çVçž¯Ò<ç»½×Ùß|Û=)r   r˜   r   r   r   rn   r@   )r›   rœ   r˜   r   ÚcÚexprÚepsr‘   rQ   rš   rR   Ú	tn_branchy  s   
*$r£   c                   C   s†  t dƒtju s	J ‚t tƒtju sJ ‚t t ƒtju sJ ‚tt ƒs"J ‚tt tƒt	tƒt tƒs0J ‚t
t tƒt tƒ t¡tdttdƒ ƒ tt  tƒsLJ ‚t
t tƒt tƒ t¡tdttdƒ ƒ tt  tƒshJ ‚t tƒ t¡ t ¡t tƒksxJ ‚t ttdt t ƒ ƒt tƒdt t  ksJ ‚t ttdt t ƒ ƒt tƒdt t  ks¨J ‚t
t tƒt tƒ t¡ttƒttƒ tƒs¾J ‚t
t tttƒ ƒt tttƒ ƒ t¡ttƒtttƒ  tt d  tƒsäJ ‚t ttƒƒ t¡ttƒksóJ ‚t dttƒ ƒ t¡ttd ƒksJ ‚tt tt	t ƒ ƒt	t ƒ t ttƒdks J ‚t tƒ t¡tttƒ t td d  td d  td d	  td
 d  ttd ƒ ksPJ ‚t tƒ tdd¡t dƒttd   ttd d tdfƒ ksqJ ‚t tƒ tt¡dtd
  dtd   dtd   dtd   dt  d ttd ttfƒ t	tƒ t ks©J ‚tt tdƒƒjddƒdksºJ ‚t t!dd„ ƒ d S )Nr   rC   rB   rE   rD   rd   rH   é   é`   rc   éX  rJ   éx   é   re   é
   rg   z-0.6760647401c                   S   rM   rN   )r    rO   rP   rQ   rQ   rQ   rR   rS   ¦  rT   ztest_ei.<locals>.<lambda>)"r    r   rx   r   rw   rU   r£   r–   rO   r   r”   r\   r0   r   r   r   r+   r   r"   r   r#   r   r   r.   r5   ri   r   r7   r   Ústrr   Úevalfr<   r9   rQ   rQ   rQ   rR   Útest_ei‡  sH   ÿÿ 00,$ ÿ(2&
ÿ
ÿ
ÿ
ÿBX
ÿ"r¬   c               
   C   sæ  t tttƒtttƒ t¡ttd  tdt tƒ tƒsJ ‚ttttƒttd   tg ddgdddt gg tƒ tƒs<J ‚ttttƒttd tƒ tƒsMJ ‚t tdtƒtdtƒ t¡ttt	dƒ ƒ t
t  tƒsjJ ‚tdtƒtt ƒt dtt ƒ td   dtt ƒ td   d	tt ƒ td   d	tt ƒ td
   ks¤J ‚ttddƒtƒtt ƒt dtt ƒ dtd    dttƒ tttƒƒ dttdƒ    ksÖJ ‚ttdƒsÝJ ‚ttdƒsäJ ‚ttdƒsëJ ‚ttdƒsòJ ‚tttƒsùJ ‚ttttdt
 t ƒ ƒttd  tdt
 t t ƒd  tt d ƒ tttƒ ks'J ‚ttttdt
 t ƒ ƒttd  tdt
 t t ƒd  tt d ƒ tttƒ ksUJ ‚tdttdt
 t ƒ ƒdt
 t t tdtƒ ksrJ ‚tdttdt
 t ƒ ƒdt
 t t tdtƒ ksJ ‚tdtƒ t¡ t¡tdtƒks¢J ‚tttƒ t¡tttƒks²J ‚tttƒ t¡tttƒksÂJ ‚t ttƒttƒ t¡ttƒttƒ tƒsÙJ ‚t tt	t
ƒt ƒtt	t
ƒt ƒ t¡ttƒ t
ttƒ  t
t d  tƒsJ ‚t tdtƒtdtƒ t¡ t¡t ttƒ tt ƒ tƒs!J ‚t tdtƒtdtƒ t¡ t¡td ttƒ d dt tt ƒ d  tƒsJJ ‚ttddƒtƒ t¡ddt  td d  td d  td d  td
 d  dttƒ ttƒ  ttd ƒ ks†J ‚ttƒ t¡t ttƒ t td d  td d  td d  td
 d  ttd ƒ ks·J ‚tdtƒ t¡tddƒtd  td d  td ttƒd tddƒ td  t
t d    td d	  td
 d  ttd ƒ ksüJ ‚tttƒjtt ddttd  td  tt  d ttd tt fƒ tt ƒ t ks*J ‚tttƒ tdd¡tt ƒt ttddtƒ t  ttd ƒ ksNJ ‚t!t"dd„ ƒ t#ddd } t| ƒ t¡t| ƒt| ƒ t
t  ksqJ ‚d S )!NrB   r   rC   rI   rd   rE   é   rH   r¨   rc   rh   z5/2g333333û?rD   é   éT   i  rJ   r¤   r¥   r¦   é   é$   éð   rg   )rQ   ©rB   rB   ))r   r   rB   rQ   c                   S   r}   r~   )r+   rO   rV   rP   rQ   rQ   rQ   rR   rS   à  r   ztest_expint.<locals>.<lambda>ÚnegT©Únegative)$r”   r+   rO   rV   r\   r0   r–   r2   r    r   r   r   r   r	   r   r'   r   r£   r   r/   r   r   r"   r   r#   rY   Únseriesr7   ri   r   r   r@   r   r<   r9   r   )r´   rQ   rQ   rR   Útest_expint©  s¨   ÿ4ÿ"ÿ@ÿ
ÿNÿ:
ÿ:
ÿ::&  .$"
ÿ
ÿ*
ÿ:ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ*0ÿ
ÿ
þ
þ>
ÿ$ÿÿ
ÿ0r¸   c                   C   sÂ  t tƒ t¡t tƒ dt  ksJ ‚t dt ƒ t¡ttd  dtd   dtd   dtd   ttd ƒ ks;J ‚ttƒ d¡ttƒt tƒ ksLJ ‚ttƒ d¡tt t	tƒƒ ks]J ‚t tƒ d	¡tt ƒttƒ ksoJ ‚t
ttƒ d¡ t¡ d	¡ƒttƒ t¡ks‡J ‚t
ttƒ d¡ t¡ d	¡ƒttƒ t¡ksŸJ ‚t tƒjtdd
tt	tƒ tt	tƒ t d   td t	tƒd tddƒ td    ttd t	tƒ ƒ ksØJ ‚ttdd„ ƒ d S )NrB   rE   rH   rJ   rd   r¨   rc   rq   rr   rg   c                   S   rM   rN   )r;   rY   rP   rQ   rQ   rQ   rR   rS   ú  rT   ztest__eis.<locals>.<lambda>)r;   rY   r   ri   r7   r    r\   r   r.   r   r   r   r	   r<   r9   rQ   rQ   rQ   rR   Ú	test__eisæ  s.   $:ÿ""$ÿÿ$ÿÿ$ÿ
þr¹   c                    sl   ‡ fdd„}|t tt d ƒtdƒo5|t t t d ƒt dƒo5|t tt ƒdtƒo5|t t t ƒdt ƒS )Nc                    sZ   ddl m} |ddƒ}ˆ | t ƒ t|¡ ¡ }ˆ || |d  ƒ ¡ }t|| ƒ ¡ dk S )Nr   r—   rB   rc   rž   rŸ   )r   r˜   rO   r   r@   rn   )ÚargÚe1Úe2r˜   ÚvÚv1Úv2©r›   rQ   rR   Útestþ  s
   
ztn_arg.<locals>.testrE   rB   rC   )r   r   r   )r›   rÁ   rQ   rÀ   rR   Útn_argý  s   ÿþýrÂ   c                     sb  t dƒ‰ t ddd} t ddd}t ddd}tdƒtju sJ ‚tdƒt u s(J ‚ttƒtu s0J ‚ttˆ ƒtƒs9J ‚tt| ƒsAJ ‚tt|ƒsHJ ‚ttˆ ƒˆ ƒdtˆ ƒ ksWJ ‚t	tˆ ƒƒtt	ˆ ƒƒkseJ ‚t	t|  ƒƒt|  ƒkssJ ‚tt	t| ƒƒs}J ‚tt	t|ƒƒs†J ‚tˆ ƒ 
t¡tˆ ƒtdƒ ks—J ‚tˆ ƒ 
t¡ttˆ ƒƒks¦J ‚tˆ ƒ 
t¡tdtˆ ƒ ƒ d ttˆ ƒ ƒ ttˆ ƒƒd  tdtˆ ƒ ƒ ksÑJ ‚tˆ ƒ 
t¡tttˆ ƒ ƒ tdtˆ ƒ ƒd  ttˆ ƒƒd  tttˆ ƒ ƒ ttˆ ƒƒ ksJ ‚tˆ ƒ 
t¡tttˆ ƒ ƒ tdtˆ ƒ ƒd  ttˆ ƒƒd  tttˆ ƒ ƒ ttˆ ƒƒ ks7J ‚tˆ ƒ 
t¡tdtˆ ƒ ƒ d ttˆ ƒƒd  ttˆ ƒƒ ttˆ ƒƒ ks`J ‚tˆ ƒ 
t¡tdtˆ ƒ ƒ d ttˆ ƒƒd  ttˆ ƒƒ ttˆ ƒƒ ks‰J ‚tˆ ƒ 
t¡tˆ ƒtd	d
tˆ ƒƒ tdtˆ ƒ ƒd  ttˆ ƒƒd  t ks³J ‚tˆ ƒ 
t¡tdtˆ ƒ ƒ d ttˆ ƒ ƒ ttˆ ƒƒd  tddtˆ ƒ ƒ ksàJ ‚tdtˆ ƒ ˆ tƒtju sðJ ‚tˆ ƒ ˆ ¡tˆ ƒd d tˆ ƒd d  tˆ ƒd d  tˆ ƒd d  tˆ ƒ ttˆ ƒƒ t ks&J ‚tt‡ fdd„ƒ d S )NrY   Tr>   )Úpositiverµ   r   rB   rE   r³   )rE   rE   ©rQ   )rB   ))r   r   rQ   rc   r¦   rd   r¥   rH   r¤   c                      s   t ˆ ƒ d¡S rN   )r.   rP   rQ   ©rY   rQ   rR   rS   3  rT   ztest_li.<locals>.<lambda>)r   r.   r   rU   r   Ú
isinstancer8   r   r   r   r\   r!   r    r0   r+   r#   r   r   r"   r   r1   r   r2   r5   ri   r<   r9   )ÚzrÚzpÚznrQ   rÅ   rR   Útest_li
  s‚   ".ÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿ0
ÿ
ÿ0
ÿ
ÿ"ÿÿÿ>ÿ Jÿ
ÿÿrÊ   c                   C   s  t dƒtju s	J ‚t tƒtu sJ ‚tt tƒt ƒsJ ‚tt tƒtƒdttƒ ks)J ‚tdt tƒ ttƒtju s8J ‚t tƒ 	t
¡t
tƒt
dƒ ksIJ ‚t tƒ t¡ttƒd d ttƒd d  ttƒd d  ttƒd d  ttƒ tttƒƒ t
dƒ t ks‚J ‚ttd	d
„ ƒ d S )NrE   rB   rc   r¦   rd   r¥   rH   r¤   c                   S   rM   rN   )r!   rY   rP   rQ   rQ   rQ   rR   rS   B  rT   ztest_Li.<locals>.<lambda>)r!   r   rU   r   rÆ   rY   r   r   r5   r\   r.   ri   r   r<   r9   rQ   rQ   rQ   rR   Útest_Li6  s   "^ÿrË   c                  C   s’  t tt ƒtttƒ ksJ ‚ttt ƒtt tƒ ksJ ‚t t t ƒt ttƒ ks,J ‚tt t ƒt t tƒ ks<J ‚t t ƒt tƒ ksHJ ‚tt ƒttƒ ksTJ ‚t tdt t ƒt ƒt tƒksfJ ‚t tdt t ƒt ƒt tƒksxJ ‚ttdt t ƒt ƒttƒksŠJ ‚ttdt t ƒt ƒttƒksœJ ‚t tƒtd ks¦J ‚t t ƒt d ks²J ‚ttƒtu sºJ ‚tt ƒt u sÄJ ‚tt tƒttƒt tƒsÒJ ‚tttƒt	tƒt tƒsàJ ‚t
t tƒt tƒ t¡t tttt t d ƒ ƒ d ttttt d ƒ ƒd  tt   td  tƒsJ ‚t
t tƒt tƒ t¡t tdttt t d ƒ ƒ d tdtttt d ƒ ƒd   td  tƒsNJ ‚t
ttƒttƒ t¡ttƒd ttttt ƒ ƒd  tt d  tƒsuJ ‚t
ttƒttƒ t¡tdtƒd tdtttt ƒ ƒd  tt d  tƒsžJ ‚tt ƒs¥J ‚ttƒs¬J ‚t tƒjtddttd d  td d	  td
 d  ttd ƒ ksÒJ ‚ttƒjtddttd d  td d	  td
 d  ttd ƒ ksøJ ‚t ttƒƒjtddtdtd  d  dtd  d  ttd ƒ ksJ ‚t tƒjtdddt dƒtd tdƒ  td d tdƒ d tdƒd    ttd d tdfƒ ksUJ ‚t tƒ tt¡td dtd  dt  ttd ttfƒ ttƒ t  dtd  dtd   d ttd ttfƒ ttƒ t  ksšJ ‚tddd} t tƒ t¡tt| ƒ| dtfƒks´J ‚tttƒttjƒt t d ksÇJ ‚d S )NrE   rD   rB   rf   rg   rH   r¤   rc   r¦   rb   iÐ‰  é	   é   iÂ  rJ   re   éùÿÿÿr¨   rd   ÚtT)ÚDummyr   )r#   r   rO   r"   r   r   r   r–   r   r   r”   r\   r    r+   rÂ   r·   r7   r   ri   r   r   r3   r6   r   rx   )rÏ   rQ   rQ   rR   Útest_siE  sŒ     $$$$"ÿÿÿ
þ$ÿÿ
þ0
ÿ4
ÿ2
ÿ2
ÿLR
ÿ&ÿÿÿÿÿÿÿ(*rÑ   c               	   C   s\  t tt ƒ} t t t ƒ}t tt d ƒ}t t t d ƒ}t| t ƒttƒtt  ks.J ‚t|t ƒttƒtt  ks>J ‚t|t ƒttƒtt d  ksPJ ‚t|t ƒttƒtt d  ksbJ ‚t| t ƒttƒtt  ksrJ ‚t|t ƒttƒtt  ks‚J ‚t|t ƒttƒtt d  ks”J ‚t|t ƒttƒtt d  ks¦J ‚tt dt t ƒt ƒttƒdt t  ks¾J ‚tt dt t ƒt ƒttƒdt t  ksÖJ ‚tt dt t ƒt ƒttƒdt t  ksîJ ‚tt dt t ƒt ƒttƒdt t  ksJ ‚ttƒtju sJ ‚tt ƒtt ksJ ‚ttƒtu s&J ‚tt ƒtu s0J ‚t	ttƒt
tƒt tƒs?J ‚t	ttƒttƒt tƒsNJ ‚tttƒttƒ t¡ttt t t d ƒ ƒd ttt tt d ƒ ƒd  tƒszJ ‚tttƒttƒ t¡ttƒd ttt tt ƒ ƒd  tt d  tƒs¡J ‚ttƒs¨J ‚ttƒs¯J ‚ttƒjtddtttƒ td d  td d  ttd ƒ ksÓJ ‚ttƒjtddtttƒ td d  td d  ttd ƒ ks÷J ‚ttƒ tt¡t
tƒ dtd  d	t  ttd
 ttfƒ  t dtd  dtd   d	 ttd
 ttfƒ ttƒ t  ks9J ‚tttƒtdt ƒ tdƒtdƒ t ksQJ ‚ttƒ t¡td	tt t t d ƒ ƒ d td	tt tt d ƒ ƒd  ks{J ‚ttƒ t¡td	tt t t d ƒ ƒ d td	tt tt d ƒ ƒd  ks¥J ‚ttdd„ ƒ d S )NrE   rD   rd   rg   r¥   rc   re   rH   rB   rÎ   r¨   r   c                   S   rM   rN   )r   rO   rP   rQ   rQ   rQ   rR   rS   ©  rT   ztest_ci.<locals>.<lambda>)r   r   r   r   rO   r   r   r   rU   r–   r   r   r”   r\   r    rÂ   r·   r   r   r7   ri   r   r6   r0   r+   r<   r9   )Úm1Úm1_ÚpIÚmIrQ   rQ   rR   Útest_ciy  sr     $$  $$0002:
ÿ0
ÿ.
ÿ.
ÿ(ÿÿÿÿÿÿ0,ÿ,ÿrÖ   c               	   C   sf
  t dƒtju s	J ‚t tƒtju sJ ‚t t ƒtddƒksJ ‚t tt ƒt tj ks,J ‚tt tƒs3J ‚t t ƒt tƒ ks?J ‚t tt ƒt t tƒ ksNJ ‚t t t ƒtt tƒ ks]J ‚t	t tƒƒt t	tƒƒkskJ ‚t tƒ 
t¡tttd  d ƒks~J ‚t tƒ t¡tjt d ttjt d ttƒ t ƒtttjt d ttƒ t ƒ   ks®J ‚t tƒ t¡ttd  d ttddƒgtddƒtddƒgtd  td  d ƒ ksÚJ ‚t tƒjtd	d
ttd  d td td  d  td td  d  ttd	 ƒ ksJ ‚t tƒjdu sJ ‚t tƒjdu sJ ‚t tƒjd u s&J ‚t tƒjd u s0J ‚t tƒ ¡ t ttƒtttƒ  ƒd t ttƒtttƒ  ƒd  t t ttƒtttƒ  ƒ t ttƒtttƒ  ƒ  d fkssJ ‚t tƒjddt ttƒtttƒ  ƒd t ttƒtttƒ  ƒd  t t ttƒtttƒ  ƒ t ttƒtttƒ  ƒ  d fks¸J ‚t tƒ ¡ t tƒdfksÇJ ‚t tƒjddt tƒdfksØJ ‚t ddt  ƒ ¡ t ddt  ƒd t ddt  ƒd  t t ddt  ƒt ddt  ƒ  d fksJ ‚ttt tƒtƒƒtt tƒ tttd  d ƒt  ks,J ‚t tƒ t¡tdƒt ttddƒ  tdtddƒftddƒdfftd  td  d ƒ dt tddƒ  td tddƒ   kspJ ‚tdƒtju szJ ‚ttƒtjks„J ‚tt ƒtddƒks‘J ‚ttt ƒttj ksŸJ ‚tttƒs§J ‚tt ƒttƒ ks´J ‚ttt ƒtttƒ ksÃJ ‚tt t ƒt ttƒ ksÔJ ‚t	ttƒƒtt	tƒƒksãJ ‚ttƒ 
t¡tttd  d ƒks÷J ‚ttƒ t¡tjt d ttjt d ttƒ t ƒtttjt d ttƒ t ƒ   ks(J ‚ttƒ t¡tttddƒgtjtddƒgtd  td  d ƒ ksMJ ‚ttƒjdu sWJ ‚ttƒ ¡ tttƒtttƒ  ƒd tttƒtttƒ  ƒd  t tttƒtttƒ  ƒ tttƒtttƒ  ƒ  d fksšJ ‚ttƒjddtttƒtttƒ  ƒd tttƒtttƒ  ƒd  t tttƒtttƒ  ƒ tttƒtttƒ  ƒ  d fksßJ ‚tddt  ƒ ¡ tddt  ƒd tddt  ƒd  t tddt  ƒtddt  ƒ  d fksJ ‚ttttƒtƒƒtttƒ tttd  d ƒt  ks3J ‚ttƒ t¡tdƒt ttddƒ  tdtddƒftddƒdfftd  td  d ƒ dt tddƒ  td tddƒ   kswJ ‚ddlm }  | tt tƒƒt tƒ ¡ d tƒ | tt tƒƒt tƒ ¡ d tƒ | t tƒt tƒ t¡tƒ | t tƒt tƒ t¡tƒ | tttƒƒttƒ ¡ d tƒ | tttƒƒttƒ ¡ d tƒ | ttƒttƒ t¡tƒ | ttƒttƒ t¡tƒ t!t"dd„ ƒ t!t"dd„ ƒ t t#ƒ $dt#¡tju sJ ‚tt#ƒ $dt#¡tju sJ ‚tt#ƒ $dt#¡td  t#d  d ks1J ‚d S )Nr   rC   rE   rd   rH   rJ   rb   é   r®   rg   iP  rc   r°   i ¥  TFrK   rÌ   rÄ   rB   ©rŠ   c                   S   rM   rN   )r-   rY   rP   rQ   rQ   rQ   rR   rS     rT   ztest_fresnel.<locals>.<lambda>c                   S   rM   rN   )r,   rY   rP   rQ   rQ   rQ   rR   rS     rT   é(   )%r-   r   rU   r   r]   r	   r   r8   rY   r   r   r   r   r\   r$   r[   r   r1   ri   r7   r=   r   Ú	is_finiter_   r   r   r   r4   r   r2   r,   r   rŠ   r<   r9   rO   Útaylor_termrØ   rQ   rQ   rR   Útest_fresnel¬  sØ   &>
ÿDÿB
ÿ$ÿ:þ(ÿ:þ"&(þ"
ÿ$ÿÿÿ$þ"(>ÿ4
ÿ
6:ÿ
ÿ6:ÿ
ÿ&(þ"
ÿ$ÿÿÿ$þ    0rÜ   c                  C   s”  t tƒjtddttd td  d  td td  d  td	 td
  d  ttd ƒ ks1J ‚tjtttd  d ƒtd td    dtt  dtd td    tttd  d ƒ  } tjtttd  d ƒtd td    dtt  dtd td    tttd  d ƒ  }t	tƒ tt
¡| ttd tt
fƒ ks¤J ‚t tƒ tt
¡|ttd tt
fƒ ks¹J ‚t	tƒ tt
 ¡|  tt ¡  ¡ jsÎJ ‚t tƒ tt
 ¡| tt ¡  ¡ jsãJ ‚t	dt ƒ t¡|  tdt ¡  ¡ jsùJ ‚t dt ƒ t¡| tdt ¡  ¡ jsJ ‚dt	dt ƒ  tt
¡d|  tdt ¡   ¡ js,J ‚dt dt ƒ  tt
¡d| tdt ¡   ¡ jsHJ ‚d S )Nr®   rg   rE   rc   rÙ   rd   rÌ   i€  rJ   é   i $	 rH   rC   rB   re   )r,   rY   ri   r   r7   r   r]   r   r   r-   r   r   r   Úis_Order)ÚfsÚfcrQ   rQ   rR   Útest_fresnel_series  s"   Jÿ(2ÿ(2ÿ****,.8<rá   )r   r™   )oÚsympy.core.functionr   r   r   Ú
sympy.corer   Úsympy.core.numbersr   r   r   r	   r
   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Ú$sympy.functions.elementary.complexesr   r   r   r   Ú&sympy.functions.elementary.exponentialr   r   r   Ú%sympy.functions.elementary.hyperbolicr   r   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   r   r   Ú'sympy.functions.special.error_functionsr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   Ú'sympy.functions.special.gamma_functionsr/   r0   Úsympy.functions.special.hyperr1   r2   Úsympy.integrals.integralsr3   r4   Úsympy.series.gruntzr5   Úsympy.series.limitsr6   Úsympy.series.orderr7   Úsympy.core.exprr8   r9   r:   r;   Úsympy.testing.pytestr<   rO   rV   rY   r=   r@   ra   rj   ro   rs   rt   ru   rv   ry   rz   r|   r„   r†   r‡   rˆ   r‰   r”   r–   r£   r¬   r¸   r¹   rÂ   rÊ   rË   rÑ   rÖ   rÜ   rá   rQ   rQ   rQ   rR   Ú<module>   sh    $PE58/



"=,43s