U
    	-e                     @   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sLt| jttfks^t| jdksltt tttfttd td  tt  d}|jtd td  tt  d kst|jtttfkst|jdkstd S )N               )	r   r   r   ZequationAssertionError	variablesZdegreer   r   )Zellipser r   g/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/vector/tests/test_implicitregion.pytest_ImplicitRegion
   s    &&*&r   c                     s  t tftd d } |  dks$tt ttftd td  d }| dksRtt ttfttdd  d td  tdd d  }| tdd td d fkstt ttftd d dtd   }| dkst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sDt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   r   
ValueError)r1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.tt tttftt t td  td td   }| tddtftddfkst|	ddkst|	ddkstt tttftd td  td  }| tdkst|	ddkstt ttftd td  dt  }| tks"t|	t
dddks<td S )Nr   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   Zsingular_pointsr
   r   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&tt ttfttdt d }| tdt d fks^t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st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sFt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stt ttftd d dtd   }|tddtd   ddt  fks tt ttftt d }|td	td t  tfks:tt ttftd td  td  }|jtdtd d ttd d  fkstt ttftd td  }|ttd td fkstt ttftd td  td  }	|	ttd d ttd d  fkst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st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sDt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    r3   r   )r+   r   r   r$   Z   r%   )r   r   r4   r   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<& *&r9   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-   r9   r   r   r   r   <module>   s   