a
    {þd…  ã                   @   s˜  d dl 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 d dlmZmZ d dl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 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+ d dl,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl m7Z7m8Z8m9Z9m:Z:m;Z; d dl<m=Z>m?Z@mAZBmCZC d dlDmEZE d dlFmGZGmHZH d dlImJZJmKZKmLZLmMZM eCƒ ZNdd„ ZOdd„ ZPdd„ ZQdd„ ZRdd „ ZSd!d"„ ZTd#d$„ ZUd%d&„ ZVd'd(„ ZWd)d*„ ZXd+d,„ ZYd-d.„ ZZd/d0„ Z[eHd1d2„ ƒZ\d3d4„ Z]d5d6„ Z^d7d8„ Z_d9d:„ Z`d;d<„ ZadYd>d?„Zbd@dA„ ZcdBdC„ ZddDdE„ ZedFdG„ ZfdHdI„ ZgdJdK„ ZhdLdM„ ZidNdO„ ZjdPdQ„ ZkdRdS„ ZldTdU„ ZmdVdW„ ZndXS )Zé    )Úproduct)ÚSum)ÚdiffÚexpand_func)ÚIÚRationalÚooÚpi)ÚS)ÚSymbolÚsymbols)Ú	conjugateÚ
polar_lift)ÚexpÚ	exp_polarÚlog)ÚcoshÚsinh)Úsqrt)ÚcosÚsin)ÚbesseliÚbesseljÚbesselkÚbesselyÚhankel1Úhankel2Úhn1Úhn2ÚjnÚjn_zerosÚyn)ÚgammaÚ
uppergamma)Úhyper)ÚIntegral)ÚO)Úseries)ÚairyaiÚairybiÚairyaiprimeÚairybiprimeÚmarcumq)Úrandom_complex_numberÚverify_numericallyÚtest_derivative_numericallyÚ_randint)Ú
besselsimp)ÚraisesÚslow)ÚzÚnÚkÚxc                  C   s\   t tttttfD ]} t| tƒ tƒtƒsJ ‚qt	t
ttfD ]} t| tddƒtƒtƒs8J ‚q8d S )Niöÿÿÿé
   )r   r   r   r   r   r   ÚtdÚrandcplxr4   r   r!   r   r   Úrandint©Úf© r>   úr/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/sympy/functions/special/tests/test_bessel.pyÚtest_bessel_rand!   s    r@   c                      sB   t tttttttfD ](‰ tt	‡ fdd„ƒ tt	‡ fdd„ƒ qd S )Nc                      s   ˆ dƒS )Né   r>   r>   r<   r>   r?   Ú<lambda>+   ó    z'test_bessel_twoinputs.<locals>.<lambda>c                      s   ˆ dddƒS )NrA   é   é   r>   r>   r<   r>   r?   rB   ,   rC   )
r   r   r   r   r   r   r   r!   r2   Ú	TypeErrorr>   r>   r<   r?   Útest_bessel_twoinputs)   s    rG   c                   C   s”   t dtƒ t¡dksJ ‚t dttƒƒ t¡td ks8J ‚t ddttƒ ƒ t¡ttƒks\J ‚t ttƒtt   t¡ddt ttd ƒ  ksJ ‚d S ©Nr   rA   rD   )r   r7   Úas_leading_termr   r   r4   r"   r>   r>   r>   r?   Útest_besselj_leading_term/   s     $rJ   c                   C   sŽ   t dtƒ t¡dttƒ dtdƒ  dtj  t ks:J ‚t dttƒƒ t¡dtt  ks^J ‚t ddttƒ ƒ t¡dtttƒ  ksŠJ ‚d S )Nr   rD   rA   éþÿÿÿéÿÿÿÿ)	r   r7   rI   r   r
   Ú
EulerGammar	   r   r   r>   r>   r>   r?   Útest_bessely_leading_term8   s    :$rN   c                   C   s`   t dtƒ t¡dksJ ‚t dttƒƒ t¡td ks8J ‚t ddttƒ ƒ t¡ttƒks\J ‚d S rH   )r   r7   rI   r   r   r>   r>   r>   r?   Útest_besseli_leading_term>   s     rO   c                   C   s|   t dtƒ t¡ttƒ tj tdƒ ks,J ‚t dttƒƒ t¡dt ksLJ ‚t ddttƒ ƒ t¡ddttƒ  ksxJ ‚d S )Nr   rD   rA   )r   r7   rI   r   r
   rM   r   r   r>   r>   r>   r?   Útest_besselk_leading_termD   s    , rP   c                   C   sP  t dtƒ t¡dtd d  td d  ttd ƒ ks<J ‚t dtd ƒ t¡dtd d  td	 d  ttd ƒ ks|J ‚t dtd t ƒ t¡dtd d  td
 d  dtd  d  td d  ttd ƒ ksÜJ ‚t dttƒt ƒjtdddtd  dtd  d  dtd
  d  ttd
dƒ d  ttddƒ d  dttddƒ  d  ttd ƒ kspJ ‚t dtdt  ƒ t¡dtd d  td
 d  dtd  d  dtd  d  ttd ƒ ksÖJ ‚t dtdt ƒƒ t¡dtd d  td
 d  dtd  d  dtd  d  ttd ƒ ks<J ‚t dttƒƒ t¡td dtd
  d  dtd  d  ttd ƒ ksŠJ ‚t ddttƒ ƒ t¡ttƒttd
dƒ d  ttddƒ d  ttddƒ d  ttddƒ d  ttd dƒ d!  ttd ƒ ksJ ‚t d"ttƒƒjtddt dttƒƒjtddksLJ ‚d S )#Nr   rA   rD   é   é@   é   çš™™™™™ñ?çš™™™™™@çš™™™™™@rE   é   é   é   ©r5   é×   é 	  é   é   é€  é/   é)   éÀ   é   é`   é0   éI   é€  é   é   é	   é@  é   é€Q rK   )r   r7   r'   r&   r   r   r   r   r>   r>   r>   r?   Útest_besselj_seriesJ   sZ    <@0ÿ
ÿ
ÿ
4ÿÿÿþ
þ@ÿ
ÿ0ÿÿ
ÿN.ÿÿÿþ
þrn   c                  C   s  dt j t dtdƒ t  dttƒ t  } tdtƒjtdd| td ttƒ dt  ddt j  dt   tdƒdt     ttd ttƒ ƒ ksžJ ‚tdtƒjtdddtt  tttƒt tdƒt  ddt j  dt     td ttƒ dt  t d	ƒd dt j  d
t   tdƒdt     ttd ttƒ ƒ ksRJ ‚tdtƒjtdddttd   dt  td ttƒdt  tdƒdt   t dƒd dt j  dt     ttd ttƒ ƒ ksÞJ ‚tdtƒjtdddttd   dtt   tdt   td ttƒdt  tdƒdt   t dƒd dt j  dt     ttd ttƒ ƒ kszJ ‚tdtd ƒjtdddt j t dtdƒ t  dttƒ t  td dttƒ t ddt j  dt   tdƒdt     ttd ttƒ ƒ ksJ ‚tdtd t ƒjtdd| ddt j  td  dt  td dt     dt t  td ttƒ dt  dt  tdƒdt     td ttƒ t ddt   tdƒt    ttd ttƒ ƒ ksîJ ‚tdtdt  ƒjtdd| dt t  td ttƒ dt  ddt j  dt   tdƒdt   dt    ttd ttƒ ƒ ks|J ‚tdtdt ƒƒjtdd| tt  td ttƒ dt  ddt j  dt   tdƒdt   d	dt     ttd ttƒ ƒ ks
J ‚tdttƒƒjtdddttd  d td    ddt j  td  d td   t  tttƒt tdƒt    td dttƒ dt  ddt   t d	ƒd dt j  d
t   dtdƒ dt     ttd ttƒ ƒ ksøJ ‚tddt	tƒ ƒjtdddtt	tƒ  t	tƒttƒt ddt j  t    tt dƒd  ttƒ dt  t d	ƒd dt j  dt     tt d	ƒd  ttƒdt  t dƒd dt j  dt     ttd ttƒ ƒ ksâJ ‚tdttƒƒjtddtdttƒƒjtddksJ ‚d S )NrD   r   rQ   rZ   rA   rK   rE   é   rX   rY   éüÿÿÿiðÿÿÿé   rl   rS   re   rT   rV   gš™™™™™á¿rh   rL   éùÿÿÿr^   r8   )
r
   rM   r	   r   r7   r   r'   r&   r   r   ©Úconstr>   r>   r?   Útest_bessely_series]   sÐ    .*ÿÿÿ
4ÿÿÿÿþ<ÿÿÿ,
ÿ$ÿÿþ"ÿÿÿÿÿþ>0ÿ,þþÿ

ÿ,ÿÿÿþÿ,ÿ
ÿÿþ2&ÿÿBÿþý($ÿÿÿÿþýru   c                   C   s\  t dtƒ t¡dtd d  td d  ttd ƒ ks<J ‚t dtd ƒ t¡dtd d  td	 d  ttd ƒ ks|J ‚t dtd t ƒ t¡dtd d  td
 d  dtd  d  td d  ttd ƒ ksÜJ ‚t dttƒt ƒjtdddtd  dtd  d  dtd
  d  ttd
ƒd  d  ttdƒd  d  dttdƒd   d  ttd ƒ ksvJ ‚t dtdt  ƒ t¡dtd d  td
 d  dtd  d  dtd  d  ttd ƒ ksÜJ ‚t dtdt ƒƒ t¡dtd d  td
 d  dtd  d  dtd  d  ttd ƒ ksBJ ‚t dttƒƒ t¡td td
 d  dtd  d  ttd ƒ ksŒJ ‚t ddttƒ ƒ t¡ttƒttd
ƒd  d  ttdƒd  d  ttdƒd  d  ttdƒd  d  ttdƒd  d   ttd ƒ ks"J ‚t d!ttƒƒjtddt dttƒƒjtddksXJ ‚d S )"Nr   rA   rD   rQ   rR   rS   rT   rU   rV   rE   rc   rX   rY   rZ   éÙ   r\   é   r^   r_   é1   r`   rb   r]   rd   re   rg   rh   ri   rj   rk   rl   rm   rK   )r   r7   r'   r&   r   r
   r   r   r>   r>   r>   r?   Útest_besseli_series   sN    <@@
ÿ
ÿ
4ÿÿÿÿ
ÿ@ÿ
ÿ@ÿ
ÿJDÿÿÿ
ÿry   c                  C   sÖ  t dƒtj t tƒ } tdtƒjtdd| td t tƒ d tjd  t dƒd  tdƒd    ttd t tƒ ƒ ks~J ‚tdtƒjtdddt tt tƒd t dƒd  tdƒd  tjd    td t tƒd tdƒd	  t dƒd  tjd    ttd t tƒ ƒ ksJ ‚tdtƒjtdddtd  tdƒd  td t tƒ d
 tjd
  t dƒd
  tdƒd    ttd t tƒ ƒ ksšJ ‚tdtd ƒjtddt dƒtj dt tƒ  td dt tƒ tjd  t dƒd  tdƒd    ttd t tƒ ƒ ksJ ‚tdtd t ƒjtdd| ddtj  td d td d
    t td t tƒ d t dƒd  tdƒd    td t tƒ d tdƒd  t dƒd    ttd t tƒ ƒ ksÜJ ‚tdtdt  ƒjtdd| t td t tƒ d tdƒd  tjd  t dƒd    ttd t tƒ ƒ ksRJ ‚tdt dt ƒƒjtdd| td  td t tƒ d tjd  tdƒd  t dƒd    ttd t tƒ ƒ ksÌJ ‚tddttƒ ƒjtddddttƒ  ttƒt tƒd tdƒd  tj   ttdƒd  t tƒd tdƒd
  tjd    ttdƒd  t tƒd tdƒd  tjd    ttd t tƒ ƒ ksœJ ‚tdttƒƒjtddtdttƒƒjtddksÒJ ‚d S )NrD   r   rQ   rZ   rA   rE   rY   rX   rR   ro   é    rT   rV   gš™™™™™Ñ¿r^   rh   rq   é$   rK   )	r   r
   rM   r7   r   r'   r&   r   r   rs   r>   r>   r?   Útest_besselk_series’   sœ    6ÿÿ
0
ÿÿ(ÿÿþ:ÿ
ÿ
ÿÿ"
ÿ
ÿ
ÿÿþ$ÿÿ
ÿ
ÿÿ,þþ2
ÿÿ
ÿÿ$6ÿÿ($ÿ$ÿÿ0þþr|   c                   C   sZ  t ttƒ t¡t td tƒd t td tƒd  ks8J ‚tttƒ t¡ttd tƒd ttd tƒd  kspJ ‚tttƒ t¡ttd tƒd ttd tƒd  ks¨J ‚tttƒ t¡ttd tƒ d ttd tƒd  ksâJ ‚tttƒ t¡ttd tƒd ttd tƒd  ksJ ‚tttƒ t¡ttd tƒd ttd tƒd  ksVJ ‚d S )NrA   rD   )	r   r5   r4   r   r   r   r   r   r   r>   r>   r>   r?   Ú	test_diff«   s    888::r}   c                  C   sØ  t ttƒ t¡tdt t ƒtttj tƒ ks4J ‚t	ttƒ t
¡tdt t ƒt
ttj tƒ kshJ ‚tttƒ t ¡tt t t d ƒt tttƒt ƒ ks¤J ‚t ttƒ t¡ttt t d ƒtttt ƒt ƒ ksàJ ‚tƒ } 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ƒsRJ ‚tt| tƒt| tƒ t	¡tƒsvJ ‚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ƒ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¡ksJJ ‚t| tƒt| tƒ t¡ksjJ ‚t| tƒt| tƒ t¡ksŠJ ‚t| tƒt| tƒ t
¡ksªJ ‚t| tƒt| tƒ t
¡ksÊJ ‚t| tƒt| tƒ t
¡ksêJ ‚| }t t	fD ]F}t|tƒt|tƒ |¡ksJ ‚t|tƒt|tƒ |¡ksöJ ‚qöt|tƒ t ¡tdƒttƒ tdt ƒ t |tj tƒ d ks„J ‚t|tƒ t	¡d|  tdƒ ttƒ tdt ƒ t	| tj tƒ d ksÔJ ‚tddd}tddƒ}||fD ]–}t t	fD ]†}t
|tƒt
|tƒ |¡ks"J ‚t|tƒt|tƒ |¡ksBJ ‚t|tƒt|tƒ |¡ksbJ ‚t|tƒt|tƒ |¡ksþJ ‚qþqòtt
tttftt
t t	fƒD ].\}}t||tƒ||tƒ |¡tƒs¤J ‚q¤d S )	NrD   rA   rL   r5   T©Úintegeréõÿÿÿr8   )r   r5   r4   Úrewriter   r   r	   r
   ÚHalfr   r!   r   r   r   r   r:   Útnr   r   r   r   r;   r   )ÚnuÚorderr=   ÚNÚriÚfuncZrefuncr>   r>   r?   Útest_rewrite´   sT    44&ÿ&ÿ$$$$$$$$$       $FP
   (
ÿr‰   c                  C   sD  t ttjtƒ t¡ƒtdƒttƒ tt	ƒttƒ  ks:J ‚t t
tjtƒ t¡ƒtdƒ ttƒ tt	ƒttƒ  ksvJ ‚tttjtƒƒtdƒttƒ tt	ƒttƒ  ksªJ ‚tttddƒtƒƒtdƒttƒ tt	ƒttƒ  ksâJ ‚tttddƒtƒƒtdƒ td ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ksHJ ‚tttddƒtƒƒtdƒ td ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ks®J ‚tt
tjtƒƒtdƒttƒ  tt	ƒttƒ  ksæJ ‚tt
tddƒtƒƒtdƒttƒ tt	ƒttƒ  ks J ‚tt
tddƒtƒƒtdƒtd ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ks„J ‚tt
tddƒtƒƒtdƒ td ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ksêJ ‚tttjtƒƒtdƒttƒ tt	ƒttƒ  ks J ‚tttddƒtƒƒtdƒttƒ tt	ƒttƒ  ksZJ ‚tttddƒtƒƒtdƒtd ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ks¾J ‚tttddƒtƒƒtdƒtd ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ks"J ‚tttjtƒƒtttddƒtƒƒ  krttt	ƒtt ƒ tdƒttƒ  kszn J ‚tttddƒtƒƒtttddƒtƒƒ  krîtdƒtt	ƒ td dt  d  tt ƒ dttddƒ   ksôn J ‚tdddd} t t| d tƒƒt| tƒd	|  d d	|  t| tƒ t t| d
 tƒ  t  ksXJ ‚t t| d tƒƒt| tƒ d|  d d|  t| tƒ t t| d
 tƒ  t  ks°J ‚t t| d tƒƒt| tƒd|  d d|  t| tƒ t t| d
 tƒ  t  ksJ ‚t t
| d tƒƒt
| tƒ d|  d d|  t
| tƒ t t
| d
 tƒ  t  ks^J ‚t t| tj tƒ t¡ƒtdƒttƒ tt t	 | tj  d ƒ ttt	 d ƒ t| tttt	 d ƒ ƒ tt	ƒ ksÜJ ‚t t| tj tƒ t¡ƒtdƒttƒ t| tƒ tt	ƒ ksJ ‚tddd}tddd}tddd}tt
ttfD ]H}|||ƒjdu shJ ‚||tƒjd u s~J ‚|ttƒjd u sNJ ‚qNttfD ]}|||ƒjdu s J ‚q t
tfD ]}|||ƒjd u sÆJ ‚qÆtt
ttfD ]N}t |ttƒƒ|ttddksJ ‚t |t tƒƒ|t tddksðJ ‚qðd S )NrD   rL   rX   rE   éûÿÿÿr5   T)r   ÚpositiverK   rA   rQ   Úr©ÚrealÚp©r‹   Úir~   F©Úevaluate)r   r   r
   r‚   r4   r   r   r   r   r	   r   r!   r   r1   r   r   r   r   r   r   r   r   r   Úis_extended_realr7   r   )r5   rŒ   r   r‘   Úbesselxr>   r>   r?   Útest_expandï   s¦    ÿ ÿ48Jÿ
Jÿ
 ÿ
:Hÿ
Jÿ
6ÿ
Hÿ
Hÿ
ÿ
 ÿÿ
>þ<ÿ
>ÿ
<ÿ
>ÿ
*ÿÿÿÿ
 ÿ
"r–   c                  C   sš  dd„ } t ddddd}ttttfD ]<}tdtddƒ d ƒd }tt||t	ƒƒ||t	ƒƒs$J ‚q$| t
t|tƒƒt|d tƒd|d  t|d tƒ t  ƒs¢J ‚| t
t| tƒƒt| d tƒd| d  t| d tƒ t  ƒsêJ ‚| t
t|tƒƒt|d tƒ d|d  t|d tƒ t  ƒs.J ‚| t
t| tƒƒt| d tƒ d| d  t| d tƒ t  ƒszJ ‚| t
t|tƒƒt|d tƒd|d  t|d tƒ t  ƒs¼J ‚| t
t| tƒƒt| d tƒd| d  t| d tƒ t  ƒsJ ‚| t
t|tƒƒt|d tƒ d|d  t|d tƒ t  ƒsJJ ‚| t
t| tƒƒt| d tƒ d| d  t| d tƒ t  ƒs–J ‚d S )	Nc                 S   s   t | |ƒo| |kS ©N)rƒ   )ÚeqZansr>   r>   r?   Úcheck;  s    ztest_slow_expand.<locals>.checkrA   r   rD   )ÚaÚbÚdÚcr€   r8   )r:   r   r   r   r   r
   r;   rƒ   r1   r4   r   r7   )r™   Zrnr•   r‡   r>   r>   r?   Útest_slow_expand9  s:     *ÿ0ÿ,ÿ
2ÿ
*ÿ
0ÿ
,ÿ
2ÿrž   c                 C   s   t t| |ƒƒS r—   )r   r   ©r5   r4   r>   r>   r?   ÚmjnY  s    r    c                 C   s   t t| |ƒƒS r—   )r   r!   rŸ   r>   r>   r?   Úmyn]  s    r¡   c                  C   sæ  t dƒ} tddƒdksJ ‚tddƒdks,J ‚tddƒtjks@J ‚t| dƒt| dddks\J ‚tdtƒdksnJ ‚tdt ƒdks‚J ‚td| ƒt| ƒ|  ksœJ ‚td| ƒt| ƒ| d  t| ƒ|   ksÆJ ‚td| ƒd| d  d|   t| ƒ d| d  t| ƒ  ksJ ‚td| ƒd	| d
  d| d   t| ƒ d|  d	| d   t| ƒ  ksRJ ‚td
| ƒd|  d| d   d| d   t| ƒ d| d
  d| d   t| ƒ  ksªJ ‚td| ƒd| d  d| d
   d	| d   t| ƒ d|  d| d   d| d   t| ƒ  ksJ ‚td| ƒd|  d| d   d| d   d| d   t| ƒ d| d  d| d
   d| d   t| ƒ  ks~J ‚ttt	| ƒƒtt	| ƒksœJ ‚tddƒ 
¡ tddƒksºJ ‚ttddƒ 
d¡gddt  gƒsâJ ‚d S )Nr4   r   rA   rL   Fr’   rD   rE   rW   rQ   rS   éi   rX   é-   i—ÿÿÿr8   i±  i¤  i›(  r^   iu  éÒ   ie×ÿÿiì  é   ù       @      @ùÍÌÌÌÌÌ@333333Ó?gM°»’s¹?gM™â¶ê«?)r   r   r
   ÚComplexInfinityr   r    r   r   r   r5   Úevalfr˜   r   ©r4   r>   r>   r?   Útest_jna  s2    *@L.ÿ2&ÿ:*ÿÿr«   c                  C   sò   t dƒ} td| ƒt| ƒ |  ks$J ‚td| ƒt| ƒ | d  t| ƒ|   ksPJ ‚td| ƒd| d  d|   t| ƒ d| d  t| ƒ   ksJ ‚ttt| ƒƒtt| ƒks¬J ‚tddƒ ¡ tddƒksÈJ ‚ttddƒ d¡gd	d
t	  gƒsîJ ‚d S )Nr4   r   rA   rD   rE   r¦   r§   r8   gˆ=;€H¶Ç?gÔLs’Ž?)
r   r¡   r   r   r   r!   r5   r©   r˜   r   rª   r>   r>   r?   Útest_yn~  s    ,@ÿr¬   c                   C   sD   t dƒtdtƒ ¡ v sJ ‚tdtƒdtd  dtd   ks@J ‚d S )NrW   rE   rQ   rS   rD   )r
   r¡   r	   Zatomsr>   r>   r>   r?   Útest_sympify_ynŒ  s    r­   çíµ ÷Æ°>c                 C   s.   t | |ƒD ]\}}t|| ƒ|k s
 dS q
dS )NFT)ÚzipÚabs)rš   r›   ZtolÚuÚvr>   r>   r?   r˜   ‘  s    r˜   c                   C   s|   t tddƒg d¢ƒsJ ‚t tddƒg d¢ƒs0J ‚t tddƒg d¢ƒsHJ ‚t tddƒg d	¢ƒs`J ‚t tddƒg d
¢ƒsxJ ‚d S )Nr   rQ   )gz ‹üú!	@güÞ¦?û!@g/ö^|Ù"@güÞ¦?û!)@rA   )gP5z5@ù@g°¹2¨æ@gî@òèÎ%@gÁr„ä!,@rD   )góX32È@g@…#H¥0"@gö#EdX¥(@gÓØ^z/@rE   )gÿ¯:r¤ó@gW%‘}Õ$@g,¶IEce+@gæmrì0@)gÔ©¢x] @geqÿ‘éh'@g7¨ýÖN.@g©Á4M2@)r˜   r    r>   r>   r>   r?   Útest_jn_zeros˜  s
    r³   c                  C   sL  t dddt dƒt dddd  } }}ttfD ] }|ddƒtju sHJ ‚|d	dƒtju s\J ‚|d
dƒtju spJ ‚|ddƒtju s„J ‚|ddt  dƒtju s J ‚|d
t dƒtju s¸J ‚|dt dƒtju sÐJ ‚|| dƒtjkrð|| dƒtjksôJ ‚||dƒtjkr||dƒtjksJ ‚||dƒtju s.J ‚q.t	ddƒtj
u sHJ ‚tddƒtju s^J ‚t	tfD ]6}|dt dƒtju s„J ‚|tdƒtju sfJ ‚qftt	fD ]6}||tjƒtju sÂJ ‚||tj
ƒtju s¦J ‚q¦ttfD ]>}||ttj ƒtju sJ ‚||ttj
 ƒtju sæJ ‚qættfD ]r}|dtƒ|dtƒksLJ ‚|d
tƒ|dtƒksfJ ‚||  tƒ|| tƒks‚J ‚|| tƒ||tƒks.J ‚q.tt	fD ]„}|dtƒ|dtƒksÈJ ‚|d
tƒ|dtƒ ksäJ ‚||  tƒd|  || tƒ ksJ ‚|| tƒd| ||tƒ ksªJ ‚qªttfD ]6}||t ƒt | t|   ||tƒ ks8J ‚q8tdt ƒtdtƒksŒJ ‚tdt ƒtdtƒ ksªJ ‚tdt ƒtdtƒksÆJ ‚tdt ƒtdtƒ ksäJ ‚tdtt ƒtdtƒksJ ‚tdtt ƒttdtƒ ks$J ‚tdtt ƒt tdtƒ ksHJ ‚d S )Nr5   Tr~   Úmr6   F)r   Zzeror   gÍÌÌÌÌÌ @éýÿÿÿgffffff$ÀrA   rE   rK   rp   rQ   rL   rD   )r   r   r   r
   ZOneZZeror¨   r   ÚNaNr   ÚNegativeInfinityr   ÚInfinityr4   )r5   r´   r6   r=   r>   r>   r?   Útest_bessel_eval   sT    &$(  $(4"r¹   c                  C   s>   t tttttttfD ]$} | dtj	ƒ| dtj	ddksJ ‚qd S )NrA   Fr’   )
r   r   r   r   r   r   r!   r   r
   r¶   r<   r>   r>   r?   Útest_bessel_nan×  s    rº   c                   C   sˆ  t dtƒ td¡dksJ ‚t dtƒ td¡dks4J ‚t dtƒ tt¡dksNJ ‚t tdƒd tƒ td¡dkspJ ‚t tdƒd tƒ td¡dks’J ‚t tdƒd tƒ tt¡dks´J ‚t tdt ƒ td¡dksÒJ ‚tdtƒ td¡dksìJ ‚tdtƒ td¡dksJ ‚tdtƒ td¡dks$J ‚tdtƒ td¡dks@J ‚tdtƒ td¡dks\J ‚tdtƒ td¡dksxJ ‚tdtƒ td¡dks”J ‚tdtd dt  ƒ td¡dks¼J ‚tdtƒ td¡dksØJ ‚t	ddƒ td	¡dksôJ ‚t
d
dtd  d ƒ td¡dksJ ‚tddt ƒ td¡dks<J ‚td	dt d ƒ td¡dks`J ‚tdtd d ƒ td
¡dks„J ‚d S )NrD   rA   Tr   FrE   rl   rQ   rX   rS   r^   rj   ro   )r   r7   Zis_meromorphicr   r
   r   r   r   r   r   r   r   r   r!   r>   r>   r>   r?   Útest_meromorphicÝ  s*    """(( $r»   c                  C   sd  t dƒ} t ddd}t ddd}t ddd}t d	dd
}ttttttfD ]d}|| dƒ ¡ |t| ƒdƒkslJ ‚|| |ƒ ¡ |t| ƒ|ƒksŒJ ‚|| |ƒ ¡ |t| ƒ|ƒksHJ ‚qHtdd}ttttfD ]Þ}|| dt	 ƒ ¡ |t| ƒdt	 ƒksðJ ‚|| dƒ ¡ |t| ƒdƒksJ ‚|| dƒ ¡ |t| ƒdƒks4J ‚|| |ƒ ¡ |t| ƒt|ƒƒksZJ ‚|| |ƒ ¡ |t| ƒ|ƒks|J ‚t
|| |ƒ ¡ |t| ƒt|ƒƒƒsÄJ ‚qÄt| dt	 ƒ ¡ tt| ƒdt	 ƒksÎJ ‚t| dƒ ¡ tt| ƒdƒksðJ ‚t| dƒ ¡ tt| ƒdƒksJ ‚t| |ƒ ¡ tt| ƒ|ƒks4J ‚t| |ƒ ¡ tt| ƒt|ƒƒksZJ ‚t
t| |ƒ ¡ tt| ƒt|ƒƒƒs‚J ‚t| dt	 ƒ ¡ tt| ƒdt	 ƒks¬J ‚t| dƒ ¡ tt| ƒdƒksÎJ ‚t| dƒ ¡ tt| ƒdƒksðJ ‚t| |ƒ ¡ tt| ƒ|ƒksJ ‚t| |ƒ ¡ tt| ƒt|ƒƒks8J ‚t
t| |ƒ ¡ tt| ƒt|ƒƒƒs`J ‚d S )Nr5   r4   F)Zextended_realr7   TÚyr   Út©ÚnegativerL   g      à?)r›   rA   r   )r   r   r   r   r   r   r   r   r:   r   rƒ   )r5   r4   r7   r¼   r½   r=   Zrzr>   r>   r?   Útest_conjugateõ  s:      "
(""&"(*"""&(*"""&rÀ   c                  C   s¼  t ttƒtƒt ttƒksJ ‚tttƒtƒtttƒks8J ‚tddd} t | tdt t ƒt ƒt | tƒkslJ ‚t | ttƒƒt | tƒksˆJ ‚t| tdt t ƒt ƒt| tƒks°J ‚t| ttƒƒt| tƒksÌJ ‚dd„ }tdƒ}t |tdt t ƒt ƒt	dt t | ƒt |tƒ ksJ ‚t|tdt t ƒt ƒt	dt t | ƒt|tƒ ksXJ ‚|t dƒshJ ‚|t tƒsxJ ‚|t tƒsˆJ ‚|tdƒs˜J ‚|ttƒs¨J ‚|ttƒs¸J ‚d S )Nr5   Tr~   rD   c                 S   s”   ddl m} |ddƒ}| ||ttt ƒ ƒ| ||tt t ƒ ƒ }d}| || | |t  ƒ| || | |t  ƒ }t| ¡ | ¡  ƒ ¡ dk S )Nr   )ÚuniformrA   rX   gVçž¯Ò<g»½×Ùß|Û=)Úsympy.core.randomrÁ   r   r   r	   r°   r5   )rˆ   ÚsrÁ   r   ÚexprZepsZexpr2r>   r>   r?   rƒ   $  s    
.0ztest_branching.<locals>.tnr„   )
r   r   r6   r7   r   r   r   r	   r   r   )r5   rƒ   r„   r>   r>   r?   Útest_branching  s"    ((>>rÅ   c                  C   s¶   t dƒ} t ddd}t ddd}tt| ƒƒtt| ƒƒks<J ‚t|ƒjsJJ ‚t|t|  ƒ ¡ t|t|  ƒd t|t|  ƒd  tt|t|  ƒt|t|  ƒ  d fks²J ‚d S )Nr4   r7   Tr   r¼   rD   )r   r   r(   r”   r   Zas_real_imag)r4   r7   r¼   r>   r>   r?   Útest_airy_base7  s    &&þrÆ   c               
   C   sì  t ddd} t ddd}t ddd}tt| ƒtƒs6J ‚td	ƒd
tdd
ƒ d
ttdd
ƒƒ  ksbJ ‚ttƒd	ksrJ ‚tt ƒd	ks„J ‚tt| ƒ| ƒt| ƒksžJ ‚tt| ƒ| d	d
ƒd
tddƒ ttdd
ƒƒ dt	  d
tddƒ |  ttdd
ƒƒ dt	   t
| d
 ƒ ksJ ‚t| ƒ t¡d
tdd
ƒ  |  tdtdd
ƒf| d
 d ƒ d
ttdd
ƒƒ  d
tdd
ƒ tdtdd
ƒf| d
 d ƒ d
ttdd
ƒƒ   ks J ‚tt| ƒ t¡tƒsºJ ‚t|ƒ t¡t| ƒttdd
ƒd| td
dƒ  d
 ƒttdd
ƒd| td
dƒ  d
 ƒ  d
 ks$J ‚t| ƒ t¡|  ttdd
ƒd| td
dƒ  d
 ƒ d
| td
dƒ tdd
ƒ   | td
dƒ tdd
ƒ ttdd
ƒd| td
dƒ  d
 ƒ d
  ksºJ ‚t|ƒ t¡t|ƒttdd
ƒd|td
dƒ  d
 ƒttdd
ƒd|td
dƒ  d
 ƒ  d
 ksJ ‚ttdd
| d  tdd
ƒ  ƒƒtd
ƒ d| d tdd
ƒ | tdd
ƒ    tdd
tdd
ƒ  | tdd
ƒ  ƒ d d| d tdd
ƒ | tdd
ƒ   tdd
tdd
ƒ  | tdd
ƒ  ƒ d  ksèJ ‚d S )Nr4   Fr   r½   Tr¾   r   r   r   rE   rA   rD   rX   rS   r>   rQ   rj   rL   )r   Ú
isinstancer(   r   r"   r   r   r*   r'   r	   r&   r   r$   r   r   r   r   r)   ©r4   r½   r   r>   r>   r?   Útest_airyaiD  sR    ,Vÿ
@:ÿÿ
*"ÿÿÿ
B<ÿÿ
& ÿÿÿ
 TJÿÿrÉ   c                  C   sî  t ddd} t ddd}t ddd}tt| ƒtƒs6J ‚td	ƒd
tddƒ d
ttdd
ƒƒ  ksbJ ‚ttƒtu srJ ‚tt ƒd	ks„J ‚tt| ƒ| ƒt| ƒksžJ ‚tt| ƒ| d	d
ƒd
tdd
ƒ ttdd
ƒƒ dt	  d
tdd
ƒ |  ttdd
ƒƒ dt	   t
| d
 ƒ ksJ ‚t| ƒ t¡d
tddƒ |  tdtdd
ƒf| d
 d ƒ ttdd
ƒƒ d
tddƒ tdtdd
ƒf| d
 d ƒ d
ttdd
ƒƒ   ksšJ ‚tt| ƒ t¡tƒs´J ‚t|ƒ t¡t| ƒttdd
ƒd| td
dƒ  d
 ƒttdd
ƒd| td
dƒ  d
 ƒ  d
 ksJ ‚t| ƒ t¡td
ƒ| ttdd
ƒd| td
dƒ  d
 ƒ | td
dƒ tdd
ƒ  | td
dƒ tdd
ƒ ttdd
ƒd| td
dƒ  d
 ƒ   d
 ks¶J ‚t|ƒ t¡td
ƒt|ƒ ttdd
ƒd|td
dƒ  d
 ƒttdd
ƒd|td
dƒ  d
 ƒ  d
 ks"J ‚ttdd
| d  tdd
ƒ  ƒƒtd
ƒd| d tdd
ƒ | tdd
ƒ    tdd
tdd
ƒ  | tdd
ƒ  ƒ d d| d tdd
ƒ | tdd
ƒ   tdd
tdd
ƒ  | tdd
ƒ  ƒ d  ksêJ ‚d S )Nr4   Fr   r½   Tr¾   r   r   r   rE   rX   rS   rD   rA   r>   rQ   rj   rL   )r   rÇ   r)   r   r"   r   r   r+   r'   r	   r&   r   r$   r   r(   r   r   r   rÈ   r>   r>   r?   Útest_airybih  sV    ,Vÿ
::ÿÿ
*"ÿÿÿ
B8ÿÿÿ
. ÿÿÿ
 RJÿÿrÊ   c               
   C   sÜ  t ddd} t ddd}t ddd}tt| ƒtƒs6J ‚td	ƒd
tdd
ƒ  d
ttdd
ƒƒ  ksdJ ‚ttƒd	kstJ ‚tt| ƒ| ƒ| t| ƒ ks’J ‚tt| ƒ| d	d
ƒd
tdd
ƒ  d
ttdd
ƒƒ  d
tdd
ƒ | d  dttdd
ƒƒ   t	| d
 ƒ ksþJ ‚t| ƒ 
t¡d
tdd
ƒ | d  tdtdd
ƒf| d
 d ƒ dttdd
ƒƒ  d
tdd
ƒ tdtdd
ƒf| d
 d ƒ d
ttdd
ƒƒ   ks’J ‚tt| ƒ 
t¡tƒs¬J ‚t|ƒ 
t¡t| ƒttdd
ƒd| td
dƒ  d
 ƒttdd
ƒd| td
dƒ  d
 ƒ  d
 ksJ ‚t| ƒ 
t¡| d ttdd
ƒd| td
dƒ  d
 ƒ d
| td
dƒ tdd
ƒ   | td
dƒ tdd
ƒ ttdd
ƒd| td
dƒ  d
 ƒ d
  ks®J ‚t|ƒ 
t¡|ttdd
ƒd|td
dƒ  d
 ƒ ttdd
ƒd|td
dƒ  d
 ƒ  d
 ksJ ‚ttdd
| d  tdd
ƒ  ƒƒtd
ƒ| tdd
ƒ | d tdd
ƒ  d  tdd
tdd
ƒ  | tdd
ƒ  ƒ d | tdd
ƒ | d tdd
ƒ  d tdd
tdd
ƒ  | tdd
ƒ  ƒ d  ksØJ ‚d S )Nr4   Fr   r½   Tr¾   r   r   r   rE   rD   rA   rS   r>   rX   rj   rL   rK   )r   rÇ   r*   r   r"   r   r   r(   r'   r&   r   r$   r   r   r   r   r+   rÈ   r>   r>   r?   Útest_airyaiprimeŒ  sH    .TÿB:ÿÿ
*"ÿÿÿ
D<ÿÿ
Lÿ
 RJÿÿrË   c                  C   sê  t ddd} t ddd}t ddd}tt| ƒtƒs6J ‚td	ƒd
tddƒ ttdd
ƒƒ ks^J ‚ttƒtu snJ ‚tt ƒd	ks€J ‚tt| ƒ| ƒ| t| ƒ ksžJ ‚tt| ƒ| d	d
ƒd
tddƒ ttdd
ƒƒ d
tddƒ | d  dttdd
ƒƒ   t	| d
 ƒ ksJ ‚t| ƒ 
t¡d
tddƒ | d  tdtdd
ƒf| d
 d ƒ dttdd
ƒƒ  d
tddƒ tdtdd
ƒf| d
 d ƒ ttdd
ƒƒ  ks–J ‚tt| ƒ 
t¡tƒs°J ‚t|ƒ 
t¡t| ƒttdd
ƒd| td
dƒ  d
 ƒttdd
ƒd| td
dƒ  d
 ƒ  d
 ksJ ‚t| ƒ 
t¡td
ƒ| d ttdd
ƒd| td
dƒ  d
 ƒ | td
dƒ tdd
ƒ  | td
dƒ tdd
ƒ ttdd
ƒd| td
dƒ  d
 ƒ   d
 ks¶J ‚t|ƒ 
t¡td
ƒ| ttdd
ƒd|td
dƒ  d
 ƒttdd
ƒd|td
dƒ  d
 ƒ  d
 ksJ ‚ttdd
| d  tdd
ƒ  ƒƒtd
ƒ| tdd
ƒ | d tdd
ƒ  d  tdd
tdd
ƒ  | tdd
ƒ  ƒ d | tdd
ƒ | d tdd
ƒ  d tdd
tdd
ƒ  | tdd
ƒ  ƒ d  ksæJ ‚d S )Nr4   Fr   r½   Tr¾   r   r   r   rE   rA   rS   rX   rD   r>   rj   rL   rK   )r   rÇ   r+   r   r"   r   r   r)   r'   r&   r   r$   r   r(   r   r   r   r*   rÈ   r>   r>   r?   Útest_airybiprime®  sN    (Nÿ
B6ÿÿ
*"ÿÿÿ
F8ÿÿÿ
Rÿ
 RJÿÿrÌ   c                  C   s¢  t dƒ} t dƒ}t dƒ}tdddƒdks,J ‚t| d|ƒt| |d d ƒt| ƒ ksVJ ‚tdddƒdttddƒƒ d ks|J ‚td|dƒd	t|d  d ƒ ks¢J ‚tdtdƒd	ttd  d ƒ ksÈJ ‚td	||ƒtjt|d  ƒt	d|d ƒ d  ksþJ ‚td||ƒtjt|d  ƒt	d|d ƒ d  t|d  ƒt	d	|d ƒ  ksRJ ‚t
td	|d
ƒ|ƒ|td	|d
ƒ td|d
ƒ  ksˆJ ‚t
tdd
|ƒ|ƒ|d  t|d  d tddƒ ƒ t	d	d
| ƒ d
 ksØJ ‚t dƒ}tdd
dƒjt|dt|d t|d  d tddƒ ƒ t	d	d
| ƒ |dtfƒd
 ks>J ‚ttddd
ƒ t¡ d¡gdgƒsfJ ‚t dƒ}tdddƒjt|dtdƒttddƒ| t	|dƒ |dtfƒ ks¶J ‚ttd	d
d	ƒ t¡ d¡gdgƒsÞJ ‚td	||dd t	¡tjt|d  ƒt	d|d ƒ d  ks J ‚td||dd t	¡tjt|d  ƒt	d|d ƒ d  t|d  ƒt	d	|d ƒ  ks~J ‚td
||ƒ t	¡t	d	|d ƒt	d|d ƒ t|d  ƒ tj t|d  ƒt	d|d ƒ d  ksæJ ‚tdddƒ t	¡tdƒt	ddƒ d t	ddƒt	d
dƒ t	ddƒ t	d	dƒ tdƒ  tj ksJJ ‚t| ||ƒ t	¡t| ||ƒksnJ ‚t dd d!}t|||ƒ t	¡t|||ƒksžJ ‚d S )"Nr´   rš   r›   r   rD   rX   é   içÿÿÿrA   rE   rj   r7   rQ   )r7   rK   r8   gZp¤hLé?r6   rµ   rŠ   rr   )r6   iÛÿÿÿr^   é#   gyÏhÿH§ï?Fr’   ro   iÀÿÿÿrR   Tr~   )r   r,   r#   r"   r   r   r	   r
   r‚   r   r   r   r%   r   r˜   r©   r   )r´   rš   r›   r7   r6   r>   r>   r?   Útest_marcumqÑ  sV    *&&&6T6P@ÿ
ÿ
*ÿ
ÿ
B8ÿ8ÿÿ$.ÿÿ$rÏ   N)r®   )oÚ	itertoolsr   Zsympy.concrete.summationsr   Zsympy.core.functionr   r   Zsympy.core.numbersr   r   r   r	   Zsympy.core.singletonr
   Zsympy.core.symbolr   r   Z$sympy.functions.elementary.complexesr   r   Z&sympy.functions.elementary.exponentialr   r   r   Z%sympy.functions.elementary.hyperbolicr   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   r   Zsympy.functions.special.besselr   r   r   r   r   r   r   r   r   r    r!   Z'sympy.functions.special.gamma_functionsr"   r#   Zsympy.functions.special.hyperr$   Zsympy.integrals.integralsr%   Zsympy.series.orderr&   Zsympy.series.seriesr'   r(   r)   r*   r+   r,   rÂ   r-   r:   r.   rƒ   r/   r9   r0   Zsympy.simplifyr1   Zsympy.testing.pytestr2   r3   Z	sympy.abcr4   r5   r6   r7   r;   r@   rG   rJ   rN   rO   rP   rn   ru   ry   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?   Ú<module>   sn   4	$	;J

7%$$"#