
    sg                     r    d Z ddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
mZmZmZ ddlmZ d Zd Zd	 Zd
 Zd Zy)z>Tests for efficient functions for generating Appell sequences.    )Rational)Poly)raises)bernoulli_polybernoulli_c_poly
euler_polygenocchi_poly
andre_poly)xc                     t        t        d        t        dt        d      t	        t        t        dd      z
        k(  sJ t        dt              dk(  sJ t        dt              t        t        dd      z
  k(  sJ t        dt              t        dz  t        z
  t        dd      z   k(  sJ t        dt              t        dz  t        dd      t        dz  z  z
  t        dd      t        z  z   k(  sJ t        d	t              t        d	z  dt        dz  z  z
  t        dz  z   t        dd
      z
  k(  sJ t        dt              t        dz  t        dd      t        d	z  z  z
  t        dd      t        dz  z  z   t        dd      t        z  z
  k(  sJ t        dt              t        dz  dt        dz  z  z
  t        dd      t        d	z  z  z   t        dd      t        dz  z  z
  t        dd      z   k(  sJ t        d      j                  t        t        dd      z
        sJ t        dd      t	        t        t        dd      z
        k(  sJ y )Nc                  "    t        dt              S N)r   r        T/var/www/html/venv/lib/python3.12/site-packages/sympy/polys/tests/test_appellseqs.py<lambda>z%test_bernoulli_poly.<locals>.<lambda>
   s    ~b!4 r      Tpolys   r                  *   )r   
ValueErrorr   r   r   Qdummy_eqr   r   r   test_bernoulli_polyr!   	   s   
:45!Qd+tA!AJ/????!Q1$$$!Q1q1v:---!Q1a4!8a!f#4444!Q1a4!Aa&A+#5!Aq#@@@@!Q1a4!AqD&=1a4#7!Ab'#AAAA!Q1a4!Aa&A+#5!Aq!t#Ca!fQh#NNNN!Q1a4!AqD&=1Qq6!Q$;#>1Q1#LqQRSUw#VVVV!%%a!Aa&j111!4(DQqV,<<<<r   c                  P   t        t        d        t        dt        d      t	        t        d      k(  sJ t        dt              dk(  sJ t        dt              t        k(  sJ t        dt              t        dz  t        dd	      z
  k(  sJ t        d	t              t        d	z  t        z
  k(  sJ t        d
t              t        d
z  dt        dz  z  z
  t        dd      z   k(  sJ t        dt              t        dz  t        dd	      t        d	z  z  z
  t        dd	      t        z  z   k(  sJ t        dt              t        dz  dt        d
z  z  z
  dt        dz  z  z   t        dd      z
  k(  sJ t        d      j                  t              sJ t        dd      t	        t        d      k(  sJ dt        dt        dz   dz        j                         z  t        dt              k(  sJ dt        dt        dz   dz        j                         z  t        dt              k(  sJ y )Nc                  "    t        dt              S r   )r   r   r   r   r   r   z'test_bernoulli_c_poly.<locals>.<lambda>   s    /A6 r   r   Tr   QQ)domainr   r   r   r         r   
   r               i   	   )	r   r   r   r   r   r   r    r   expandr   r   r   test_bernoulli_c_polyr/      s   
:67Aq-a1EEEEAq!Q&&&Aq!Q&&&Aq!QTAaF]222Aq!QTAX---Aq!QTAadF]QqW%<<<<Aq!QTAbGAqDL%81Qq6!8%CCCCAq!QTAadF]Qq!tV%;a2h%FFFFA''***AT*d1T.BBBB.QqS!G,33559I!Q9OOOO.QqS!G,33559I!Q9OOOOr   c                     t        t        d        t        dt        d      t	        dt        z  dz         k(  sJ t        dt              dk(  sJ t        dt              dk(  sJ t        dt              ddt        z  z
  k(  sJ t        d	t              d	t        z  d	t        dz  z  z
  k(  sJ t        d
t              ddt        dz  z  z   d
t        d	z  z  z
  k(  sJ t        dt              dt        z  dt        d	z  z  z   dt        d
z  z  z
  k(  sJ t        dt              d	dt        dz  z  z
  dt        d
z  z  z   dt        dz  z  z
  k(  sJ t        d      j                  dt        z  dz         sJ t        dd      t	        dt        z  dz         k(  sJ dt        dt              t        dt              z
  z  t        dt              k(  sJ dt        dt              t        dt              z
  z  t        dt              k(  sJ y )Nc                  "    t        dt              S r   )r	   r   r   r   r   r   z$test_genocchi_poly.<locals>.<lambda>+   s    }R3 r   r   Tr   r   r   r   r   r   r   r   r(   r'   r,   r-   )r   r   r	   r   r   r    r   r   r   r   r   test_genocchi_polyr4   *   s   
:34AT*d2a4!8n<<<A!###A"$$$A!ac')))A!A#!Q$,...A"qAv+!Q$"6666A"Q$AqD.1QT6"9999A!bAg+1a4"7!AqD&"@@@@$$RTAX...$'41q>999q!$'71'==>-PQSTBUUUUq!$'71'==>-PQSTBUUUUr   c                     t        t        d        t        dt        d      t	        t        t        dd      z
        k(  sJ t        dt              dk(  sJ t        dt              t        t        dd      z
  k(  sJ t        dt              t        dz  t        z
  k(  sJ t        dt              t        dz  t        dd      t        dz  z  z
  t        dd      z   k(  sJ t        dt              t        dz  dt        dz  z  z
  t        z   k(  sJ t        d	t              t        d	z  t        d	d      t        dz  z  z
  t        d	d      t        dz  z  z   t        dd      z
  k(  sJ t        d
t              t        d
z  dt        d	z  z  z
  d	t        dz  z  z   dt        z  z
  k(  sJ t        d      j                  t        t        dd      z
        sJ t        dd      t	        t        t        dd      z
        k(  sJ t        dt              t        dt              dz  k(  sJ t        dt              t        dt              dz  k(  sJ y )Nc                  "    t        dt              S r   )r   r   r   r   r   r   z!test_euler_poly.<locals>.<lambda>=       z"a0 r   r   Tr   r   r   r   r   r   r   r-   r,   ir(   i)r   r   r   r   r   r   r    r	   r   r   r   test_euler_polyr8   <   s   
:01a$'4AaF
+;;;;aq   aq1Qq6z)))aq!tax'''aq!ta!fQTk1AaF::::aq!ta1f}q0000aq!ta!fQTk1AaF1a4K?!Aa&HHHHaq!ta1f}qAv5!;;;;a=!!!a!f*---at$Q1QZ(8888A*Q"2R"7777Q:a#3c#9999r   c                     t        t        d        t        dt        d      t	        t              k(  sJ t        dt              dk(  sJ t        dt              t        k(  sJ t        dt              t        dz  dz
  k(  sJ t        dt              t        dz  dt        z  z
  k(  sJ t        dt              t        dz  d	t        dz  z  z
  d
z   k(  sJ t        d
t              t        d
z  dt        dz  z  z
  dt        z  z   k(  sJ t        d	t              t        d	z  dt        dz  z  z
  dt        dz  z  z   dz
  k(  sJ t        d      j                  t              sJ t        dd      t	        t              k(  sJ y )Nc                  "    t        dt              S r   )r
   r   r   r   r   r   z!test_andre_poly.<locals>.<lambda>O   r7   r   r   Tr   r   r   r   r   r   r   r(      r'   K   =   )r   r   r
   r   r   r    r   r   r   test_andre_polyr>   N   sP   
:01a$'47222aq   aq   aq!tax'''aq!tacz)))aq!ta1f}q0000aq!tbAg~14444aq!tbAg~1a47"<<<<a=!!!$$$at$Q///r   N)__doc__sympy.core.numbersr   r   sympy.polys.polytoolsr   sympy.testing.pytestr   sympy.polys.appellseqsr   r   r   r	   r
   	sympy.abcr   r!   r/   r4   r8   r>   r   r   r   <module>rE      s9    D , & '+ + =P$V$:$0r   