U
    ZÊ¹jË  ã                   @   sL   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
 dd„ ZdS )	é    )ÚRational)Ú	fibonacci)ÚSÚsymbols)Úraises©Úlinrecc                     s  t ddgddgdd�dkst‚t dddddgddd	dgd
d�dksFt‚t d	d	ddgddgdd�dksht‚t d	d	dddgdddgdd�dksŽt‚t ddddgddddgdd�dks´t‚t d	gd ddddg d	gd dddg dd�dksìt‚t ddddgddddgdd��st‚t ddddgddddgdd��s4t‚tdd„ tdd ƒD ƒƒ�sRt‚td!d„ td"d#ƒD ƒƒ�spt‚tjtddƒtdd$ƒd%td&d'ƒtddƒg‰ ddd&tdd%ƒtdd%ƒtdd'ƒd$g‰td(ƒ\‰‰} t ˆ d d… ˆd d… d)d�td*d+ƒk�sút‚t ˆ d d… ˆd d… dd�td,d-ƒk�s(t‚t ˆ dd … ˆd d… d.d�td/d0ƒk�sVt‚t d	gd1 tddƒtddƒg ˆd2d�td3d4ƒk�sŽt‚tt	d5d6„ ƒ tt	‡ ‡fd7d6„ƒ tt
‡ ‡fd8d6„ƒ tt	‡‡fd9d6„ƒ tt	‡ ‡fd:d6„ƒ t ˆˆ| gdddgdd�ˆd ˆˆ  ˆ|   ˆ |  k�s,t‚t dddgˆˆ| gdd�d;ˆ d<ˆ  d=|   k�sdt‚t d	dddgˆˆgd>d�d?ˆ d@ˆ  k�s”t‚t d	gd dddg ˆˆ| gdAd�dBˆ dCˆ  dD|   k�sÖt‚t g ddgdd�d	k�sòt‚t ˆˆ| gdddgdd�dk�st‚d S )ENé   é   ©ZcoeffsÚinitÚniÂ*  é   é   é   é   r   é
   i  é   é   é   é   é   l   X;GD7 é   é¥   é   éF   l   Y!HcÂ"º6Þ)`ToN³R0sç(Wm…"j  é7   é2   i   l   »wN;ELMŽ$ÊxqK‹ «a±>Êé'  i † c                 s   s,   | ]$}t d d gdd g|d�t|ƒkV  qdS )r	   r   r   N©r   r   ©Ú.0r   © r"   úd/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/discrete/tests/test_recurrences.pyÚ	<genexpr>   s   ÿztest_linrec.<locals>.<genexpr>é_   és   c                 s   s0   | ](}t d d gd d g|d�t|d  ƒkV  qdS )r	   r   Nr   r    r"   r"   r#   r$      s   ÿiS  ig  é   é   é   é	   zx y zéP   l   ua™#½o”[ò­|,VN–M,e¼*iG l	             V�vòRÂl   9g±ì‘9Z¾
¼(‡#l         krµé#   l   õ6Nn«&`^WÙ*H
UeXÕ`ƒh"l   EàW&G é<   i¸  l          Pjej~Tl   �ykØ%è+žGÒk& c                   S   s    t ddddgddddd	gdd
�S )Nr   r   r   r   r	   r   r   r   r   r   r   r"   r"   r"   r#   Ú<lambda>,   ó    ztest_linrec.<locals>.<lambda>c                      s   t ˆ d d… ˆd d… dd�S )Nr   r   r   r   r   r"   ©ÚaÚbr"   r#   r.   -   r/   c                      s   t ˆ d d… ˆd d… dd�S )Nr   iðØÿÿr   r   r"   r0   r"   r#   r.   .   r/   c                      s   t ˆˆ dd�S ©Nr   )r   r   r"   )r2   Úxr"   r#   r.   /   r/   c                      s   t ˆ ˆdd�S r3   r   r"   )r1   Úyr"   r#   r.   0   r/   iæ iÿ#
 i…Õ é   iÔã|i4.\iè  l   `7uÀ)l   <=œC•^l   x)m´ )r   ÚAssertionErrorÚallÚranger   ZHalfr   r   r   Ú	TypeErrorÚ
ValueError)Úzr"   )r1   r2   r4   r5   r#   Útest_linrec   sp    ("&ÿ.ÿ$$ÿÿ*$ÿÿ
ÿ
ÿÿ
&ÿ
ÿ
ÿ
ÿ
"ÿ
r=   N)Zsympy.core.numbersr   Z%sympy.functions.combinatorial.numbersr   Z
sympy.corer   r   Zsympy.testing.pytestr   Zsympy.discrete.recurrencesr   r=   r"   r"   r"   r#   Ú<module>   s
   