o
    ą8Va¹  ć                   @   s  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 d dlmZ d dlmZ d dlmZmZ d dlmZ eddd\ZZZ d	d
 Z!dd Z"dd Z#dd Z$dd Z%dd Z&dd Z'dd Z(dd Z)dd Z*dd Z+dd  Z,d!d" Z-ed#d$ Z.d%S )&é    )ŚsymbolsŚSymbolŚooŚSumŚharmonicŚexpŚAddŚSŚbinomialŚ	factorialŚlogŚ	fibonacciŚsubfactorialŚsinŚcosŚpiŚIŚsqrtŚRationalŚgamma)Ś	limit_seq)Śdifference_delta)ŚraisesŚXFAIL)ŚAccumulationBoundszn m kT©Zintegerc                     st   t t d  } | t  t| dt  d ksJ t t dtdt  d  ks&J tt fdd tt fdd d S )Né   é   é   é   c                      s   t  S ©N)Śdd© ©Ze2r"   śB/usr/lib/python3/dist-packages/sympy/series/tests/test_limitseq.pyŚ<lambda>   s    z'test_difference_delta.<locals>.<lambda>c                      s   t  ttS r    )r!   Śnr   r"   r#   r"   r$   r%      ó    )r&   Śkr!   r   Ś
ValueError©Śer"   r#   r$   Śtest_difference_delta   s    r,   c                  C   s  t dt tdtf} t| tdtd  ksJ t| tdtdd tdD  ks*J t dt tddt f} t| ttdd tdD  ksHJ tt dt tdtf } t| tdt dt tdtf ksgJ t dt tdtftdtf} t| tttksJ d S )Nr   é   c                 S   ó   g | ]
}d |t  d   qS ©r   ©r&   ©Ś.0Śir"   r"   r$   Ś
<listcomp>   ó    z.test_difference_delta__Sum.<locals>.<listcomp>é   c                 S   s    g | ]}d |dt   d   qS )r   r6   r0   r1   r"   r"   r$   r4      s     )r   r(   r&   r!   r   ŚrangeŚmr   r*   r"   r"   r$   Śtest_difference_delta__Sum   s   &$&r9   c                  C   sŖ   t t t d   } t| t dt  d ksJ t| t ddt  d ks#J t tdt tdt f } t| t ddt d   ks>J t| t ddtdd tdD   ksSJ d S )	Nr   r   r6   r   é   r-   c                 S   r.   r/   r0   r1   r"   r"   r$   r4   ,   r5   z.test_difference_delta__Add.<locals>.<listcomp>)r&   r!   r   r(   r   r7   r*   r"   r"   r$   Śtest_difference_delta__Add%   s   .r;   c                  C   sä   dt  } t| t ddt   ksJ t| t dddt   ksJ ddt   } t| t dddt    ks4J t| t ddddt    ksDJ t d } t| t t d d t d  ksYJ t t  } t| t t d t d  t t   kspJ d S )Nr   r6   r   é   é’   r   )r&   r!   r*   r"   r"   r$   Śtest_difference_delta__Pow/   s    "*r>   c                      sä  t dt ttt dt ttdtf  t tdd ks J t t ks)J dtd  dtd   d dtd  dt  d   t ttdd ksPJ ttttttdtf ttdt d    t tdksqJ ttd tdt t tdtf tdtfdt t   t tdksJ tt dt tt dt t tdtft dt tt dt t   t ttdd ksÅJ tttd t tddt fttd   t ttjd ksēJ t	t
 fdd	 d S )
Nr   r   r6   r   r-   iI iE c                      s   t  t S r    )r   r8   r"   r*   r"   r$   r%   T   r'   z test_limit_seq.<locals>.<lambda>)r
   r&   r   r(   r   r	   r8   r   ŚOner   r)   r"   r"   r*   r$   Śtest_limit_seq?   s    (408&’,r@   c                   C   sb  t dt td  tdksJ t dtd  tdt   tdks"J t dt dt  td  tdks5J t ttt tdksBJ t tdt t tdksQJ t tjd t tdks_J t tddt tdksmJ t td t tdkszJ t t	ttd t  tdksJ t td td t  tdksJ t ttd  td t  tdksÆJ d S )	Né’’’’r   r   éž’’’r   r6   r-   é   )
r   r&   r   r   r   r	   ZNegativeOner   r   r   r"   r"   r"   r$   Śtest_alternating_signW   s   &&""*rD   c                   C   sÄ   t dt ttddksJ t ttt ttddksJ t ttt d d ttddks2J t ddt  tdt   ttddksHJ t dt td  ddt   ttddks`J d S )	NrA   r   r   r   éż’’’r6   rB   r-   )r   r&   r   r   r   r   r"   r"   r"   r$   Śtest_accum_boundse   s
    (,4rF   c                  C   sō   ddl m} m}m} ttd|  | d|ft| |tjks J ttd|  | d|fd|  |tj	u s6J tt
d|  | tt
d| ||d| f | tdd ksUJ tt|d td| | |d|f |d| fd|  |   | dksxJ d S )Nr   ©ŚxŚyŚzr   r   r6   r   )Z	sympy.abcrH   rI   rJ   r   r   r   r	   Z
EulerGammaZInfinityr
   rG   r"   r"   r$   Śtest_limitseq_summ   s   ,,,
’,
’’’rK   c                   C   s&   t tttt ttdksJ d S )NrA   )r   r   r&   r   r   r"   r"   r"   r$   Śtest_issue_9308w   s   &rL   c                  C   s4   t ddd} tt| d t|  | tjksJ d S )Nr&   Tr   r   )r   r   r   r	   ZGoldenRatior0   r"   r"   r$   Śtest_issue_10382{   s   (rM   c                   C   s    t tddt tdksJ d S )NrA   r   r   )r   r   r&   r"   r"   r"   r$   Śtest_issue_11672   s    rN   c                   C   s"   t dt tt tdksJ d S )Nr-   r   )r   r&   r   r"   r"   r"   r$   Śtest_issue_16735   s   "rO   c                   C   s(   t dtttjd   tdksJ d S )Nr   r   r   )r   r   r&   r	   r?   r"   r"   r"   r$   Śtest_issue_19868   s   (rP   c                  C   sś  t td tdt t tdtf ttt tt tdtf  } t| tdks)J tdt tdt t td  tdtftdt t d tdtfttdt ttdtf  } t| ttdd ksfJ td tdt td  tdtfd  dt tdt t tdtf  } t| tdksJ t ttdt t tdtf ttdt t t td  tdtf  } t| tdksĄJ tdt tt td  tddt ftdt td  tdtfttttddt f  } t| ttdd ksūJ d S )Nr6   r   r   rC   r   é   )r   r&   r   r(   r   r
   r	   r   r*   r"   r"   r$   Śtest_limit_seq_fail   s$   "’(4’H&’&2’rR   N)/Zsympyr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   Zsympy.series.limitseqr   r   r!   Zsympy.testing.pytestr   r   Zsympy.calculus.utilr   r&   r8   r(   r,   r9   r;   r>   r@   rD   rF   rK   rL   rM   rN   rO   rP   rR   r"   r"   r"   r$   Ś<module>   s*   X 

