o
    ݹi                     @   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s&J | jttfks/J | jdks6J t tttfttd td  tt  d}|jtd td  tt  d ks^J |jtttfkshJ |jdksoJ d S )N               )r   r   r   equation	variablesdegreer   r   )ellipser r   c/home/ubuntu/veenaModal/venv/lib/python3.10/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s)J t ttfttdd  d td  tdd d  }| tdd td d fksWJ t ttftd d dtd   }| dkspJ 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sJ 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 N)regular_pointr   r3r   r   <lambda>!       z$test_regular_point.<locals>.<lambda>)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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s@J |ddksIJ |ddksRJ t tttftd td  td  }| tdksnJ |ddkswJ t ttftd td  dt  }| tksJ |t	dddksJ d S )Nr   r   r   )r   r   r   r   )r   r   r   r   )
r   r   r   r   r   singular_pointsr
   r	   multiplicityr   )r*   r.   r&   r4r   r   r   $test_singular_points_and_multiplicty$   s   0"$"r3   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sdJ 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sJ 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sJ 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sBJ t ttftd td  }|ttd td fks_J t ttftd td  td  }	|	ttd d ttd d  fksJ 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sJ 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                      r"   r#   rational_parametrizationr   )r*   r   r   r'   X   r(   z/test_rational_parametrization.<locals>.<lambda>c                      r"   r#   r9   r   )r.   r   r   r'   Z   r(   )r   r   r:   r   r   r   r   Halfr   r   r   NotImplementedError)plinecircle1circle2circle3parabolarect_hyperbolacubic_curvecuspidalIsphereconicr   )r*   r.   r   test_rational_parametrization3   s<   &D0L$F"*$". ",.d<P&rI   N)sympy.core.relationalr   sympy.core.singletonr   	sympy.abcr   r   r   r   r   
sympy.setsr	   r
   sympy.geometryr   sympy.vectorr   sympy.testing.pytestr   r   r/   r3   rI   r   r   r   r   <module>   s    