o
    GZh                     @   s   d Z ddl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mZmZmZmZmZmZ dd	 Zd
d Zdd Zdd Zdd ZdS )z9Tests for high-level polynomials manipulation functions.     )
symmetrizehornerinterpolaterational_interpolateviete)MultivariatePolynomialError)S)symbols)raises)abcdexyzc                  C   sd  t dtttdksJ t dtttdksJ tt t } tt tt  tt  }t ddks0J t dddddg fks=J t ttdfksGJ t td td dfksUJ t ttttt t fksdJ t td tttt d t fkswJ t tttt| t t fksJ t td ttt| d t t fksJ t td ttt| d d|  td  td  fksJ t td td  dt t tt d  dfksJ t td td  dt t tt d  dtd  fksJ t td	 td  ttd   ttd	   ttd
t t tt  dt t t  ttt d   tt d	  td dt  td	 td   fks:J td }\}}}t td tttd|d|d t t |tt t f|tt tt  tt  f|tt t fgfkswJ t g dg dksJ t g dddg dg fksJ t tt tt gtt dftt dt fgksJ d S )Nr   )r   r      r   r   T)formal      zu:3)r   r	   r   r   r   )r   )r   r   )r   r   )r   r   r   r   r   r   r	   )s1s2UZu0u1u2 r    O/var/www/auris/lib/python3.10/site-packages/sympy/polys/tests/test_polyfuncs.pytest_symmetrize   s6   & (84<.>
H
":r"   c                   C   sN  t ddksJ t ddksJ t ttksJ t td td ks$J t td d td d ks4J t td t td t ksDJ t td t d td t d ksXJ t dtd  dtd   dtd   d	t  d
 dt d t d t d	 t d
 ksJ t ttd  ttd   ttd   tt  t tt t t t t t t t ksJ t dtd  td  dtd  t  dt td   tt  tddt d t t dt d t  t ksJ t dtd  td  dtd  t  dt td   tt  tddt d t t dt d t  t ks%J d S )Nr   r   r   	         r            )Zwrt)r   r   r   r   r   r   r   r   r    r    r    r!   test_horner9   sF     (."."B
Br)   c                   C   s  t g dttd ksJ t g dttdtd  d tdtd   tdt d  d ks2J t g dttd ks?J t g d	td
td  ksNJ t ddddtd
td  ks_J t dddddttd td  d tdtd   tdt d  d ksJ t g dttdtd  d tdtd  d  tdtd  d  tdt d  d ksJ t dddksJ t dd
tju sJ t td
fd fttju sJ t td
ddittju sJ t dtfd!fttd dt  d ksJ d S )"N)r   r$   r#      r   )r   r$   r#      r   r%   !   r#   ))r   r   )r   r$   )r   r#   ))r   r   r   r(   )r   
   r   r(   r.   r      )r(   r&   r%   r#         i     )r   r   )r   r'   r-   )r(   r&   )r   r$   ir$   i           iO  i  r'   )r#   r$   r#   )r   r#   r*   )r   r   r3   )r   r   r   ZOner    r    r    r!   test_interpolateN   s    J"8N.r7   c                  C   s2  t d\} }g d}g d}g d}ttt||dd| d  d |  ks(J ttt||dd| d  d |  ks>J ttt||d|dd	|d  d
 |d  ksXJ ttdd}g d}ttt||dd| d  d| d   d| d   d|   d | d d| d   d|   d  ksJ d S )Nzx,y)r   r   r   r$   r(   r'   )x            i8  ir  )i.ii      i^  i  r   <   r   )Xr<   i  r      )
l*oW6 l5(  lutNlKnlvvIO~l)*U_Vlfg<AldH+L;lP@\SQBlsG/KTr(   l]s[Nqr$   l   >"=4 l   76]l   Q{ r#   )r	   r   listziprange)r   r   ZxdataZydata1Zydata2Zydatar    r    r!   test_rational_interpolate_   s8   


rD   c                     s   t d\ } tttd  tt  t  | gt |  t t f |  tt fgks+J ttdd  tt fdd tt fdd d S )Nzr1, r2r   c                   S   s   t dg tS )Nr   r   r   r    r    r    r!   <lambda>{   s    ztest_viete.<locals>.<lambda>c                      s   t td d  gS )Nr   r   rE   r    r1r    r!   rF   |   s    c                      s   t tt  gS )N)r   r   r   r    rG   r    r!   rF   ~   s    )	r	   r   r   r   r   r   r
   
ValueErrorr   )r2r    rG   r!   
test_vieteu   s    rK   N)__doc__Zsympy.polys.polyfuncsr   r   r   r   r   Zsympy.polys.polyerrorsr   Zsympy.core.singletonr   Zsympy.core.symbolr	   Zsympy.testing.pytestr
   Z	sympy.abcr   r   r   r   r   r   r   r   r"   r)   r7   rD   rK   r    r    r    r!   <module>   s    ('