K iddlmZddlmZmZddlmZddlmZm Z ddl m Z ddl m Z ddlmZmZmZmZmZmZmZmZmZddlmZmZd Zed Zd Zd Zd ZdZ y))Tuple)Rationalpi)S)Symbolsymbols)asinh)sqrt) CurveLinePointEllipseRaySegmentCirclePolygonRegularPolygon)raisesslowctddtdtd}tdzdzg|ddf}|j|k(sJ|jdzdzfk(sJ|j t dzdzk(sJ|j |t dzdzk(sJtdzdzgddf}|jk(sJ|jdzdzfk(sJtd|j t dzdzk7sJtdd|j t dzdzk(sJ|j |t d|z|dzk(sJ|j |jt dzdzk(sJ|j dt dzdzk(sJ|j ddgk(sJ|j ||ddgk(sJtgdd fjtdz t gdd fk(sJtgdd fjtdz d jdd jd d j td d jtdz d jdd jd d j cxk(rt dzdzd zdzk(sJJttfdttfdttfdttfdy)NxTrealszrt)rr)rr)rrc"tddfSNrrr )rse/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/geometry/tests/test_curve.pyztest_curve..0sua1a)4c*tdzfdfS)Nrrr%)rsr&r'ztest_curve..1suaQZ!Q8r(cHtzfddfjSr$r arbitrary_pointrrsr&r'ztest_curve..3s%uaQZ!Q;KKMr(cJtzfddfjSr$r+r-sr&r'ztest_curve..4s'uaQZ!Q;KKANr()rr parameter functionsr,r plot_intervalrotaterscale translater r ValueError)rcrrrs @@@r& test_curver7 s[sAs As A qsAqDkAq!9%A ;;!   ;;1Q31+ %% %   %!QT"2 22 2  Q 51ad#3 33 3 qsAqDkAq!9%A ;;!   ;;1Q31+ %% %s A   %!QT"2 22 2sA   %!QT"2 22 2  Q 51ad#3 33 3  Q[[ )U1Q31-= == =  T "eAaCA&6 66 6 ?? Aq )) ) ??1 !Q ** * !Q!Q # * *2a4 0EA2q'Aq!94M MM M !Q!Q # * *2a4 8 > >q! D N N 1 oa  VV##BqD&1771=GG q !/!$ ! bdQh!a  !! !! !  :45 :89 :MN :NOr(ctd\}}}}}}}t||j||hk(sJt||f||fj||||hk(sJt ||f||fj||||hk(sJt ||f|j|||hk(sJt ||f||fj||||hk(sJt||f|j|||hk(sJt ||z||zf|||fj||||hk(sJt||f||j||||hk(sJt||f||j||||hk(sJt||f||j||||hk(sJt||f|j|||hk(sJt||f||f||fj||||||hk(sJt||f||f||fj||||||hk(sJt||f|||j|||||hk(sJy)Nza:f,s)angle)slope) eccentricity)vradiusr;) rr free_symbolsr rrr rrrr)abr6defrs r&test_free_symbolsrC7s!'*Aq!Q1a A; # #1v -- - AA  , ,Aq! << < 1v1v  + +1a| ;; ; 1vQ  , ,Aq 99 9 Aq6Aq6 " / /Aq!Q< ?? ? Aa - -!Q :: : !A#qsaAY ' 4 4Aq! DD D Aq61a - -!Q1 == = Aq611 - : : Aq!    Aq611 5 B B Aq!    1a&!  ) )aAY 66 6 1a&1a&1a& ) 6 6 Aq!Q   Aq6Aq6Aq6 * 7 7 Aq!Q   1a&!Q * 7 7Aq!Q? JJ Jr(ctdd}tdd}t||dzf|ddf}td|zdz d |dzzd z f|ddf}tddttjt ddtddg}td d td t ddtddg}|j dd d|k(sJtdddDcgc]}|j||dz c}|k(sJtdddDcgc]}|j||dz c}|k(sJt||zd |zf|ddfj|tjt|tjzd |zf|ddfk(sJt|d |zf|ddfjddt|dzd |zdzf|ddfk(sJycc}wcc}w)NrTryrrrr iir i)rFrJ) rr r rHalfrr3rsubsr4)rrEr6coutptspts_outxis r&test_transformrQNssAsA q!Q$i!Q#A !A#'1QT6B;'!Q 3D A;affhq!n5uQ{ CCR~uR#q)9:E"bMJG 771a D (( (&+Aq!n 5AFF1bdO 5 << <).q!Q 82DIIaA  8G CC C !a%11ay ) . .q!&& 9 q166z1Q3!Q+ ,, , !QqSAq!9 % / /1 5 q1uacAgAq * ++ + 6 8s GGcvtdd}t|df|ddf}|jdk(sJt||f|ddf}|jtdk(sJt|dz|f|ddf}|jtd t d d z z t d d z zdtd zdz zk(sJy) NrTrrrrrJrFrGe)rr lengthr r )rc1c2c3s r& test_lengthrY_ssA 1v1ay !B 99>> 1v1ay !B 99Q   Q{Q1I &B 99b E!HqL059q=@1tCy=STCTT TT Tr(ctdtdzdzgddfjddik(sJttfdy)Nrrr)rrrc(jdS)N)rr)parameter_valueCrsr&r'z&test_parameter_value..psq00;r()rr r\rr5r]s@@r&test_parameter_valuer_lsTs A qsAqDkAq!9%A  VQ 'Aq6 11 1 :;DAq q!Q$i!Q$A qsAqDkAq!9%A Q45A;   Q45A;  r(N)!sympy.core.containersrsympy.core.numbersrrsympy.core.singletonrsympy.core.symbolrr%sympy.functions.elementary.hyperbolicr (sympy.functions.elementary.miscellaneousr sympy.geometryr r r rrrrrrsympy.testing.pytestrrr7rCrQrYr_rbr(r&rlsU'-"/79eee-)PXKK,+" U=r(