Ë
    7^(h*  ã                   ó¼   — d dl 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 d dlmZ d dlmZ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„ Zd„ Zd„ Zd„ Zd„ Z y)é    )Úfind_simple_recurrence_vectorÚfind_simple_recurrenceÚrationalizeÚ"guess_generating_function_rationalÚguess_generating_functionÚguess)ÚProduct)ÚFunction)ÚRational)ÚS)ÚSymbolÚsymbols)Úsympify)ÚRisingFactorialÚ	factorial)Ú	fibonacci)Úexpc                  ór   — t        t        d«      D � cg c]  } t        | «      ‘Œ c} «      g d¢k(  sJ ‚y c c} w )Né   )é   éÿÿÿÿr   )r   Úranger   )Úks    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/concrete/tests/test_guess.pyÚ"test_find_simple_recurrence_vectorr      s5   € Ü(Ü#(¨£9Ö-˜aŒY�q�\Ò-ó/Ú2=ò>ð >ñ >ùÚ-s   “4c                  ó.  — t        d«      } t        d«      }t        t        d«      D �cg c]  }t	        |«      ‘Œ c}«       | |«        | |dz   «      z
   | |dz   «      z   k(  sJ ‚t        d«      }t        d«      }g d¢} t        d«      D ]+  }| j                  d| d	   z  d
| d   z  z
  d| d   z  z   «       Œ- t        | ||¬«      d ||«      z  d
 ||dz   «      z  z   d ||dz   «      z  z
   ||d
z   «      z   k(  sJ ‚t        g d¢«      dk(  sJ ‚y c c}w )NÚaÚnr   r   é   )r   r   r   é   é   r   é   éþÿÿÿé   éýÿÿÿ)ÚAÚNiøÿÿÿ)r   r   r    éJ   r   r"   r   r   r   éU   é   r!   é?   r   )r
   r   r   r   r   Úappend)r   r   r   ÚfÚis        r   Útest_find_simple_recurrencer/      s/  € Ü�‹€AÜˆs‹€AÜ!¼¸r»Ö"C°A¤9¨Q¥<Ò"CÓDÙ	
ˆ1‹ˆ‘�!�a‘%“Ñ™1˜Q ™U›8Ñ#ò%ð %ð %ô 	�‹€AÜˆs‹€AÚ€AÜ�2‹YÒ9ˆ˜Ÿ™  1 R¡5¡¨¨1¨R©5©¡°°1°R±5±Ñ!8Õ9Ð9Ü! ! q¨AÔ.Ø
‰1ˆQ‹4‰�!‘A�a˜!‘e“H‘*Ñ˜q¡ 1 q¡5£™zÑ)©A¨a°!©e«HÑ4ò6ð 6ð 6ä!ò #8ó 9Ø<=ò>ð >ñ >ùò #Ds   ©Dc                  ó  — ddl m} m}m} t	         | |dz  «      «      t
        j                  k(  sJ ‚t	         |d«      «      t        dd«      k(  sJ ‚t	         |d«      «      t        dd«      k(  sJ ‚t	        |d¬	«      t        d
d«      k(  sJ ‚y )Nr   ©ÚcosÚpiÚmpfr"   z0.333333333333333r   z-0.333333333333333r   éú   )Úmaxcoeffic  éq   )Úmpmathr2   r3   r4   r   r   ÚHalfr   r1   s      r   Útest_rationalizer:   )   s�   € ß#Ñ#Ü‘s˜2˜a™4“yÓ!¤Q§V¡VÒ+Ð+Ð+Ü‘sÐ.Ó/Ó0´H¸QÀ³NÒBÐBÐBÜ‘sÐ/Ó0Ó1´X¸bÀ!³_ÒDÐDÐDÜ�r cÔ*¬h°s¸CÓ.@Ò@Ð@Ñ@ó    c                  ó¬   — t        d«      } t        t        dd«      D �cg c]  }t        |«      ‘Œ c}«      d| z  dz   | dz   | z
  dz   z  k(  sJ ‚y c c}w )NÚxr!   r    r"   r   r   )r   r   r   r   ©r=   r   s     r   Ú'test_guess_generating_function_rationalr?   1   se   € Üˆs‹€AÜ-Ü�q˜"“ö/Øô 09¸­|ò /ó  Ø%& q¡S¨1¡W°°1±¨u°q©y¸1©}Ñ$=ò?ð ?ñ ?ùò /s   ŸAc                  óÂ  — t        d«      } t        t        dd«      D �cg c]  }t        |«      ‘Œ c}«      d   d| z  dz   | dz   | z
  dz   z  k(  sJ ‚t        g d¢«      d   d| d	z  d| dz  z  z   d	| z  z
  dz   z  t        j
                  z  k(  sJ ‚t        t        d
«      «      d   | t        dd«      z   d| dz  z  d| z  z
  dz   z  k(  sJ ‚t        t        d«      D �cg c]  }t        |«      ‘Œ c}dg¬«      d   d|  dz   z  k(  sJ ‚t        t        d«      D �cg c]  }|dz   ‘Œ	 c}dg¬«      | dz   t        | «      z  | dz   | dz   z  dœk(  sJ ‚y c c}w c c}w c c}w )Nr=   r!   r    Úogfr"   r   r   )r   r   r!   é   é)   é|   i  i°  i×  iZ/  i˜  r*   zF[3/2, 11/2, 0, -121/2, -363/2, 121, 4719/2, 11495/2, -8712, -178717/2]é   r   Úegf)Útypes)rF   Úlgdegf)
r   r   r   r   r   r9   r   r   r   r   r>   s     r   Útest_guess_generating_functionrI   7   s»  € Üˆs‹€AÜ$Ü�q˜"“ö&Øô '0°¥lò &ó  Ø %ñ'Ø,-¨a©C°!©G°q¸!±t°e¸a±iÀ!±mÑ+DòFð Fð Fä$Ú=ó?Ø?DñFà	
ˆAˆq‰D�1�Q˜‘T‘6‰M˜A˜a™CÑ !Ñ#Ñ	$¤q§v¡vÑ-ò/ð /ð /ô %¤WØOó&Qó 	à	ñàœ  A›Ñ&¨¨A¨q©D©°1°Q±3©¸Ñ):Ñ;ò<ð <ð <ô %¼EÀ"»IÖ%F°q¤i°¥lÒ%FØˆWôØñØ ! A 2¨¡6¡
ò+ð +ð +ä$´5¸³9Ö%=¨a a¨£cÒ%=ØˆWôØ"# a¡%¬¨Q«¡¸AÀ¹EÀAÈÁE¹?ÑKòLð Lñ Lùò&ùò &Gùâ%=s   ŸEÃEÄEc                  ó¢  — t        d«      \  } }t        g d¢d¬«      t        |dz   |d| dz
  f«      gk(  sJ ‚t        g d¢«      t        d| dz
  «      gk(  sJ ‚t        g d¢d¬	«      d| dz
  z  t	        d
d«      | dz  dz  d| z  dz  z
  dz   z  z  t        t        t	        dd«      |dz
  «      t        t	        dd«      |dz
  «      z  t        t	        dd«      |dz
  «      t        t	        dd«      |dz
  «      z  z  |d| dz
  f«      z  gk(  sJ ‚t        g d¢«      g k(  sJ ‚t        d«      \  }}t        g d¢||g¬«      t        d|dz
  «      gk(  sJ ‚y )Nzi0 i1)r   r   é   é   éx   F)Úevaluater   r   )r   r   é   é*   i­  i  iìT i¨�¥ r*   )Úniteré   é   r"   r!   rO   )r   r   r   zx y)Ú	variables)r   r   r	   r   r   )Úi0Úi1r=   Úys       r   Ú
test_guessrX   G   s”  € Ü�WÓ�F€BˆÜÒ#¨eÔ4¼ÀÀaÁÈ"ÈaÐQSÐVWÑQWÈÓ9YÐ8ZÒZÐZÐZÜÒ#Ó$¬¸¸BÀ¹FÓ)CÐ(DÒDÐDÐDÜÒ;À1ÔEØ	ˆB�‰F‰”X˜b "Ó%¨¨Q©¨q©°1°R±4¸±6Ñ)9Ø	ñ*
ñ ñ 	Ü”?¤8¨A¨q£>°2¸±6Ó:¼?Ì8ÐTUÐWXË>Ð[]Ø
ñ\ó <ñ Üœh q¨!›n¨b°1©fÓ5´oÄhÈqÐRSÃnÐVXØ	ñW
ó 7ñ ñà�!�R˜!‘Vˆ_óñ	ðJò ð ð ô
 ’Ó˜rÒ!Ð!Ð!Ü�5‹>�D€A€qÜÒ#°°1¨vÔ6¼?È1ÈaÐRSÉeÓ;TÐ:UÒUÐUÑUr;   N)!Úsympy.concrete.guessr   r   r   r   r   r   Úsympy.concrete.productsr	   Úsympy.core.functionr
   Úsympy.core.numbersr   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Úsympy.core.sympifyr   Ú(sympy.functions.combinatorial.factorialsr   r   Ú%sympy.functions.combinatorial.numbersr   Ú&sympy.functions.elementary.exponentialr   r   r/   r:   r?   rI   rX   © r;   r   ú<module>rd      sM   ð÷
÷ 
õ ,Ý (Ý 'Ý "ß /Ý &ß QÝ ;Ý 6ò>ò
>ò Aò?òLó Vr;   