a
    kh                     @   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J t g dg ddddks<J t g d	d
dgdddksZJ t g dg ddddksxJ t g dg ddddksJ t dgd g d dgd g d dddksJ t g dg dddsJ t g dg dddsJ tdd  td!d"D sJ td#d  td$d%D s8J 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d0d1ksJ t  d d' d d' ddtd2d3ksJ t  d&d  d d& d4dtd5d6ksJ t dgd7 td-d&td'd(g d8dtd9d:ksVJ ttd;d<  tt fd=d< tt	 fd>d< ttfd?d< tt fd@d< t | gg dAd'dd-   |    |  ksJ t g dB| gdddC dD  dE|   ks(J t g dFgdGddH dI  ksTJ t dgd g d | gdJddK dL  dM|   ksJ t g ddgdddksJ t | gg dd-dd&ksJ d S )NN      Zcoeffsinitni*  r	               )r	   r	   r   r   
   i  )r   r                  l   X;GD7 )r   r   r	   r	   r   )r	   r   r         r   r   r      )r	   r   r   r   F   l   Y!Hc"6)`ToNR0s(Wm"j  r   7   )r	   r	   r   r   2   )r	   r   r   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$   S/var/www/auris/lib/python3.9/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  r   r   r            	   r   zx y zP   l   ua#o[|,VNM,e*iG l	             VvRl   9g9Z
(#l         kr#   l   6Nn&`^W*H
UeX`h"l   EW&G <   i  l          Pjej~Tl   yk%+Gk& c                   S   s   t g dg dddS )Nr   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%   r0   -   r1   c                      s   t  d d d d ddS )Nr   ir   r   r$   r2   r$   r%   r0   .   r1   c                      s   t  ddS Nr    )r   r   r$   )r4   xr$   r%   r0   /   r1   c                      s   t  ddS r5   r   r$   )r3   yr$   r%   r0   0   r1   )r	   r	   r	   )r	   r   r	   i i#
 i )r   r   r	   r      i|i4.\i  l   `7u)l   <=C^l   x)m )
r   allranger   ZHalfr   r   r   	TypeError
ValueError)zr$   )r3   r4   r6   r7   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
   