o
    oh                     @   s   d dl mZ d dlmZmZ d dlmZ d dlmZ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mZ d dlmZmZ d	d
 Zedd Zdd Zdd Zdd Zdd Z dS )    )Tuple)Rationalpi)S)Symbolsymbols)asinh)sqrt)	CurveLinePointEllipseRaySegmentCirclePolygonRegularPolygon)raisesslowc                     s  t dddt d t d} td   d g| ddf}|j| ks#J |jd   d fks0J | td   d ks?J || td   d ksOJ td   d g ddf}|j ksdJ |jd   d fksqJ t d| td d ksJ t ddd| td d ksJ || td|  | d ksJ ||jtd   d ksJ |d td   d ksJ | ddgksJ || | ddgksJ tgdd	ftd t gdd	fksJ tgdd	ftd d
	dd
d	d tddtd d
	dd
d	d   krBtd  d d  d ksEJ  J tt fdd ttfdd tt fdd tt fdd d S )NxTrealsz   r   t   )r   r      )r   r   )r   r         c                      s   t   ddfS Nr   r   r
    )r   r#   s/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/geometry/tests/test_curve.py<lambda>0   s    ztest_curve.<locals>.<lambda>c                      s   t   d fd fS )Nr   r   r"   r#   )r   r#   r$   r%   1   s    c                      s   t    f ddf S r!   r
   arbitrary_pointr#   r   r   r#   r$   r%   3       c                      s   t    fddf S r!   r&   r#   r(   r#   r$   r%   4   s    )r   r
   	parameter	functionsr'   r   plot_intervalrotater   scale	translater   r   
ValueError)r   cr#   )r   r   r   r$   
test_curve   sH     " 8(
r2   c                  C   s  t d\} }}}}}}t| |j| |hksJ t| |f||fj| |||hks)J t| |f||fj| |||hks;J t| |f|dj| ||hksKJ t| |f||fj| |||hks]J t| |f|dj| ||hksmJ t| | || f|||fj| |||hksJ t| |f||j| |||hksJ t| |f||dj| |||hksJ t| |f||dj| |||hksJ t| |f|j| ||hksJ t| |f||f||fj|||||| hksJ t	| |f||f||fj||||| |hksJ t
| |f|||j|| |||hks
J d S )Nza:f,s)angle)slope)eccentricity)vradiusr5   )r   r   free_symbolsr   r   r   r
   r   r   r   r   )abr1   defr   r#   r#   r$   test_free_symbols7   s.   $$ $ ."

,r=   c                     s  t dddt ddd} td fddf td d d	d  d
 fddftddttjtddtddg}tddtdtddtddg} dd	dksZJ  fddtdddD |kslJ fddtdddD |ks~J t|  d	 fddf| tjttj d	 fddfksJ td	 fddf	ddtd d	 d fddfksJ d S )Nr   Tr   yr   r   r      r   
   iir   i)r?      c                       g | ]
}  |d  qS r   subs.0xi)r1   r   r#   r$   
<listcomp>W   r)   z"test_transform.<locals>.<listcomp>c                    rD   rE   rF   rH   )coutr   r#   r$   rK   X   r)   rC   )
r   r
   r   r   Halfr   r.   r   rG   r/   )r>   ptspts_outr#   )r1   rL   r   r$   test_transformN   s   ($"$$$rP   c                  C   s   t ddd} t| df| ddf}|jdksJ t| | f| ddf}|jtdks*J t| d | f| ddf}|jtd td	d	  td
d	  dtd d  ksTJ d S )Nr   Tr   r   r   r   rC      r?   r@   e   )r   r
   lengthr	   r   )r   c1c2c3r#   r#   r$   test_length_   s   @rW   c                      sT   t dtd d gddf  ddiksJ tt fdd d S )Nr   r   r   )r   r   r   c                      s     dS )N)r   r   )parameter_valuer#   Cr   r#   r$   r%   p   s    z&test_parameter_value.<locals>.<lambda>)r   r
   rX   r   r0   r#   r#   rY   r$   test_parameter_valuel   s   r[   c                  C   sp   t d\} }t| | d f| ddf}td| |d g|ddf}|dtddks+J |dtddks6J d S )Nzt sr   r   r@   r?   r   )r   r
   r   )r   r   r1   pr#   r#   r$   test_issue_17997s   s
   r]   N)!sympy.core.containersr   sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   r   %sympy.functions.elementary.hyperbolicr   (sympy.functions.elementary.miscellaneousr	   sympy.geometryr
   r   r   r   r   r   r   r   r   sympy.testing.pytestr   r   r2   r=   rP   rW   r[   r]   r#   r#   r#   r$   <module>   s    ,,
