K iddlZddlmZddlmZmZddlmZddlm Z ddl m Z m Z m Z mZmZmZddlmZddlmZmZmZmZmZmZmZmZmZmZmZmZdd l m!Z!m"Z"m#Z#m$Z$m%Z%dd l&m'Z'dd l(m)Z)d Z*d Z+dZ,dZ-dZ.dZ/y)N)Float) DerivativeFunction)S)Symbol)expcossintancoshsinh)sqrt) PointPoint2DLinePolygonSegment convex_hull intersectioncentroidPoint3DLine3DRayEllipse)idiffclosest_pointsfarthest_points_ordered_points are_coplanar)solve)raisesctdd}tdd}tdd}td}td}|dz|dzzd z }d |z|dz|dzz d zz|d zz }|t|||d k(sJt|||d |t||g|d k(sJt|||d |k(sJd |zt|dz d zdzz }|j |t ||dj |sJdt ||Dcgc]#}|j|d j |%c}vsJt||z|z||g|t|| d z k(sJt||t||z|t|zz ||||d zt|zt|| z||d zz k(sJt|||t|zz |||g||t||zt|zk(sJt|||t|zz |||g|| t|||t| zzk(sJt||||z ||||g|t|||k(sJ|dt| d |z zdzzt|dzzdt|dz zzz } t| ||dt|zt|zdt|d zzzdt|zzt|dz dz zdt|z|z zdt|z|dzz z d|d zz zk(sJycc}w)NxT)realytfg ri i)rrrrsubsr equalsdiffrrr r r r r ) r#r%r&r'r(circansexplicitsolfxys d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/geometry/tests/test_util.py test_idiffr;ssAsAsA A A a4!Q$;?D Q$1QT A q!t #C %aA& &<dAq!(<< & %qc1a( (( ( q!Q 3 && &1T1a4%!)_a''H 88AuT1~a( ) 0 0 :: : uT1~NCHHQN))(3N NN N QQFA &:a+;*;a*? ?? ? 1AaD !AAJ.!a 8QUCFN3PQRSPTu: #a& ":a< "$SV)A+ .023q6 !Q$ ?ACAqD I II IOs (M/c ttddgk(sJttdtt ddt ddt ddd tddt ddgk(sJtt ddt ddt ddd tddt ddgk(sJtt ddt ddt ddt dd d tddt ddgk(sJd }tt td dtddttdd|dd dj}|tjtdddjk(sJtdd}tt td dtddttdd|dd dj}|tjtdddjk(sJ|djdk(sJ|djdk(sJy)Nrc.ttdddSNrr-)rrr:z#test_intersection..+sl5A;:r@rrr)r)r)r,r)rr,T)pairwiser,)slopeg@gMbP?rDg-C6J?g333333g@)centerhradiusvradiusgj6gG?gpF)evaluater*r/5r1)rrr! TypeErrorrrrrr coordinatespytestapproxr_prec)Rcc2s r:test_intersectionrT)sz a $ ** * 9:;  FF # GV $  4 1 a WVV,5. .. .   FF # GV $t 5 a WVV,9. .. .   FF # GV $ q !D  2 a WVV,6.  .. . A r" FD ! # 71a=!S AD RST UVaU`  (*;e L X XZ ZZ Z a A  r" FD ! # 71a=!S AD RST UVaU`  (*;e L X XZ ZZ Z Q4::   a5;;"  r@cttdgd}t|idditddtddtd dtd d gtddtd d gfk(sJy) Nc.ttdddSr>)rrr?r@r:rAz"test_convex_hull..Psk%1+q9r@)r,rD)r,)r-rD)rX)polygonFrYrXr,rDr-rZr[)r!rLrr)pointss r:test_convex_hullr^Osp 99: U2r]1_ ,, ,AA Aq>U1tAwhl3 33 3 E!QKq! -q!Q >> > E!QKq!eAqk :eAqk!m KK Kr@c "ddlm}ddlm}tt fD]S}|tk(rt ntttfdtddtddtddg}tddtddtddg}tddtddtddg}tddtddtd dg}tddtddtd dg}tddtddtddtd dg}td d } | df| dzdf| dzdffD cgc] } t| } } ||||||| fD]]} |d|t| dD} t| dx}\} }| j|| k(sJ|t|k(r]Jt} t!| dk7r8| j#t|dd|ddt!| dk7r8t| } |d|| dD} t| dx}\} }| j|| k(sJ|t|k(rTJtddtddtt$j&t)ddz }}} || ||fdDchc]\}}t||f}}}t ||| |k(sJt||| |k(sJgd} t| tddtdd fhk(sJgd} t| tddtddfhk(sJtddtddtddfhk(sJttdycc} wcc}}w)Nr)randint)subsetsc>tddtddS)Nr)r)funcsr:rAz5test_farthest_points_closest_points..ls41 wq!}#Er@r-r,r)r0r*rDr#T)positivec3DK|]\}}|j|ywNdistance.0ijs r: z6test_farthest_points_closest_points..sFdaAJJqMF dc3DK|]\}}|j|ywrlrmros r:rsz6test_farthest_points_closest_points..s=$!Q 1 =rt)r,r,)r,r))r-r,)rYr))rZr*rYrZrWrXr[rxrBctdS)Nrx)rr?r@r:rAz5test_farthest_points_closest_points..s v6r@)sympy.core.randomrfsympy.utilities.iterablesrgminmaxrrr! ValueErrorrrsetlistrnrlenaddrHalfr)rfrghowp1p2p3p4p5dupr#asr]dr6brRrqrrris @r:#test_farthest_points_closest_pointsrbs)1Sz'+ #:!D"DzEFamWQ]GAqM :amWQ]GAqM :amWQ]GArN ;amWQ]GAqM :amWQ]GBN ;q!}gamWQ]GBNK 3 &#$a&1q5!*q1uaj!A BAWQZ B B2r2r32 /FFgc&k1.EFFAdFm,Q/ /C$!Q::a=A% %%/#.. ..  /&kQ JJwwq#3@ A&kQf ='&!*<= =$-(++dazz!}!!!oc****O'+V 1 wq!}gaffd1gai&@ qAQ1Iq) + Aq Aq6 " +C + !Q "c )) ) 1a #s ** *8F F # QQ((* ** * N cVttdddtddd}ttdddtddd}ttdddtddd}ttddtdd}t |||dk(sJt ||dk(sJy) Nr/rr,rDrXr- F)rrrrr)rrrRrs r:test_are_coplanarrswq!QB!23Awq"a '!Q"23Awq"a '!R"34A WQ]GAqM*A 1a E )) ) 1  && &r@)0rNsympy.core.numbersrsympy.core.functionrrsympy.core.singletonrsympy.core.symbolrsympy.functionsrr r r r r (sympy.functions.elementary.miscellaneousrsympy.geometryrrrrrrrrrrrrsympy.geometry.utilrrrrrsympy.solvers.solversr sympy.testing.pytestr!r;rTr^rdrrr?r@r:rs_ $6"$::9::::ee''I4#L,L>8B'r@