
    sg                     J    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 Zy)    )Rational)	fibonacci)Ssymbols)raiseslinrecc            	         t        ddgddgd      dk(  sJ t        g dg dd      dk(  sJ t        g d	d
dgd      dk(  sJ t        g dg dd      dk(  sJ t        g dg dd      dk(  sJ t        dgdz  g dz   dgdz  g dz   d      dk(  sJ t        g dg dd      sJ t        g dg dd      sJ t        d t        d d!      D              sJ t        d" t        d#d$      D              sJ 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.      t        d/d0      k(  sJ t        d d& d d& d      t        d1d2      k(  sJ t        d%d  d d% d3      t        d4d5      k(  sJ t        dgd6z  t        d,d%      t        d&d'      gz   d7      t        d8d9      k(  sJ t        t        d:        t        t        fd;       t        t        fd<       t        t        fd=       t        t        fd>       t        | gg d?d&      d,z  z  z   | z  z   z   | z   k(  sJ t        g d@| gd      dAz  dBz  z   dC| z  z   k(  sJ t        g dDgdE      dFz  dGz  z   k(  sJ t        dgdz  g dz   | gdH      dIz  dJz  z   dK| z  z   k(  sJ t        g ddgd      dk(  sJ t        | gg dd,      d%k(  sJ y )LN      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              3   X   K   | ]"  }t        d d gdd g|      t        |      k(   $ yw)r   r   r   Nr	   r   .0r   s     X/var/www/html/venv/lib/python3.12/site-packages/sympy/discrete/tests/test_recurrences.py	<genexpr>ztest_linrec.<locals>.<genexpr>   s4      M89 aV1a&A6)A,F Ms   (*_   s   c              3   ^   K   | ]%  }t        d d gd d g|      t        |d z         k(   ' yw)r   r   Nr%   r&   s     r(   r)   ztest_linrec.<locals>.<genexpr>   s9      N89 aV1a&A6)AE:JJ N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                  &    t        g dg dd      S )Nr   r   r   r   r        r(   <lambda>ztest_linrec.<locals>.<lambda>,   s    f,<?VWX r6   c                  ,    t         d d d d d      S )Nr   r   r#   r   r   abs   r(   r7   ztest_linrec.<locals>.<lambda>-   s    fAbqE"1G r6   c                  ,    t         d d d d d      S )Nr   ir   r   r9   s   r(   r7   ztest_linrec.<locals>.<lambda>.   s    vQrU2A&I r6   c                       t         d      S Nr#   )r   r   )r;   xs   r(   r7   ztest_linrec.<locals>.<lambda>/       fQU3 r6   c                       t         d      S r>   r   )r:   ys   r(   r7   ztest_linrec.<locals>.<lambda>0   r@   r6   )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   Halfr   r   r   	TypeError
ValueError)zr:   r;   r?   rB   s    @@@@r(   test_linrecrJ      s   !Qq!f3u<<<|rBdJJJr2h"=LLLyB?3FFF)CRS S S!R,.aSVi5G4PAB B B )FFF)FFF M=B2s^M M M M  N=B3_N N N N 
!Q!QHQNHQPQNSA	
Aq(1a.(1a.(1a.!DAgGAq!2AQrUb1Q4	66 6 6 2AQrUb157LMN N N 12QrUb1F$	&& & & !R8Aq>8Aq>"BBdS13PQR R R 9XY
9GH
:IJ
934
934!Qa8	1!acA!" " "!Qb9q6!8fQh&' ' 'QFb9
XaZ     !R)+1a)tDq>!++nQ.>>? ? ?1a&B/1444!Qa8A===r6   N)sympy.core.numbersr   %sympy.functions.combinatorial.numbersr   
sympy.corer   r   sympy.testing.pytestr   sympy.discrete.recurrencesr	   rJ   r5   r6   r(   <module>rP      s    ' ; ! ' -4>r6   