o
    *ήc%                     @   s  d dl 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 d dlmZmZ 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 d d
l m!Z! d dlm"Z" d dl#m$Z$m%Z% d dl&m'Z' d dl(m)Z*m+Z,m-Z- edZ.edZ/edddZ0edZ1edZ2dd Z3dd Z4dd Z5dd Z6dd Z7d d! Z8d"d# Z9d$d% Z:d&d' Z;d(d) Z<d*d+ Z=d,d- Z>d.d/ Z?d0d1 Z@d2d3 ZAd4d5 ZBd6S )7    )Sum)expand_func)FloatIRationalnanoopizoo)S)Symbol)Abs
polar_lift)exp	exp_polarlog)sqrt)dirichlet_etalerchphipolylog
riemann_xi	stieltjeszeta)O)ArgumentIndexError)	bernoulli	factorial)raises)test_derivative_numericallyrandom_complex_numberverify_numericallyxabT)negativezsc                   C   s|  t ttu sJ t tttu sJ t dtddksJ t dttjt ks(J t dttjt ks4J t dtu s<J t ddtu sEJ t ddtu sNJ t dttu sWJ t ddtd d ksdJ t dtd d kspJ t dtd d ks|J t dtd d	 ksJ t ddtd d d ksJ t dd
td d tdd ksJ t ddtd d	 tdd ksJ t ddtd d tdd ksJ t ddtd d tdd ksJ t ddtd d	 tdd ksJ t t	dksJ t dtddksJ t ddksJ t dtddksJ t ddks#J t dtddks/J t dd
tddks<J t ddtddksIJ t ddtddksVJ t ddtd dkscJ t dd
d!ksmJ t dd"d#kswJ t ddtddksJ t ddtd
dksJ t ddtddksJ t ddtddksJ t d

d$td%d$d&sJ d S )'Nr         i      Z   i           iY  i@     iq  i  iY. i -    x      i   iw   ii  iiiD"     z1.2020569031595942854gҶOɃ;)r   r   r!   r   r   Halfr#   r
   r	   r   evalf
epsilon_eqr    r>   r>   X/tmp/pip-target-vg8gfxp4/lib/python/sympy/functions/special/tests/test_zeta_functions.pytest_zeta_eval   sP   $$$$$r@   c                   C   sH   t tttddt tdtt t td d  ttd  ks"J d S )Nr   r(   r)   )r   r!   r"   seriesr   r>   r>   r>   r?   test_zeta_seriesN   s   *rB   c                   C   sv   t dtjks	J t dtddksJ t dtdksJ t dtd d ks*J t dtd tdd ks9J d S )	Nr   r'   r)   r+   r(   r4   r8   i  )r   r   r;   r   r   r	   r>   r>   r>   r?   test_dirichlet_eta_evalS   s
   "rC   c                   C   s   t dtd ks
J t dtddksJ t dtddks J t dtdtd dt  ks3J t dtd d ks?J d S )Nr(   r*   r   r)   r-   r+      )r   r	   r   rewriter   r>   r>   r>   r?   test_riemann_xi_eval\   s
   &rF   c                   C   s:  t ttdddt   tt ksJ ttt t tdddt    ks*J ttjt ddttks9J tt tt tttsHJ tttttt tsWJ tttttdttksgJ ttt	ttt	tdt	 ksyJ tdttttttksJ t	tt	tdt ttt	ksJ d S )Nr)   r(   )r"   )
r   r!   rE   r   r    r"   r   r   r&   r%   r>   r>   r>   r?   test_rewritingd   s   ** $ (rG   c                     s  ddl m}  tttt| ttttksJ ttttt ttd t ks,J ttttttttd tttttt  t ksIJ tttttt tttd t ks_J t	tttt	td tt ksrJ t
  t
 tt ttsJ tt	 ttsJ tt ttsJ ttt tsJ tt fdd tt fdd tt fdd tt fdd d S )	Nr   
Derivativer)   c                         t  tdS )Nr(   r   r!   fdiffr>   r#   cr>   r?   <lambda>       z"test_derivatives.<locals>.<lambda>c                      rJ   )Nr+   rK   r>   rM   r>   r?   rO      rP   c                         t  tdS )Nr)   r   r%   rL   r>   r#   r>   r?   rO          c                      rQ   )Nr-   rR   r>   rS   r>   r?   rO      rT   )sympy.core.functionrI   r   r!   r"   diffr   r%   r&   r   randcplxtdr   r   rH   r>   rM   r?   test_derivativesr   s(   $((,&rY   c                 C   sj   t | }|d ur||kS || krdS i }| jD ]}t ||< qt| | |tt|  dk S )NFg|=)	r   free_symbolsrW   abssubsnreplacer   r   )functargetexpandedr\   r"   r>   r>   r?   myexpand   s   
rb   c                   C   sL  t tddks	J t tdttksJ t tdtt ks J t tttt tdd t tttt tdd ks>J t tttt d t tttt d ksVJ t	t dt
tdt
  seJ t	t dt
t
dt
  ssJ t	t dt
t
dt
 d  sJ dt
 d tt dt
  t
dt
  ksJ t	t dt
d sJ d S )	Nr   r)   r'   r+   r-   r(   r0   r6   )r   r&   r   r   r   r   r	   r   r   rb   r%   r   r   simplifyr>   r>   r>   r?   test_polylog_expansion   s   <0 .rd   c                   C   s$  t dtjtddttd d  td d  td d  ttd  ks&J t dttjtddtd td d  tt ttdd  d  ttdd  d  ttd  ks\J t tdd t tddt tdtd  d  tdtd  d  td d	  ttd  ksJ d S )
Nr)   r1   r]   r(   r-   r+   r   	      )r   r%   rA   r   r   r   r>   r>   r>   r?   test_polylog_series   s   L0

4

rh   c                  C   sL   t ddd} ttdd|  d d  | dtjf dd	 d
k s$J d S )NiT)integerr)   r-   r(   r   r+   gʡE?gMbP?)r   r   r   r   Infinitydoitr]   )ri   r>   r>   r?   test_issue_8404   s   ,rm   c                  C   sv  t ddtd d tt td  ksJ t dtjtd d tdd d  ks+J tjdtdd d tdd  d tdd  d dtd d fD ]} tt d|  t d| dd  d	k sfJ qNt	d
} dD ]4}t
dD ]-}tt || t || dd| ddtjddsJ tt || t || dd| dddddsJ qsqmddlm} t d|dtddftj ksJ d S )Nr(   r+   r4   r1   r)   r-   F)evaluategV瞯<r%   )r'   r   
   r2   r0   )r"   r#   rN   dr   )Integral)r   r	   r   r   r   r;   r   r   r<   r   ranger    sympy.integrals.integralsrq   r!   )r%   r&   _rq   r>   r>   r?   test_polylog_values   s    *,J.

&ru   c                	   C   s  t tdtttttsJ t tttdtttt sJ t ttdttdt  tdt d   s5J t ttdtd s@J t ttttjdtd  ttt	tt	t ttt
dt	t t	t   sjJ t tttddt ttttd   sJ t ttttddd sJ t ttttddd sJ t ttttddd sJ t ttttddd sJ t tdttdt  tttd  dt  tttd d   sJ t ttttd sJ t tt ttd sJ t tttt tdd ttd sJ d S )	Nr)   r'   r(   r2   r-   r8   r6   r1   )rb   r   r&   r"   r   r%   r   r   r;   r   r   r   r   r   r	   r>   r>   r>   r?   test_lerchphi_expansion   s(    .,2.rv   c                   C   s   t ttts	J t ttttsJ tdtjksJ tddtjks&J tttu s.J tdttu s7J tdtju s@J tdtju sIJ ttdtju sSJ ttdtju s]J d S )Nr   r)   r'   g      ?)	
isinstancer   r!   r"   r   
EulerGammar   ComplexInfinityr%   r>   r>   r>   r?   test_stieltjes   s   rz   c                   C   s\   t td d dk sJ t tdd d dk sJ t tdd d dk s,J d S )	Nr   g;x?g&.>g      ?g0}j?r)   r(   g(?)r[   r   r<   r>   r>   r>   r?   test_stieltjes_evalf   s   "r{   c                  C   s  t ddd} t ddd}t ddd}td	t jsJ td
jdu s$J ttjd u s-J ttt jd u s8J t| jd u sAJ t|jd u sJJ t| jdu sTJ t|d	 d	|  d
 jd u seJ t| t jdu spJ t|d
 jdu s{J t|d
 jdu sJ d S )Nr"   T)extended_realr#   )extended_positiver&   F)zeror(   r)   )r   r   r   	is_finiter!   )r"   r#   r&   r>   r>   r?   test_issue_10475   s   "r   c                  C   s   t dddd} td|  d| d  dd|  d   td|    td|   td|   ks/J t|  d|   t| d  | d  ksEJ t d} td|  td|  ksWJ d S )Nr]   T)positiverj   r(   r'   r)   )r   r   r	   r   r   re   r>   r>   r?   test_issue_14177  s
   P, r   N)Csympy.concrete.summationsr   rU   r   sympy.core.numbersr   r   r   r   r   r	   r
   sympy.core.singletonr   sympy.core.symbolr   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   r   (sympy.functions.elementary.miscellaneousr   &sympy.functions.special.zeta_functionsr   r   r   r   r   r   sympy.series.orderr   r   %sympy.functions.combinatorial.numbersr   r   sympy.testing.pytestr   sympy.core.randomr   rX   r   rW   r    r!   r"   r#   r%   r&   r@   rB   rC   rF   rG   rY   rb   rd   rh   rm   ru   rv   rz   r{   r   r   r>   r>   r>   r?   <module>   sF    $ 6	
