a
    lh                     @   s   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mZ d dlmZ d dlmZ d dlmZ dd	 Zd
d Zdd Zdd ZdS )    )Eq)S)xyzst)	FiniteSetEmptySet)Point)ImplicitRegion)raisesc                  C   s   t ttftd d td d  d } | jtd d td d  d ksLJ | jttfks^J | jdkslJ t tttfttd td  tt  d}|jtd td  tt  d ksJ |jtttfksJ |jdksJ d S )N               )r   r   r   Zequation	variablesZdegreer   r   )Zellipser r   T/var/www/auris/lib/python3.9/site-packages/sympy/vector/tests/test_implicitregion.pytest_ImplicitRegion
   s    &&*&r   c                     s  t tftd d } |  dks$J t ttftd td  d }| dksRJ t ttfttdd  d td  tdd d  }| tdd td d fksJ t ttftd d dtd   }| dksJ t ttftd dt t  d	td   dt  d
t  d }| tdd tdd fksDJ t ttftd dt t  d	td   dt  dt  d  tt fdd d S )Nr   r   )r   )r      r   )r   r            	   g      ?c                      s      S N)regular_pointr   r3r   r   <lambda>!       z$test_regular_point.<locals>.<lambda>)r   r   r    r   r   r   
ValueError)r1Zc1c2c3r2r   r!   r   test_regular_point   s    6&">&>r*   c                  C   s@  t tttfttt t d} |  tks.J t tttftt t td  td td   }| tddtftddfksJ |ddksJ |ddksJ t tttftd td  td  }| tdksJ |ddksJ t ttftd td  dt  }| tks"J |t	dddks<J d S )Nr   r   r   )r   r   r   r   )r   r   r   r   )
r   r   r   r   r   Zsingular_pointsr
   r	   Zmultiplicityr   )r&   r)   r"   Zr4r   r   r   $test_singular_points_and_multiplicty$   s    0"$"r+   c                     s  t tftd } |  td fks&J t ttfttdt d }| tdt d fks^J t ttftd d td d  d }|jtddt td d  d dtd  td d  d fksJ t ttfttj d td  tdd d  }|jtdttd d  tdd  td td d  tdd  fksFJ t ttfttd td  dt }|jtfddt td d  d dtd  td d  d fksJ t ttftd d dtd   }|tddtd   ddt  fks J t ttftt d }|td	td t  tfks:J t ttftd td  td  }|jtdtd d ttd d  fksJ t ttftd td  }|ttd td fksJ t ttftd td  td  }	|	ttd d ttd d  fksJ t tttfttd td  td  dt }
|
jt	tfddt	d td  d  dt t	d td  d  dt	 t	d td  d  fksJ t ttfttd dt t  dtd   t t d
 d}|ttdd ddtd  dt  d   dt dtd  dt  d  tdd  fksDJ t ttftd td  t  t
t fdd t ttftd td  td  d t
tfdd d S )Nr   r   r   )
parametersr   r   r   i
   r         c                      s      S r   rational_parametrizationr   )r&   r   r   r#   X   r$   z/test_rational_parametrization.<locals>.<lambda>c                      s      S r   r1   r   )r)   r   r   r#   Z   r$   )r   r   r2   r   r   r   r   ZHalfr   r   r   NotImplementedError)plineZcircle1Zcircle2Zcircle3ZparabolaZrect_hyperbolaZcubic_curveZcuspidalIZsphereZconicr   )r&   r)   r   test_rational_parametrization3   s<    &D0N$H",$". ",.d<P&r7   N)Zsympy.core.relationalr   Zsympy.core.singletonr   Z	sympy.abcr   r   r   r   r   Z
sympy.setsr	   r
   Zsympy.geometryr   Zsympy.vectorr   Zsympy.testing.pytestr   r   r*   r+   r7   r   r   r   r   <module>   s   