
    g                     L    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dS )    )Rational)	fibonacci)Ssymbols)raiseslinrecc            	      F   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 d S )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   d   K   | ]+}t          d d gdd g|          t          |          k    V  ,dS )r   r   r   Nr	   r   .0r   s     a/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/discrete/tests/test_recurrences.py	<genexpr>ztest_linrec.<locals>.<genexpr>   s`       M M89 aV1a&A666)A,,F M M M M M M    _   s   c              3   j   K   | ].}t          d d gd d g|          t          |d z             k    V  /dS )r   r   Nr%   r&   s     r(   r)   ztest_linrec.<locals>.<genexpr>   sf       N N89 aV1a&A666)AE:J:JJ N N N N N Nr*   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*   r(   <lambda>ztest_linrec.<locals>.<lambda>,   s!    f,<,<,<???VWXXX r*   c                  H    t           d d         d d         d          S )Nr   r   r#   r   r   abs   r(   r7   ztest_linrec.<locals>.<lambda>-   s&    fAbqbE"1"GGG r*   c                  H    t           d d         d d         d          S )Nr   ir   r   r9   s   r(   r7   ztest_linrec.<locals>.<lambda>.   s&    vQrrU2A2&III r*   c                  (    t           d          S Nr#   )r   r   )r;   xs   r(   r7   ztest_linrec.<locals>.<lambda>/       fQU333 r*   c                  (    t           d          S r>   r   )r:   ys   r(   r7   ztest_linrec.<locals>.<lambda>0   r@   r*   )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333u<<<<|||rBBBdJJJJr2h"===LLLLyyyB???3FFFF)))CCCRS S S S!R,,,.aSViii5G4PPPAB B B B )))FFFFFF)))FFFFFF M M=B2s^^M M M M M M M M  N N=B3__N N N N N N N N 
!Q!QHQNNHQPQNNSA	
Aq(1a..(1a..(1a..!DAgGAq!2A2QrrUb111Q4	6 	66 6 6 6 2A2QrrUb11157LMMN N N N 122QrrUb111F$	& 	&& & & & !R8Aq>>8Aq>>"BBdSSS13PQQR R R R 9XXYYY
9GGGGGHHH
:IIIIIJJJ
933333444
933333444!Qa888	1!acA!" " " "!Qb999q6!8fQh&' ' ' 'QFb999
XaZ       !R)))+1a)tDDDq>!++nQ.>>? ? ? ?1a&B///14444!Qa888A======r*   N)sympy.core.numbersr   %sympy.functions.combinatorial.numbersr   
sympy.corer   r   sympy.testing.pytestr   sympy.discrete.recurrencesr	   rJ   r6   r*   r(   <module>rP      s~    ' ' ' ' ' ' ; ; ; ; ; ; ! ! ! ! ! ! ! ! ' ' ' ' ' ' - - - - - -4> 4> 4> 4> 4>r*   