Ë
    7^(h„  ã                   óü   — d dl 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 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mZmZm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„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/y)é    N)ÚFloat)Ú
DerivativeÚFunction)ÚS)ÚSymbol)ÚexpÚcosÚsinÚtanÚcoshÚsinh)Úsqrt)ÚPointÚPoint2DÚLineÚPolygonÚSegmentÚconvex_hullÚintersectionÚcentroidÚPoint3DÚLine3DÚRayÚEllipse)ÚidiffÚclosest_pointsÚfarthest_pointsÚ_ordered_pointsÚare_coplanar)Úsolve)Úraisesc                  óè  — t        dd¬«      } t        dd¬«      }t        dd¬«      }t        d«      }t        d«      }| dz  |dz  z   d	z
  }d
| z  | dz  |dz  z  dz   z  |dz  z  }|t        ||| d«      k(  sJ t        ||| d«      «       ‚|t        ||g| d«      k(  sJ ‚t        ||| d«      |k(  sJ ‚d| z  t        | dz   d	z   «      dz  z  }|j	                  |t        ||«      d   «      j                  |«      sJ ‚dt        ||«      D �cg c]#  }|j                  | d«      j                  |«      ‘Œ% c}v sJ ‚t        | |z   |z   ||g| «      t        || «       dz
  k(  sJ ‚t         || «      t         || «      «      z  | t        | «      z  z
   || «      | «      | dz   t        | «      z  t         || «       «      z   || «      dz   z  k(  sJ ‚t         || «      |t        | «      z  z
   || «      |g| «      |t        || «      z   t        | «      z  k(  sJ ‚t         || «      |t        | «      z  z
  | || «      g| «      | t         || «      | «      t        |  «      z  z   k(  sJ ‚t         || «       || «      z
   || «       || «      g| «      t         || «      | «      k(  sJ ‚|dt        | «       d| z  z   dz  z  t        | «      dz  z   dt        | dz  «      z  z   z
  }	t        |	|| «      dt        | «      z  t        | «      z  dt        | «      dz  z  z   dt        | «      z  z   t        | dz  «      dz  z   dt        | «      z  | z  z   dt        | «      z  | dz  z  z
  d| dz  z  z   k(  sJ ‚y c c}w )NÚxT)ÚrealÚyÚtÚfÚgé   é   éýÿÿÿé   é   é   é   r   iöÿÿÿé
   iìÿÿÿé   )r   r   r   r   Úsubsr    ÚequalsÚdiffr   r   r
   r   r   r	   r   )
r#   r%   r&   r'   r(   ÚcircÚansÚexplicitÚsolÚfxys
             ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/geometry/tests/test_util.pyÚ
test_idiffr;      s£  € Üˆs˜Ô€AÜˆs˜Ô€AÜˆs˜Ô€AÜ�‹€AÜ�‹€Aàˆa‰4�!�Q‘$‰;˜‰?€DØ
ˆQ‰$��1‘�Q˜‘T‘	˜A‘Ñ
˜q !™tÑ
#€CØ”%˜˜a  AÓ&Ò&Ð<¬¨d°A°q¸!Ó(<Ó<Ð&Ø”%˜˜q˜c 1 aÓ(Ò(Ð(Ð(Ü��q˜!˜QÓ 3Ò&Ð&Ð&Ø�1‘”T˜1˜a™4˜% !™)“_ aÑ'Ñ'€HØ�8‰8�A”u˜T 1“~ aÑ(Ó)×0Ñ0°Ô:Ð:Ð:Ø¼uÀTÈ1»~ÖN¸�C—H‘H˜Q “N×)Ñ)¨(Õ3ÒNÑNÐNÐNÜ��Q‘˜‘˜Q ˜F AÓ&¬:°a¸Ó+;Ð*;¸aÑ*?Ò?Ð?Ð?Ü‘�1“œ™A˜a›D›	Ñ! A¬¨A«¡JÑ.±°!³°aÓ8¸QÀ¹UÄCÈÃF¹NÌ3ÑPQÐRSÓPTÈuË:Ñ<UÑWXÐYZÓW[Ð^_ÑW_Ñ<`Ò`Ð`Ð`Ü‘�1“˜œC ›F™
Ñ"¡Q q£T¨1 I¨qÓ1°a¼*ÀQÈÓ:JÑ6JÌCÐPQËFÑ5RÒRÐRÐRÜ‘�1“˜œC ›F™
Ñ" Q©¨!« I¨qÓ1°a°R¼*ÁQÀqÃTÈ1Ó:MÌcÐSTÐRTËgÑ:UÑ5UÒUÐUÐUÜ‘�1“™˜!›‘™q ›t¡Q q£T˜l¨AÓ.´*¹Q¸q»TÀ1Ó2EÒEÐEÐEà
ˆs”S˜“V�G˜a ™c‘M AÑ%Ñ%¬¨A«°©	Ñ1°A´d¸1¸R¹4³j±LÑ@Ñ
A€CÜ��a˜Ó˜s¤3 q£6™z¬#¨a«&Ñ0°1´S¸³V¸Q±Y±;Ñ>Ø	Œ#ˆa‹&‰ñ Ü˜˜"™“:˜a‘<ñ  Ø"$¤S¨£V¡)¨A¡+ñ .Ø02´3°q³6±	¸!¸Q¹$±ñ ?ØACÀAÀqÁDÁñ Iò Ið Iñ Iùò Os   Ä(M/c            	      óŠ  — t        t        dd«      «      g k(  sJ ‚t        t        d„ «       t        t	        dd«      t	        dd«      t        dd«      d¬	«      t        dd«      t	        dd«      gk(  sJ ‚t        t        dd«      t	        dd«      t	        dd«      d¬	«      t        dd«      t	        dd«      gk(  sJ ‚t        t        dd«      t	        dd«      t	        dd«      t        dd
¬«      d¬	«      t        dd«      t	        dd«      gk(  sJ ‚d} t        t        t        dd«      t        dd«      «      t        t        dd«      | d¬«      d¬	«      d   j                  }|t        j                  t        ddd¬«      j                  «      k(  sJ ‚t        dd«      } t        t        t        dd«      t        dd«      «      t        t        dd«      | d¬«      d¬	«      d   j                  }|t        j                  t        ddd¬«      j                  «      k(  sJ ‚|d   j                  dk(  sJ ‚|d   j                  dk(  sJ ‚y )Nr   c                  ó.   — t        t        dd«      d«      S ©Nr   r-   )r   r   © ó    r:   ú<lambda>z#test_intersection.<locals>.<lambda>+   s   € œl¬5°°A«;¸Ó:€ r@   ©r   r   ©r)   r   )éÿÿÿÿr   )r,   r   )r   r,   T)Úpairwiser,   )Úslopeg      @gü©ñÒMbP?rD   g-Cëâ6J?g333333û¿g       @)ÚcenterÚhradiusÚvradiusgjä6éÜgG?g˜°p÷ÿÿÿ¿F)Úevaluater*   r/   é5   r1   )r   r   r!   Ú	TypeErrorr   r   r   r   r   ÚcoordinatesÚpytestÚapproxr   Ú_prec)ÚRÚcÚc2s      r:   Útest_intersectionrT   )   sz  € Üœ˜a ›Ó$¨Ò*Ð*Ð*Ü
Œ9Ñ:Ô;ÜÜ�F˜FÓ#Ü�G˜VÓ$Ü�˜Ó ¨4ô1ô 	ˆa�‹”W˜V VÓ,ð5.ò.ð .ð .ô
 Ü�˜Ó Ü�F˜FÓ#Ü�G˜VÓ$¨tô5ô 	ˆa�‹”W˜V VÓ,ð9.ò.ð .ð .ô
 Ü�˜Ó Ü�F˜FÓ#Ü�G˜VÓ$Ü�˜qÔ!¨Dô	2ô
 	ˆa�‹”W˜V VÓ,ð6.ò	.ð .ð .ð 	€AÜÜ”˜˜rÓ"Ü�F˜DÓ!ó#äœ7 1 a›=°!¸SÔAÈDô	Rð STñ	U÷ VaÑU`ð ð ”—‘ÜÐ(Ð*;ÀeÔL×XÑXóZò Zð Zð Zô 	ˆa�‹€AÜ	Ü”˜˜rÓ"Ü�F˜DÓ!ó#äœ7 1 a›=°!¸SÔAÈDô
Rð STñ
U÷ VaÑU`ð ð ”—‘ÜÐ(Ð*;ÀeÔL×XÑXóZò Zð Zð ZàˆQ‰4�:‰:˜ÒÐÐØˆa‰5�;‰;˜"ÒÐÑr@   c                  óÚ   — t        t        d„ «       g d¢} t        | i ddi¤Žt        dd«      t        dd«      t        d	d«      t        d
d«      gt        dd«      t        d
d«      gfk(  sJ ‚y )Nc                  ó.   — t        t        dd«      d«      S r>   )r   r   r?   r@   r:   rA   z"test_convex_hull.<locals>.<lambda>P   s   € œk¬%°°1«+°qÓ9€ r@   ©)r,   rD   )r,   éþÿÿÿ)r-   rD   )éûÿÿÿrX   )é   éüÿÿÿÚpolygonFrY   rX   r,   rD   r-   rZ   r[   )r!   rL   r   r   )Úpointss    r:   Útest_convex_hullr^   O   sp   € Ü
Œ9Ñ9Ô:Ú<€FÜ˜Ð5 9¨eÐ"4Ñ5Ü	��R‹œ' ! R›.¬'°!°R«.¼'À"Àb»/ÐJÜ	��R‹œ' " b›/Ð*ð:,ò ,ð ,ñ ,r@   c                  óÜ  — t        ddd«      } | j                  dd«      }t        | |«      t        dd«      dz  k(  sJ ‚t	        dd«      } t	        dd	«      }t        | |«      t        d
t        d«       dz   «      k(  sJ ‚t        t        dd«      t        dd«      «      t        dd«      dz  k(  sJ ‚t        t        dd«      t        dd«      t        dd«      «      t        dd«      dz  k(  sJ ‚y )NrB   )r0   r   )r0   r0   r   r1   é(   r-   rC   )r)   r)   r,   r)   )r   Ú	translater   r   r   r   )ÚpÚqs     r:   Útest_centroidrd   W   sÙ   € Ü�˜ Ó*€AØ	�‰�A�rÓ€AÜ�A�q‹>œU 2 r›]¨1™_Ò,Ð,Ð,Ü�˜Ó€AÜ�˜Ó€AÜ�A�q‹>œU 1¤t¨A£w h°¡lÓ3Ò3Ð3Ð3Ü”E˜!˜Q“K¤ q¨!£Ó-´°q¸!³¸Q±Ò>Ð>Ð>Ü”E˜!˜Q“K¤ q¨!£¬e°A°q«kÓ:¼eÀAÀq»kÈ!¹mÒKÐKÑKr@   c            
      ó"  ‡— ddl m}  ddlm} t        t
        fD �]S  }|t        k(  rt        Šnt        Št        t        ˆfd„«       t        dd«      t        dd«      t        dd«      g}t        dd«      t        dd«      t        dd«      g}t        dd«      t        dd«      t        dd«      g}t        dd«      t        dd«      t        d	d«      g}t        dd«      t        dd«      t        d
d«      g}t        dd«      t        dd«      t        dd«      t        d
d«      g}t        dd¬«      }	|	df|	dz   df|	dz   dffD �
cg c]  }
t        |
«      ‘Œ }}
|||||||fD ]]  } |d„  |t        |«      d«      D «       «      }t         ‰|Ž «      d   x}\  }
}|
j                  |«      |k(  sJ ‚|t        |«      k(  rŒ]J ‚ t        «       }t!        |«      dk7  r8|j#                  t         | dd«       | dd«      «      «       t!        |«      dk7  rŒ8t        |«      } |d„  ||d«      D «       «      }t         ‰|Ž «      d   x}\  }
}|
j                  |«      |k(  sJ ‚|t        |«      k(  r�ŒTJ ‚ t        dd«      t        dd«      t        t$        j&                  t)        d«      dz  «      }}}
 ||
||fd«      D ��ch c]  \  }}t        ||f«      ’Œ }}}t        |||
«      |k(  sJ ‚t        |||
«      |k(  sJ ‚g d¢}t        |Ž t        dd«      t        dd	«      fhk(  sJ ‚g d¢}t        |Ž t        dd«      t        dd«      fhk(  sJ ‚t        dd«      t        dd«      t        dd«      fhk(  sJ ‚t        t        d„ «       y c c}
w c c}}w )Nr   )Úrandint)Úsubsetsc                  ó>   •—  ‰ t        dd«      t        dd«      «      S )Nr   )r   )Úfuncs   €r:   rA   z5test_farthest_points_closest_points.<locals>.<lambda>l   s   ø€ ¡4¬°°1«´w¸qÀ!³}Ó#E€ r@   r-   r,   r)   r0   r*   rD   r#   T)Úpositivec              3   óD   K  — | ]  \  }}|j                  |«      –— Œ y ­w©N©Údistance©Ú.0ÚiÚjs      r:   ú	<genexpr>z6test_farthest_points_closest_points.<locals>.<genexpr>   s   è ø€ ÒF¡d a¨�A—J‘J˜q—MÑFùó   ‚ é   éd   c              3   óD   K  — | ]  \  }}|j                  |«      –— Œ y ­wrl   rm   ro   s      r:   rs   z6test_farthest_points_closest_points.<locals>.<genexpr>Š   s   è ø€ Ò=¡$ ! Q�—
‘
˜1—Ñ=ùrt   )©r,   r,   )r,   r)   )r-   r,   )rY   r)   )rZ   r*   rY   rZ   rW   rX   r[   rx   rB   c                  ó   — t        d«      S )Nrx   )r   r?   r@   r:   rA   z5test_farthest_points_closest_points.<locals>.<lambda>    s   € œ¨vÓ6€ r@   )Úsympy.core.randomrf   Úsympy.utilities.iterablesrg   ÚminÚmaxr   r   r!   Ú
ValueErrorr   r   ÚsetÚlistrn   r   ÚlenÚaddr   ÚHalfr   )rf   rg   ÚhowÚp1Úp2Úp3Úp4Úp5Údupr#   ÚaÚsr]   Údr6   ÚbrR   rq   rr   ri   s                      @r:   Ú#test_farthest_points_closest_pointsr�   b   s¨  ø€ Ý)Ý1ä”Sˆzó '+ˆØ”#Š:Ü!‰Dä"ˆDäŒzÓEÔFô �a˜‹mœW Q¨›]¬G°A°q«MÐ:ˆä�a˜‹mœW Q¨›]¬G°A°q«MÐ:ˆä�a˜‹mœW Q¨›]¬G°A°r«NÐ;ˆä�a˜‹mœW Q¨›]¬G°A°q«MÐ:ˆä�a˜‹mœW Q¨›]¬G°B¸«NÐ;ˆä�q˜!‹}œg a¨›m¬W°Q¸«]¼GÀBÈ»NÐKˆä�3 Ô&ˆØ#$ a &¨1¨q©5°!¨*°q¸1±u¸a°jÐ!AÖB˜AŒW�Q�ZÐBˆÐBà˜2˜r 2 r¨3°Ð2ò 	/ˆFÙÑF©g´c¸&³kÀ1Ó.EÔFÓFˆAÜ™d F˜mÓ,¨QÑ/Ð/ˆC‘$�!�QØ—:‘:˜a“= AÒ%Ð%Ð%Øœ/¨#Ó.Ó.Ð.Ð.ð		/ô “ˆÜ�&‹k˜QÒØ�J‰J”w™w q¨#›±¸¸3³Ó@ÔAô �&‹k˜QÓä�f“ˆÙÑ=©'°&¸!Ó*<Ô=Ó=ˆÜ™$ ˜-Ó(¨Ñ+Ð+ˆ‰dˆa�Ø�z‰z˜!‹} Ò!Ð!Ð!Ø”o cÓ*Ô*Ð*Ð*ðO'+ôV 	��1‹”w˜q !“}¤g¬a¯f©f´d¸1³g¸a±iÓ&@ð €q€Añ ˜Q  1˜I qÓ)÷+ÙˆAˆqô ˜A˜q˜6Õ"ð +€Cñ +ä˜!˜Q Ó" cÒ)Ð)Ð)Ü˜1˜a Ó# sÒ*Ð*Ð*ò 8€FÜ˜FÐ#Ü	��Q‹œ  Q›Ð(ð(*ò *ð *ð *â<€FÜ˜FÐ#Ü	��R‹œ' " b›/Ð*ð(,ò ,ð ,ð ,ä˜6 6Ó*Ü	��A‹œ  1›Ð&ð/(ò (ð (ð (ä
Œ:Ñ6Õ7ùòI Cùó,+s   ÅNÊ>Nc                  óV  — t        t        ddd«      t        ddd«      «      } t        t        ddd«      t        ddd«      «      }t        t        ddd«      t        ddd«      «      }t        t        dd«      t        dd«      «      }t	        | ||«      dk(  sJ ‚t	        | |«      dk(  sJ ‚y )	Nr/   r   r,   rD   rX   r-   é	   F)r   r   r   r   r   )r‹   rŽ   rR   r�   s       r:   Útest_are_coplanarr’   £   s    € ÜŒw�q˜!˜QÓ¤¨¨B°Ó!2Ó3€AÜŒw�q˜"˜aÓ ¤'¨!¨Q°Ó"2Ó3€AÜŒw�q˜"˜aÓ ¤'¨!¨R°Ó"3Ó4€AÜŒW�Q˜‹]œG A q›MÓ*€Aä˜˜1˜aÓ  EÒ)Ð)Ð)Ü˜˜1Ó Ò&Ð&Ñ&r@   )0rN   Úsympy.core.numbersr   Úsympy.core.functionr   r   Úsympy.core.singletonr   Úsympy.core.symbolr   Úsympy.functionsr   r	   r
   r   r   r   Ú(sympy.functions.elementary.miscellaneousr   Úsympy.geometryr   r   r   r   r   r   r   r   r   r   r   r   Úsympy.geometry.utilr   r   r   r   r   Úsympy.solvers.solversr    Úsympy.testing.pytestr!   r;   rT   r^   rd   r�   r’   r?   r@   r:   ú<module>r�      s_   ðÛ Ý $ß 6Ý "Ý $ß :× :Ý 9÷:÷ :÷ :ó :ç eÕ eÝ 'Ý 'òIò4#òL,òLò>8óB'r@   