+
    ik                        ^ RI HtHtHtHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHtHtHt ^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t" ^ R	I#H$t$H%t%H&t& ^ R
I'H(t( ^ RI)H*t*H+t+ ^ RI,H-t- ^ RI.H/t/ R t0]%R 4       t1R t2R t3R t4R t5R t6R t7R t8R t9R t:R t;R t<R t=R t>R t?R t@R tAR  tBR! tCR" tDR# tER$ tFR% tGR& tHR'# )(    )FloatRationaloopi)S)Symbolsymbols)Abs)sqrt)acoscossin)tan)CircleEllipseGeometryErrorPointPoint2DPolygonRayRegularPolygonSegmentTriangleare_similarconvex_hullintersectionLineRay2D)raisesslowwarns)verify_numerically)raddeg)	integrate)rotate_leftc                R    \        R4      pV) W,
          u;8  ;'       d    V8  # u # )z.Test if two floating point values are 'equal'.z1.0E-10)r   )abt_floats   && _/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/geometry/tests/test_polygon.pyfeqr,      s)    IG8ae%%g%%%%    c                  <  a)a* \        R RR7      o)\        RRR7      o*\        RRR7      p \        RRR7      p\        RRR7      p\        RRR7      p\        RRR7      p\        P                  p\        ^ ^ 4      \        ^^ 4      \        ^^4      rp\	        WgV4      p	\        \        ^ ^ 4      4      \        ^ ^ 4      8X  g   Q h\        V\        ^^ 4      Wx4      V	8X  g   Q h\        \        ^^ 4      WxV4      V	8X  g   Q h\        WxV\        ^^ 4      4      V	8X  g   Q h\        V\        ^^ 4      Wx4      V	8X  g   Q h\        Wg\        ^R4      Wx4      V	8X  g   Q h\        \        R ^4      \        R!^4      \        R"^4      \        R"R	4      \        R"R#4      \        R"R"4      \        R$R"4      \        R%R"4      \        ^R"4      \        ^R"4      \        ^R&4      \        ^^
4      \        ^^4      4      \        \        R"R"4      \        ^R"4      \        ^^4      \        R"^4      4      8X  g   Q h\        \        ^ ^ 4      \        ^R4      \        ^^ 4      \        ^^4      \        ^^4      \        ^ ^4      4      p
\        \        ^^ 4      \        ^R4      \        ^ ^ 4      \        ^ ^4      \        ^^4      \        ^^4      4      p\        \        ^ ^ 4      \        ^^ 4      \        ^^4      \        ^^4      4      p\        \        ^ ^ 4      \        ^^4      \        ^^4      \        ^^ 4      4      p\        \        ^ ^ 4      \        ^^4      \        ^ ^4      4      p\        \        R!^4      \        R'R	4      \        R R&4      \        R$R#4      4      p\        \        S)S*4      \        W4      \        W#4      4      p\        \        S)S*4      \        W#4      \        W4      4      p\        \        ^ ^ 4      \        ^^4      \        ^^ 4      \        ^^4      4      p\        \        ^ ^4      \        ^^4      \        ^ ^ 4      \        ^^ 4      4      p\        \        ^ ^ 4      ^^R
7      p\        \        ^ ^ 4      ^^ ^R
7      p\        \        ^ ^ 4      \        ^^4      \        ^^4      \        ^ ^4      4      p\        \        VP                  ^4      !  p\        \        R'R	4      \        R'R4      4      pW8X  g   Q h\        V
P                  4      ^8X  g   Q h\        V
P                  4      ^8X  g   Q hV
P                  ^^\        ^
4      ,          ,           \        ^4      ,           \        ^4      ,           8X  g   Q hV
P                  ^8X  g   Q hV
P                  4       '       d   Q h\        R(R)R*R+R,4      P                  4       RJ g   Q hVP                  4       '       g   Q hVP                  4       '       g   Q hVP                  pV\        ^ ^ 4      ,          \         ^,          8X  g   Q hV\        ^ ^4      ,          \         ^,          8X  g   Q hVP#                  \        S)S*4      4      e   Q hVP#                  \        ^^4      4      '       g   Q hVP#                  \        ^ ^ 4      4      RJ g   Q hVP#                  \        ^^ 4      4      RJ g   Q hV
P%                  \'        \        RR4      ^4      4      RJ g   Q hV
P%                  \)        \        R^4      ^^4      4      RJ g   Q hVP+                  R 4      S)^ ^.8X  g   Q hVP-                  \        \        ^
^
4      \        ^^4      \        ^
^4      4      4      ^\        ^4      ,          8X  g   Q hVP-                  \        \        ^^4      \        ^^4      \        ^^4      \        ^^4      4      4      ^8X  g   Q h\/        \0        RR7      ;_uu_ 4        \        \        ^ ^ 4      \        ^^ 4      \        ^^4      4      P-                  \        \        ^ ^ 4      \        ^ ^4      \        ^^4      4      4       RRR4       \3        V4      \3        \        \        ^ ^ 4      \        ^^4      \        ^ ^4      4      4      8X  g   Q h\3        V
4      \3        V4      8X  g   Q h\3        V4      \3        V4      8X  g   Q h\3        V4      \3        V4      8w  g   Q hV\        \        ^^4      \        ^ ^4      \        ^ ^ 4      4      8X  g   Q h\        \        ^^4      \        ^ ^4      \        ^ ^ 4      4      V9   g   Q hV\        ^ ^4      8w  g   Q h\        ^ ^4      V9   g   Q hVP5                  R4      P7                  \        RRR7      ^ 4      \        ^ ^ 4      8X  g   Q h\9        \:        V)V*3R l4       VP=                  V4      \        R'\?        R-^4      4      \        R'\?        ^!^4      4      .8X  g   Q hVP                  ^ 8X  g   Q hV\A        \        ^ ^ 4      ^^^ 4      8X  g   Q hVV8X  g   Q hVPB                  ^ ,          \        ^^ 4      8X  g   Q hVP                  ^ ,          \        ^ ^ 4      8X  g   Q hVPE                  \         ^,          4       VPB                  ^ ,          \        ^ ^4      8X  g   Q h\A        \        ^ ^ 4      ^
^4      p
\A        \        ^ ^ 4      ^^4      p\9        \F        R 4       \9        \F        R 4       \9        \:        R 4       W8w  g   Q hV
PH                  \         \?        ^^4      ,          8X  g   Q hV
PJ                  \         \?        ^^4      ,          8X  g   Q hVPL                  ^\O        \         ^,          4      ,          8X  g   Q hVPP                  V
PP                  u;8X  d   \        ^ ^ 4      8X  g   Q h Q hV
PR                  V
PT                  u;8X  d	   ^
8X  g   Q h Q hVPV                  \'        \        ^ ^ 4      ^4      8X  g   Q hVPX                  \'        \        ^ ^ 4      VPL                  4      8X  g   Q hVPZ                  VPL                  u;8X  d'   ^^\        ^4      ,           ,          ^,          8X  g   Q h Q hVPE                  \         ^
,          4       VP                  pV\        ^ ^4      ,          ^\         ,          ^,          8X  g   Q hV
P                  4       '       g   Q hV
P\                  ^ 8X  g   Q hV
P#                  \        ^ ^ 4      4      '       g   Q hV
P#                  \        ^^ 4      4      RJ g   Q hVP#                  \        ^ R4      4      '       g   Q hV
PE                  \         ^,          4       V
P\                  \         ^,          8X  g   Q hV
PB                  ^ ,          \        ^^\        ^4      ,          4      8X  g   Q hV
P                   FE  p\_        V\        4      '       d   V\        ^ ^ 4      8X  g   Q hK.  V^^
\         ^,          39   d   KE  Q h	  V
\        ^ ^ 4      8w  g   Q hW8w  g   Q hT
pV
Pa                  \         ^,          4      \A        \        ^ ^ 4      ^
^\         \?        ^^4      ,          4      8X  g   Q hV
V8X  g   Q hV
P                  R.\        ^4      ,          R,           ^\c        \         ^,          4      ,          ,          8X  g   Q hV
Pd                  ^\        \        ^4      ) ^,          \?        ^^4      ,           4      ,          8X  g   Q hV
Pg                  ^^4      \A        V
Ph                  V
PT                  ^,          V
Pj                  V
P\                  4      8X  g   Q h\A        R/^^4      Pg                  ^^4      \        \        ^^ 4      \        ^ ^4      \        R%^ 4      \        ^ R&4      4      8X  g   Q h\m        V
4      \o        V
4      8X  g   Q hVP                  p\q        V\        ^ ^ 4      ,          Ps                  4       \u        R4      4      '       g   Q h\q        V\        ^^4      ,          Ps                  4       \u        R4      4      '       g   Q h\q        V\        ^^4      ,          Ps                  4       \u        R4      4      '       g   Q h\q        V\        ^^ 4      ,          Ps                  4       \u        R4      4      '       g   Q hVP                  p\q        V\        ^ ^ 4      ,          Ps                  4       \u        R4      4      '       g   Q h\q        V\        ^^4      ,          Ps                  4       \u        R4      4      '       g   Q h\q        V\        ^^4      ,          Ps                  4       \u        R4      4      '       g   Q h\q        V\        ^^ 4      ,          Ps                  4       \u        R4      4      '       g   Q h\w        VP                  Py                  4       4      p\q        V\        VP                  4      ^,
          \         ,          4      '       g   Q h\w        VP                  Py                  4       4      p\q        V\        VP                  4      ^,
          \         ,          4      '       g   Q h\        ^ ^ 4      p
\        ^^ 4      p\        ^ ^4      p\	        WV4      p\	        W\        \?        ^^4      \        \?        ^K^4      4      4      4      p \	        V
\        V^ 4      \        ^ V4      4      p!VP                  p"\	        WV
4      \        WV
4      u;8X  d   \{        W4      8X  g   Q h Q h\9        \F        R 4       \	        WV
4      V
8X  g   Q h\	        W^,          V^,          4      \{        W^,          4      8X  g   Q hVP                  \?        ^^4      8X  g   Q hVP}                  4       '       g   Q hV P}                  4       RJ g   Q hV!P}                  4       '       g   Q hV
V9   g   Q hVP                  ^ ,          V9   g   Q h\{        R/R04      V9   g   Q h\        ^^4      V 9  g   Q hVP                  4       '       g   Q h\q        VP                  V
,          Ps                  4       \         Pr                  ! 4       ^,          4      '       g   Q hVP                  4       RJ g   Q hV P                  4       '       g   Q hV!P                  4       RJ g   Q h\        VV 4      RJ g   Q h\        VV!4      '       g   Q h\        V V!4      RJ g   Q hVP                  \        ^ ^ 4      4      RJ g   Q hVP                  V 4      RJ g   Q hVP                  4       p#V#V
,          \{        V
\        \?        ^^4      \?        ^^4      4      4      8X  g   Q hV P                  4       V,          \{        \        ^^ 4      \        \?        ^^4      ^\        ^4      ,          ^,          4      4      8X  g   Q h\        ^ V4      pV!P                  4       V,          \{        V\        V\        ^4      ^,
          ,          ^ 4      4      8X  g   Q h^^}\        ^4      ,          ,
          ^2,          p$VP                  \        V$V$4      8X  g   Q hVPZ                  VPX                  PT                  u;8X  d'   ^^\        ^4      ,          ^,          ,
          8X  g   Q h Q hV PZ                  V PX                  PT                  u;8X  d    ^\        ^4      ,          ^,          8X  g   Q h Q hV!PZ                  V!PX                  PT                  u;8X  d7   V^,          ^\        ^4      ,           \        V4      ,          ,          8X  g   Q h Q hVP                  VP                  ^,          ,          ^\        ^4      ,          ^,          8X  g   Q hVP                  VP                  ^,          ,          \        ^\        ^4      ,          R1\        ^4      ,          ^,          4      8X  g   Q hVPV                  Ph                  \        RR4      8X  g   Q hVP                  p%VP                  \        \?        ^^4      \?        ^^4      4      8X  g   Q hV%V
,          \{        V
\        \?        ^^4      \?        ^^4      4      4      8X  g   Q hV!P                  V
,          \{        V
\        V^,          V^,          4      4      8X  g   Q h\=        V%V
,          V%V,          V%V,          4      VP                  .8X  g   Q hVP                  \	        \        R^ 4      \        ^ R4      \        RR4      4      8X  g   Q hVP                  \'        \        R^ 4      \        ^ R4      \        RR4      4      8X  g   Q hVP                  \'        \        ^ ^ 4      \        ^ R4      \        RR4      4      8X  g   Q hVP                  p&V&V
,          \{        V
\        \?        ^^4      \?        ^^4      4      4      8X  g   Q hV&V,          P                  V"^ ,          4      '       g   Q hV&V,          V"^,          8X  g   Q hVP                  V
8X  g   Q h\        R4      p	V	P                  \        R4      8X  g   Q h\        \=        V#Py                  4       !  4      ^8X  g   Q h\        \=        V&Py                  4       !  4      ^8X  g   Q h\        \=        V%Py                  4       !  4      ^8X  g   Q h\        \        ^ ^ 4      \        ^^ 4      \        ^^4      \        ^ ^4      4      p
\        \        ^ \?        ^4      ^,          4      \        ^\?        ^4      ^,          4      \        ^\?        ^	4      ^,          4      \        ^ \?        ^	4      ^,          4      4      p\        \        ^^4      \        ^^4      \        ^^4      4      p\        \        ^^4      \        \?        ^4      ^,          ^4      \        ^\?        ^4      ^,          4      4      p\        WU4      p'\        ^^4      p( V
P-                  V'4      V8X  g   Q hV
P-                  V(4      ^ 8X  g   Q hVP-                  V'4      \?        ^4      ^,          8X  g   Q hVP-                  V(4      \        ^4      ^,          8X  g   Q h \/        \0        RR7      ;_uu_ 4        V
P-                  V4      V^,          8X  g   Q h RRR4       V
P-                  V4      \        ^4      ^,          8X  g   Q h\/        \0        RR7      ;_uu_ 4        VP-                  V4      \        ^4      ^,          \        \?        ^4      ^,          4      ^,          ,
          8X  g   Q h RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)2xTrealyquvwx1gffffff@)ng      @FN      @1Polygons may intersect producing erroneous output)matchtc                  x   < \        \        S ^ 4      \        ^ S4      \        S S4      4      P                  R4      # )r   r/   )r   r   arbitrary_point)r/   r2   s   r+   <lambda>test_polygon.<locals>.<lambda>   s3    waU1a[%1+ //>s/C Dr-   c                  X    \        \        ^ ^ 4      \        ^ ^4      \        ^^4      4      # r   r   r    r-   r+   r?   r@      s&    .q!eA?Q{#r-   c                  0    \        \        ^ ^ 4      ^^4      # rB   rC   rD   r-   r+   r?   r@      s    .q!a"Cr-   c                  0    \        \        ^ ^ 4      ^R4      # )r   r9   rC   rD   r-   r+   r?   r@      s    ~eAqk1cBr-   g@i  z0.7853981633974483z1.2490457723982544z1.8925468811915388z2.3561944901923449c                  ,    \        \        ^ ^ 4      4      # rB   )r   r   rD   r-   r+   r?   r@      s    (5A;"7r-   zTriangle(
    Point(100080156402737/5000000000000, 79782624633431/500000000000),
    Point(39223884078253/2000000000000, 156345163124289/1000000000000),
    Point(31241359188437/1250000000000, 338338270939941/1000000000000000))zPoint(-78066086905059984021699779471538701955848721853/80368430960602242240789074233100000000000000,20151573611150265741278060334545897615974257/160736861921204484481578148466200000000000)igffffff!g )rH      )   rH   rO   rN   rH   rH      r   iir   r   rN   r   )Or   r   Halfr   r   r   r&   argsr   lensides	perimeterr   area	is_convexanglesr   encloses_pointenclosesr   r   plot_intervaldistancer!   UserWarninghashr>   subsr   
ValueErrorr   r   r   verticesspinr   interior_angleexterior_angleapothemr   circumcentercircumradiusradiuscircumcircleincircleinradiusrotation
isinstancerotater   lengthscalecenter_nreprstrr,   evalfr   sumvaluesr   is_rightis_equilateralr   
is_similar	bisectorsincenterr
   exradii	excentersr   medianscentroidmedialnine_point_circle	altitudesequalsorthocenter)+r3   r4   r5   r6   r7   halfr(   r)   cr<   p1p2p3p4p5p6p7p8p9p10p11p12p13p14rdict5dict1varp1_oldr^   interior_angles_sumt1t2t3s1r   icmr   pt1pt2r/   r2   s+                                            @@r+   test_polygonr      s   sAsAsAsAsAsA	4	 B66DAqk5A;a!AqA5A;5A;...1eAqk1(A---5A;a(A---1E!QK(A---1eAqk1(A---1q"q,1115R=%R.%R.c4%V,eCoeS5S>5C=%C.b"uR}eBm5 	c3r3r2c2O	P P P 
aU1b\aU1a[aU1a[
"B 
aU1b\aU1a[aU1a[
"B 
aU1a[aU1a[
"B 
aU1a[aU1a[
"B 
aU1a[a
B 
c1uR~b"uT4(
*B 
aU1[a
B 
aU1[a
B 
aU1a[aU1a[
"B aU1a[aU1a["C %1+qA
&C
%1+q!q
)C
aE!QKb"eArl$C ;sxx+
,C 	E"cNE"cN+A 8O8rww<1rxx=A<<1qbz>DH4tAw>>>>77b==||~~7GVXv 

)+   <<>>><<>>>IIEq!a'''q!a'''U1a[)111U1a[))))U1a[)U222U1a[)U222;;veCoq12e;;;;;wuS!}a34===C Q1I---;;b"uR}eBm<>ABT!WM M M;;aU1a[%2,aEGJKL L L	{H
J 
JaU1a[%1+6??aU1a[%1+>	@
J 8tGE!QKq!eAqkJKKKK8tBx8tBx8tBxq!eAqk5A;????5A;aU1a[9R???q!A;"c"''s(>Ba  
: D E??1%HS",=">b(SUWX/@Z![[[[88q==.q!aA6666#::<<?eAqk)))88A;%1+%%%HHRTN<<?eAqk))) 
aR	+B	aQ	*B
=  
=CD
:BC8O88Aq> 11118Aq> 1111::3r!t9$$$??boo<q!<<<<<??bii-2-----??fU1a[!4444;;&q!bjj9999;;"**?a$q'k):Q)>?????GGBGIIEq!R!+++<<>>>;;!U1a[))))U2q\*e333U1c]++++GGBqDM;;"Q$;;q>U1aQi0000wwc5!!%1+%%%1b"q&/)))	 
 q!8O8 F99RT?nU1a["aHQPQNARSSSS<<77tDG|d*Qs2a4y[9999994a
Xa^ ;<<<<<88Aq>ryy"))A+ruubkkBC C C&!Q'--a3aU1a[%A,aEF F F 8s2w
 YYFveAqk"((*E2F,GHHHHveAqk"((*E2F,GHHHHveAqk"((*E2F,GHHHHveAqk"((*E2F,GHHHHYYFveAqk"((*E2F,GHHHHveAqk"((*E2F,GHHHHveAqk"((*E2F,GHHHHveAqk"((*E2F,GHHHH cjj//12"S_q%8"$<>>>>cjj//12"S_q%8"$<>>>>
 
q!B	q!B	q!B	""	B	"%AXb!_0EF	GB	"eBlE!RL	1B	BBB722#6I'"/IIIII
=78 BB2%%%B1bd#wra4'888877hr1o%%%;;===;;=E!!!;;===8O888A;"66"b(((A;b   <<>>>ryy}""$bhhjl3333%'''%'''r2%'''r2r2%'''==q!%...==%%% IR=G
E(1a.(1a.13 3 3 3<<>"aU8Aq>1T!W9Q;7"9 9 9 9	q"B<<>"U2tAw{3CQ-G!HHHH
DG
R	B;;%B-''' ;;"++,,?Ad1gIaK?????;;"++,,;$q'	!;;;;;;;"++,,MADGSW7L0MMMMMM ::bhhqk"aQik111 <<$47
BtAwJqL(IIII ??!!U3_444 	

A;;%AA????R5GBhq!nhq!n EFFFF::b>WRr!tRT):;;;;"quae,===99sAauS#OOOO 6%Q-*/3-sC$J J J J6%1+*/3-sC$J J J J IR=GBhq!nhq!n(MNNNNR=1&&&&R=BqE!!!>>R	 N 	OA ==A          |Y--/01Q666|Y--/01Q666|QXXZ()Q... 
aU1a[aU1a[
"B 
a!Qq(1+a-!8a!Qq(1+a-!8
:B 
aU1a[a
B 
aU8A;q=!,a!Q
!B 
C
1+C;;st###;;sq   ;;sx{1},,,;;stAwqy(((	{H
J 
J{{2$q&(((
J ;;r?d1gai''' 
{H
J 
J{{24719tHQKN/CA/E#EFFF
J 
JA
J 
J 
Jr
J 
J
J 
J 
Js1   >A$Axu Ax+v<AAx>xAx(	x+Ax;	x>Ay	c                  v   \        RR4      \        R^4      \        RR4      \        RR4      \        ^ ^ 4      \        ^^4      \        ^^4      \        ^R4      \        ^^4      \        ^R4      \        ^^4      .p \        V ^ ,          V ^,          V ^	,          V ^
,          V ^,          V ^,          4      pV P                  V ^,          4       \        RR4      \        R^U4      \        R^4      \        RR4      .p\        V^ ,          V^,          4      p\	        V!  V8X  g   Q h\	        V !  V8X  g   Q h\	        V ^ ,          4      V ^ ,          8X  g   Q h\	        V ^ ,          V ^,          4      \        V ^ ,          V ^,          4      8X  g   Q h\	        V R,          .^,          !  V R,          8X  g   Q h\	        \        ^ ^ 4      \        \        ^^ 4      \        ^^4      4      \        \        ^^ 4      ^^4      .!  \        \        ^ ^ 4      \        ^R4      \        ^^ 4      \        ^^4      4      8X  g   Q hR# )	   NrV   rH   rK   rL   iii)r   r   appendr   r   r   )pch	another_pch2s       r+   test_convex_hullr   [  s   	r2b!eBmU2r]	q!eAqk5A;aeAqk	q"uQ{	$A 
1qtQqT1R5!A$!	5BHHQqTN sC%R.%R.sC"I
)A,	!
-C	"c)))?b   qt!$$$qtQqT"gadAaD&9999 2	"ae+++ q!aU1a[9&uQ{Aq9; < 	aU1b\5A;aDE E Er-   c            
      
   \        \        ^ ^ 4      \        ^^ 4      \        ^^4      \        ^ ^4      \        \        P                  \        P                  4      4      p V P	                  \        ^ \        P                  4      4      RJ g   Q hV P	                  \        \        P                  \        P                  4      4      RJ g   Q hV P	                  \        \        ^^4      \        P                  4      4      RJ g   Q hR# )r   FTN)r   r   r   rW   r`   r   )ss    r+   test_enclosesr   w  s    aU1a[%1+uQ{affaff	A ::eAqvv&'5000::eAFFAFF+,555::eHQNAFF34<<<r-   c                  $   \        RR7      \        \        ^ ^ 4      \        ^^ 4      \        ^^4      4      8X  g   Q h\        RR7      \        \        ^ ^ 4      \        ^^ 4      \        ^\        ^4      ^,          4      4      8X  g   Q h\        RR7      \        \        ^ ^ 4      \        ^^ 4      \        \        ^4      ^,          \        ^4      ^,          4      4      8X  g   Q h\        RR7      e   Q h\        \	        ^4      4      ^8X  g   Q hR# )	rS   )sss)asa)sasN)rS      r   )   rO   r   )rN   -   rO   )rN   rO   r   )r   r   r   r$   r#   rD   r-   r+   test_triangle_kwargsr     s    	"q!eAqk5A;78 8 8$q!eAqk5DGAI+>?@ @ @
#q!eAqk5aDGAI+FGH H H	"***s3x=Cr-   c            
      L   \        ^ ^ 4      \        \        P                  \        ^^4      4      \        ^^4      .p \        RR4      \        R\        R^4      4      \        RR4      .p\	        V !  P                  ^^R4      \	        V!  8X  g   Q h\        R	^^4      P                  ^^R4      \        \        RR4      \        RR4      \        R
R4      \        RR4      4      8X  g   Q h\        R	^^4      P                  ^^4      \        \        ^ ^ 4      ^^^ 4      8X  g   Q hR# )r   NrI   irL   irK   )r   r   rT   i)	r   r   rW   r   r   rv   r   r   r   )ptspts_outs     r+   test_transformr     s   A;affhq!n5uQ{
CCR~uR#q)9:E"bMJGS>1f-71CCCC&!Q'--aF;b#b"uR~uR~NO O O &!Q'--a3wq!}aA./ / /r-   c            	         \        R RR7      p \        RRR7      p\        R4      p\        R4      p\        ^ V3VR7      p\        W4      pVP                  V4      pVP	                  V4      P
                  pVP	                  V4      P
                  p\        Wx4      '       g   Q h\        RR	R
4      P                  \        R\        R7      4      \        \        ^^ 4      \        ^^ 4      \        ^^4      4      8X  g   Q h\        RR	R
4      P                  \        R\        R7      4      \        \        R^ 4      \        R^ 4      \        R^4      4      8X  g   Q h\        RR	R
4      P                  \        R^ R7      4      \        \        ^^4      \        ^^4      \        ^^4      4      8X  g   Q h\        RR	R
4      P                  \        R^ R7      4      \        \        ^^ 4      \        ^^ 4      \        ^R4      4      8X  g   Q hR# )r/   Tr0   r2   r)   r   slopeNrU   )rO   r   )rO   rO   rR   )r   rS   rH   rK   )
r   r   r   reflectperpendicular_segmentru   r"   r   r   r   )	r/   r2   r)   r   lr   r   dpdrs	            r+   test_reflectr     s   sAsAsAsAaV1AaA			!A	
	 	 	#	*	*B	
	 	 	#	*	*Bb%%%%666*224b3IJE!QKq!eAqk:; ; ;666*224b3IJE"aL%A,b!=> > >666*224a3HIE!QKq!eAqk:; ; ;666*224a3HIE!QKq!eArl;< < <r-   c                     \        ^ ^ 4      \        ^^ 4      \        ^ ^4      r!p \        \        ^ ^ 4      \        ^^ 4      \        ^^4      \        ^ ^4      4      p\        \        ^^ 4      \        ^^ 4      \        ^^4      \        R^4      4      p\        \        ^^4      \        ^ ^ 4      \        ^^4      \        R^4      \        ^R4      4      p\        WV4      pVP                  4       V,          \	        \        ^^ 4      \        ^ \        ^4      ^,
          4      4      8X  g   Q hVP                  4       \        ^ ^4      ,          \        \        ^ ^4      \        \        \        ^\        ^4      ,          ^,          4      ^,          4      ^\        \        ^\        ^4      ,          ^,          4      ^,          4      ,
          4      4      8X  g   Q hVP                  4       \        R^4      ,          \        \        R^4      \        R\        ^4      ^\        \        ^	\        ^4      ,          ^,          4      ^,          4      ,          ^\        \        ^	\        ^4      ,          ^,          4      ^,          4      ,          ,           ,          ^,          ,           \        ^4      R\        \        ^	\        ^4      ,          ^,          4      ^,          4      ,          ^\        \        ^	\        ^4      ,          ^,          4      ^,          4      ,          ,           ,          ^,          ^,           4      4      8X  g   Q hVP                  4       \        R^4      ,          \        \        R^4      \        R\        \        \        ^4      ^,          4      ^,          \        ^,          ,           4      ,           ^\        \        \        ^4      ^,          4      ) ^,          \        ^,          ,           4      ,
          4      4      8X  g   Q hR# )r   NrH   irV   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r3   polyr<   s          r+   test_bisectorsr     s   q!eAqk5A;BBaU1a[%1+uQ{CAaU1a[%1+uR|DA5A;aU1a[%A,bRUWDA;;=aU1d1gk5J KKKK;;=A'5AD471%a'(!c$qay{2CA2E.F*FG,I I I I;;=Q(gb!ngb48Qs4$s)C;PQR;R7S5S	#d1T#Y;s?#A%
&&6' ,((*,+ '+,0HbT!DI+c/=RST=T9U6U	#d1T#Y;s?#A%
&&7' -((*-+-.-/0 	11 1 1 >>GBN+uWR^Sd2hrk*1,r!t344a#tDHRK?P>PQR>RUWXYUY>Y:Z6Z[0] ] ] ]r-   c                      \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      P                  \        ^\        ^4      ^,          ,
          ^\        ^4      ^,          ,
          4      8X  g   Q hR# r   N)r   r   r   r   rD   r-   r+   test_incenterr     sW    E!QKq!eAqk:CCT!WQYDGAI./ / /r-   c                  ~    \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      P                  ^8X  g   Q hR# r   )r   r   rq   rD   r-   r+   test_inradiusr     s1    E!QKq!eAqk:CCqHHHr-   c            
         \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      P                  \        \        ^\	        ^4      ,
          ^\	        ^4      ,
          4      ^\	        ^4      ,
          4      8X  g   Q hR# r   )r   r   rp   r   r   rD   r-   r+   test_incircler     sa    E!QKq!eAqk:CC%DGQa[11tAw;?@ @ @r-   c                      \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      p V P                  V P                  ^,          ,          R\	        ^
4      ,           8X  g   Q hR# )r   NrK   )r   r   r   rZ   r   r<   s    r+   test_exradiir     sI    q!eAqk5A;7A99QWWQZ R$r(]333r-   c                     \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      p V P                  \        ^ ^ 4      ,          \        \        ^ ^ 4      \        \        P
                  \        P
                  4      4      8X  g   Q hR# r   )r   r   r   r   r   rW   r   s    r+   test_mediansr     s[    q!eAqk5A;7A99U1a[!WU1a[%:O%PPPPr-   c            	      @   \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      P                  \        \        \        P                  ^ 4      \        \        P                  \        P                  4      \        ^ \        P                  4      4      8X  g   Q hR# r   )r   r   r   r   rW   rD   r-   r+   test_medialr     si    E!QKq!eAqk:AAE!&&!$eAFFAFF&;U1aff=MNO O Or-   c            
          \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      P                  \        \	        \        ^^4      \        ^^4      4      \        ^4      ^,          4      8X  g   Q hR# r   )r   r   r   r   r   r   r   rD   r-   r+   test_nine_point_circler     s]    E!QKq!eAqk:LL'(1a.(1a.94719EF F Fr-   c                     \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      P                  \        \	        ^ ^ 4      \	        \
        P                  \
        P                  4      4      8X  g   Q h\        \        ^ ^ 4      \        ^
^ 4      \        ^^\        ^4      ,          4      4      P                  \	        ^^\        ^4      ,          ^,          4      8X  g   Q h\        \        ^R4      \        ^R4      \        R^4      4      P                  \        \	        \        ^@^4      ^4      \	        \        R^4      \        R^4      4      4      8X  g   Q hR# )r   Nr   rH   rL   ir   )	r   r   	eulerliner   r   r   rW   r   r   rD   r-   r+   test_eulerliner     s	   E!QKq!eAqk:DD1wqvvqvv678 8 8E!QKr1uQ$q'	/BCMM1aQik"# # #E!RL%2,b!=GGQ+WXc25FQSUV-XYZ Z Zr-   c                  	   \        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      p \        \        ^ ^4      \        R^ 4      \        ^ R4      \        ^ \        ^^4      4      \        \        P
                  R4      \        ^^ 4      \        ^ ^4      4      pV P                  V4      \        \        ^^4      ^ 4      \        \        ^ \        ^^4      4      \        ^ ^ 4      4      \        \        ^^ 4      \        ^ ^4      4      .8X  g   Q hVP                  V 4      \        \        ^^4      ^ 4      \        \        ^ ^ 4      \        ^ \        ^^4      4      4      \        \        ^^ 4      \        ^ ^4      4      .8X  g   Q hV P                  \        ^ ^ 4      4      \        ^ ^ 4      .8X  g   Q hV P                  \        RR4      4      . 8X  g   Q hVP                  \        RR4      4      \        R^ 4      \        ^ ^ 4      \        \        ^^4      ^ 4      \        ^^ 4      .8X  g   Q hVP                  \        R	R
4      4      . 8X  g   Q hVP                  \        RR4      4      \        \        ^^ 4      \        ^ ^4      4      .8X  g   Q hVP                  \        R^4      4      \        ^ R4      \        ^ ^ 4      .8X  g   Q hV P                  V 4      \        \        ^ ^ 4      \        ^^ 4      4      \        \        ^ ^4      \        ^ ^ 4      4      \        \        ^^ 4      \        ^ ^4      4      .8X  g   Q hVP                  V4      \        \        R^ 4      \        ^ R4      4      \        \        ^ R4      \        ^ \        ^^4      4      4      \        \        ^ \        ^^4      4      \        \        P
                  \        R^
4      4      4      \        \        ^ ^4      \        R^ 4      4      \        \        \        P
                  \        R^
4      4      \        ^^ 4      4      \        \        ^^ 4      \        ^ ^4      4      .8X  g   Q hVP                  \        \        ^ ^4      \        ^^ 4      \        R^4      4      4      \        \        R^4      \        ^^4      4      \        \        ^ ^4      \        ^^ 4      4      .8X  g   Q hV P                  \        R^^4      4      . 8X  g   Q hR# )r   NrV   rI   gi)r   r      r   )r   r   )r   r   )rL   r   rU   rH   )r   rH   rK   )r   rJ   )r   r   r   r   r   rW   r   r   r   r   r   r   r   )poly1poly2s     r+   test_intersectionr     s4   U1a[%1+uQ{;EE!QKr1!RL%8Aq>":!&&$'q!eAqkCE e$!Q)Ca!Q(%1+6aU1a[))+ + + + e$x1~q)AaU1hq!n56aU1a[))+ + + + eAqk*uQ{m;;;eC#./2555d8W565Q<aU8Aq>1-uQ{;< < < <d9h78B>>>c'623aa9 8   fWa01eArla6   e$q!eAqk)JaU1a[)75A;a+L)N N N Ne$r1uQ|)LaeAx1~67a!Q(%R8H*IJaU2q\*affhr2./q!=aU1a[))+ + + + huQ{E!QKr1NO(2q/8Aq>2GGAqM5QRTU;4WXY Y YnZA>?2EEEr-   c                  Z  aa \        R 4      o\        RRRR4      oSP                  RS4      S\        ^^4      /8X  g   Q h\        RR	R
R4      p V P                  RS4      SR^\	        ^4      ,          ,           /8X  g   Q h\        \        VV3R l4       \        \        VV3R l4       R# )r<   c                  (   < S P                  RS4      # )r   )r      )parameter_valuesqr<   s   r+   r?   &test_parameter_value.<locals>.<lambda>  s    r11&!<r-   c                  P   < S P                  \        \        ^ ^ 4      ^4      S4      # rB   )r   r   r   r   s   r+   r?   r   	  s    r11&q!a2H!Lr-   NrT   )r   rN   )rN   rN   rU   )g      ?rN   rP   )rO   r   r   r   r   )r   r   r   r   r   r   rf   )r3   r   r<   s    @@r+   test_parameter_valuer     s    sA		0Bh*q(1a..AAAA/AVQ'ArAd1gI~+>>>>
:<=
:LMr-   c                  D   \        \        ^ ^ 4      \        ^ ^
4      \        ^^
4      \        ^^4      \        ^
^4      \        ^
^ 4      4      p \        R4      pV P                  V4      p^V P                  ,          p\        \        ^V,          4      4       Uu. uF  qBP                  WV,          4      NK  	  up\        ^ ^ 4      \        ^ ^4      \        ^ ^
4      \        ^^
4      \        ^^4      \        ^
^4      \        ^
^ 4      \        ^^ 4      .8X  g   Q hR# u upi )r   r<   N)r   r   r   r>   r[   rangeintre   )r   r<   ptDELTAis        r+   test_issue_12966r     s    5A;aeArlE!QKb!eBl$DsA			a	 BdnnE).s1U7|)<=)<AGGAQw)<=aU1a[%2,aaU2q\5Q<q!B> > > >=s    Dc            	         \        R 4      w  r. ROw  r#pRp^V ^,          ,
          ^,          p\        V ^,          \        ^V^ V34      ,          V ^ ^34      p\        ^\        V^,          V^ V34      ,          V ^ ^34      p\        V \        W^ V34      ,          V ^ ^34      p	\        W#V4      p
WP                  V4      ^ ,          ,
          ^ 8X  g   Q hWzP                  V4      ^,          ,
          ^ 8X  g   Q hWP                  V4      ^,          ,
          ^ 8X  g   Q h. ROw  r#rK\        V ^,          \        ^V^ ^34      ,          V ^ ^34      p\        ^\        V^,          V^ ^34      ,          V ^ ^34      p\        V \        W^ ^34      ,          V ^ ^34      p	\        W#WK4      pWP                  V4      ^ ,          ,
          ^ 8X  g   Q hW|P                  V4      ^,          ,
          ^ 8X  g   Q hWP                  V4      ^,          ,
          ^ 8X  g   Q h\	        \        ^ ^ 4      ^^4      pVP                  4       R\        ^4      ,          \        ^ 4      ,          R\        ^4      ,          \        ^ 4      ,          ^ 38X  g   Q hR# )x, yiS  NrT   )rT   r   r   rO   )rT   r   r   rO   r   )r	   r%   r   second_moment_of_arear   r   r   r   )r/   r2   r   r   r   r   eq_yI_yyI_xxI_xytriangler   	rectangler   s                 r+   test_second_moment_of_arear    sP   6?DA)JBBAacE19DadyQ4L9:Q1IFDQ)AqD1a,781a)DDQ)A1d|451ayADrr"H11!4Q77A===11!4Q77A===11!4Q77A=== 4NBBadiAq!9551ayADQ1a4!Q33aAY?DQ1!Qi001a)<D'I2215a88Q>>>2215a88Q>>>2215a88Q>>> 	uQ{Aq)A""$d1gae);T$q'\!B%=OQR(SSSSr-   c                     \        R RR7      w  r\        RV ^ 3W3^ V34      pVP                  4       W^,          ,          ^,          V ^,          V,          ^,          38X  g   Q hVP                  V ^,          V^,          34      R	V ,          V^,          ,          ^ ,          V ^,          ) V,          ^	,          38X  g   Q h\        RR
RR4      pVP                  4       R8X  g   Q h\        RV ^ 3V ^,          V34      pVP                  4       ^V ,          V^,          ,          ^Q,          V ^,          V,          ^,          38X  g   Q hVP                  V ^,          V^,          34      RV ,          V^,          ,          R,          RV ^,          ,          V,          R,          38X  g   Q h\        RRR4      pVP                  4       \        R4      ^,          \        R4      ) ^,          38X  g   Q hR# )a, bTpositivei  i   i@  i  NrT   rL   )(   r   )r  r   )r   r   )i  ip  irV   r   )r   r   )r	   r   first_moment_of_arear   )r(   r)   r   r   s       r+   test_first_momentr  9  s   FT*DA	!Q!!Q	0B""$a41a46!8(<<<<""AaC1:.2a419R<!Q$q2KKKK	(G	4B""$444 
!Q!A#q	*B""$1QT"ad1fRi(@@@@""AaC1:.3q5A:c>2ad719S=2QQQQ	(	+B""$4QsVGAI(>>>>r-   c                     \        R RR7      w  r\        R4      w  r#\        ^ V3RV ^ 3W34      pVP                  \        W#4      4      W^,          ,          ^,          V) ^,          V,           ,          V ^,          V,          ^,          V ) ^,          V,           ,          38X  g   Q hVP	                  4       V ^,          V,          ^,          W^,          ,          ^,          ,           8X  g   Q h\        R^^4      pVP                  4       \        ^^4      \        ^4      \        ^^4      ,          38X  g   Q hVP	                  4       ^\        ^4      ,          \        ^4      ,          8X  g   Q h\        RRR	R
R4      pVP                  4       \        RR4      \        RR4      38X  g   Q hVP	                  4       \        R^4      8X  g   Q hR# )r  Tr	  r   i  i  NrT   )rN      )rS   r   )r   r   )   rN   iiih)	r	   r   section_modulusr   polar_second_moment_of_arear   r   r   r   )r(   r)   r/   r2   r  convexconcaves          r+   4test_section_modulus_and_polar_second_moment_of_arear  L  s   6D)DA6?DAAA7I$$U1[1a1fRi!A6JAqDQRFSUIXYWYZ[W[^_W_L`5aaaa002ad1fRi!qD&)6KKKKFAq)F!!#AQB8O'PPPP--/1T!W9QqT>AAAfffff=G""$%)=xs?S(TTTT..0HVS4IIIIr-   c                  
  aa \        R^\        ^^4      3R^\        ^^4      3RRR	4      o\        R
\        ^	^4      ^34      p SP                  V 4      ^ ,          pSP                  V 4      ^,          pV\        \	        \        R^4      \        R^4      4      \	        ^\        ^^4      4      \	        \        ^^4      \        ^^4      4      \	        \        ^^4      \        ^^4      4      \	        ^\        ^^4      4      \	        \        ^^4      \        ^^4      4      \	        \        ^	^4      ^4      \	        R^4      \	        R\        R^4      4      4	      8X  g   Q hV\        \	        RR4      \	        \        R^4      \        R^4      4      \	        \        ^^4      \        ^^4      4      \	        ^^4      \	        \        ^^4      \        ^^4      4      \	        \        ^^4      \        ^^4      4      \	        ^^4      \	        ^^4      \	        \        ^	^4      ^4      \	        R\        R^4      4      4
      8X  g   Q h\        \	        ^ ^ 4      ^^4      oSP                  \        R
^R7      4      pV^ ,          \        \	        R\        ^4      ,          ^	,           R\        ^4      ,          ^	,           4      \	        ^^\        ^4      ,          4      \	        R^\        ^4      ,          4      \	        R^ 4      \	        R^\        ^4      ,          ,           R^\        ^4      ,          ,           4      4      8X  g   Q hV^,          \        \	        ^^ 4      \	        R\        ^4      ,          ^	,           R\        ^4      ,          ^	,           4      \	        R^\        ^4      ,          ,           R^\        ^4      ,          ,           4      \	        RR\        ^4      ,          4      \	        ^R\        ^4      ,          4      4      8X  g   Q h^^
uop^ V3R
S^ 3SV3.w  rVrx\        WVWx4      oSP                  \        ^ V3^ R7      4      w  rVR8X  g   Q hV\        \	        ^ ^
4      \	        ^ ^ 4      \	        ^^ 4      \	        ^^
4      4      8X  g   Q hSP                  \        R
^ R7      4      w  rV	\        \	        ^ ^
4      \	        ^ ^ 4      \	        ^^ 4      \	        ^^
4      4      8X  g   Q hV
R8X  g   Q h\        \        VV3R l4       R# )rN   r   Nc                  @   < SP                  \        ^ S 3^ R7      4      # )r   r   )cut_sectionr   )r(   r   s   r+   r?   "test_cut_section.<locals>.<lambda>  s    q}}T1a&-BCr-   rH   rQ   rP   r   )r   rS   )rH   rS   rT   rM   r   rK   rL   )	r   r   r   r  r   r   r   r   rf   )r   r   r   r   r)   r   r   r   t4r   r   r(   r   s              @@r+   test_cut_sectionr  \  sg   1hq!n-v8Aq>7JFTZ\cdAVhq!na()A	
q	!	B	
q	!	BR (2r"23WQA5OQXYabdfhYikstvxzk{Q|Q!Q0'!Xa^2LgV^_acdVegoprtugvNwA"GBNGBQ4PR R R R R'(2r2BHRQSDT*UW^_ghjln_oqyz|  A  rB  XC1wxAA?RTVWZbceghZiAjlstuwxly  |C  DE  GH  |IA"GBQ$@B B B B
 	wq!}a+A	d6+,AQ4772d1g:>2d1g:>BGAqQUVWQXyDYAd1gIAQtAwYQtTUwY0WY Y Y YQ4771a='"T!W*q."T!W*q.*QQtAwYQtAwY/RQZ1H'RSUWX\]^X_U_J`b b b b rDAq!ffq!fq!f5NBBA]]4Aa01FB::BAAPRTVXXXX]]4a01FBBAAPRTVXXXX:: :CDr-   c            
         \        \        ^ ^ 4      \        ^^ 4      \        ^^4      4      p V P                  4       R8X  g   Q hV P                  4       R8X  g   Q hV P	                  4       R8X  g   Q h\        \        ^ ^ 4      \        ^ ^4      \        ^^ 4      4      pVP                  4       R8X  g   Q hVP                  4       R8X  g   Q hVP	                  4       R8X  g   Q h\        \        ^ ^ 4      \        ^^ 4      \        ^\        ^4      4      4      pVP                  4       R8X  g   Q hVP                  4       R8X  g   Q hVP	                  4       R8X  g   Q hR# )r   TFN)r   r   is_isosceles
is_scalener   r   )r   r   r   s      r+   test_type_of_triangler    s+   	q!eAqk5A;	7B??$$$==?e###%''' 
%1+uQ{E!QK	8B??%%%==?d"""%''' 
q!eAqk5DH+=	>B??$$$==?e###$&&&r-   c            	      P   \        \        ^ ^ 4      \        ^ ^4      \        ^^4      \        ^^ 4      4      p \        \        ^^4      \        ^^4      \        ^^4      4      pV P                  V4      \        ^4      ^,          8X  g   Q h\        \        ^^ 4      \        ^^ 4      \        ^^4      \        ^^4      4      p\	        \
        RRR7      ;_uu_ 4        V P                  V4      ^ 8X  g   Q h RRR4       \        \        ^ R4      \        ^R4      \        \        P                  \        P                  4      4      p\	        \
        RRR7      ;_uu_ 4        VP                  V 4      ^ 8X  g   Q h RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r:   F)r;   test_stacklevelNrH   )r   r   _do_poly_distancer   r!   rc   r   rW   )square1	triangle1square2	triangle2s       r+   test_do_poly_distancer'    sR   uQ{E!QKq!eAqkJGaU1a[%1+>I$$Y/4719<<< eAqk5A;aU1a[IG	{HZ_
a 
a((1Q666
a
 aeArlE!&&!&&4IJI	{HZ_
a 
a**73q888
a 
a
a 
a
a 
a 
as   FFF	F%	N)Isympy.core.numbersr   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r	   $sympy.functions.elementary.complexesr
   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   r   r   sympy.geometryr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   sympy.testing.pytestr   r    r!   sympy.core.randomr"   sympy.geometry.polygonr#   r$   sympy.integrals.integralsr%   sympy.utilities.iterablesr&   r,   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r'  rD   r-   r+   <module>r4     s    8 8 " / 4 9 E E 8Q Q Q Q Q 5 4 0 + / 1&
 @G @GF
E8= /<,] /I@4QOFZFDN>TD?&J #EJ'&9r-   