K iS4zddlmZmZmZmZmZmZddlmZm Z ddl m Z ddl m Z mZmZmZmZddlmZdZdZdZy ) )sinFunctionsymbolsDummyLambdacos)parse_mathematicaMathematicaParser)sympify)nwxyz)raisesc iddddddddd d d d d d d d ddddddddddddddddddid d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@idAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdn }|D]}t|t||k(rJtdottdpzt tdpzzk(sJt dqt r\}}}tdsjt|||ft|t |zsJtdtjt|t|dpzsJtdutttdvzk(sJtdwtttftdpztdpzzk(sJy)xNz- 6xz-6*xzSin[x]^2z sin(x)**2z2(x-1)z2*(x-1)z3y+8z3*y+8zArcSin[2x+9(4-x)^2]/xzasin(2*x+9*(4-x)**2)/xzx+yz355/113z 2.718281828u Cos(1/2 * π)u Cos(π/2)zSin[12]zsin(12)z Exp[Log[4]]z exp(log(4))z (x+1)(x+3)z (x+1)*(x+3)zCos[ArcCos[3.6]]zcos(acos(3.6))zCos[x]==Sin[y]zEq(cos(x), sin(y))z 2*Sin[x+y]z 2*sin(x+y)z Sin[x]+Cos[y]z sin(x)+cos(y)z Sin[Cos[x]]z sin(cos(x))z 2*Sqrt[x+y]z 2*sqrt(x+y)z+Sqrt[2]zsqrt(2)z-Sqrt[2]z-sqrt(2)z -1/Sqrt[2]z -1/sqrt(2)z -(1/Sqrt[3])z -(1/sqrt(3))z 1/(2*Sqrt[5])z 1/(2*sqrt(5))zMod[5,3]zMod(5,3)z -Mod[5,3]z -Mod(5,3)z(x+1)yz(x+1)*yzx(y+1)zx*(y+1)z Sin[x]Cos[y]z sin(x)*cos(y)zSin[x]^2Cos[y]^2zsin(x)**2*cos(y)**2zCos[x]^2(1 - Cos[y]^2)zcos(x)**2*(1-cos(y)**2)x yzx*yzx yz2 xz2*xzx 8zx*8z2 8z2*8z4.xz4.*xz4. 3z4.*3z4. 3.z4.*3.z1 2 3z1*2*3z( - 2 * Sqrt[ 2 3 * ( 1 + 5 ) ] z-2*sqrt(2*3*(1+5))zLog[2,4]zlog(4,2)zLog[Log[2,4],4]zlog(4,log(4,2))zExp[Sqrt[2]^2Log[2, 8]]zexp(sqrt(2)**2*log(8,2))zArcSin[Cos[0]]z asin(cos(0))zLog2[16]z log(16,2)zMax[1,-2,3,-4]zMax(1,-2,3,-4)z Min[1,-2,3]z Min(1,-2,3)z Exp[I Pi/2]z exp(I*pi/2)z ArcTan[x,y]z atan2(y,x)zPochhammer[x,y]zrf(x,y)zExpIntegralEi[x]zEi(x)zSi(x)zCi(x)z airyai(x)zairyaiprime(5)z airybi(x)zairybiprime(7)z li(4)z primepi(7)zprime(5)z isprime(5)zRational(2,19)) zSinIntegral[x]zCosIntegral[x]z AiryAi[x]zAiryAiPrime[5]z AiryBi[x]zAiryBiPrime[7]zLogIntegral[4]z PrimePi[7]zPrime[5]z PrimeQ[5]zRational[2,19]zSin[#]^2 + Cos[#]^2 &[x]zd1:4clszSin[#] + Cos[#3] &z Sin[#^2] &zFunction[x, x^3]zFunction[{x, y}, x^2 + y^2]) r r rrrrrdummy_eqrr)ded1d2d3s j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/parsing/tests/test_mathematica.pytest_mathematicars? ? K?  )?   ? !9 ? u ?  9?  }?  ?  9?  }?  m?  ,?  .?  l? !? " }#? $ }%? & I'? ( J)? * l+? , -? . /? 0 J1? 2 [3? 4 )5? 6 )7? 8 9? : 1;? < !";=? > u?? @ A? B uC? D uE? F uG? H vI? J K? L M? N O? P 34HQ? R JS? T ,U? V "#=W? X .Y? Z K[? \ *]? ^ }_? ` }a? b |c? d 9e? f Gg? h"! * *""!*}? AB5 #wqt}4445 7 8CFAIAPQ k(sJd?gd@k(sJdAgdBk(sJdCgdDk(sJdEgdFk(sJdGgdHk(sJdIgdJk(sJdKgdLk(sJdMgdLk(sJdNd dd.gdOgk(sJdPd dgd(d/gk(sJdQddd.gdRgk(sJdSddgdd/gk(sJdTdgdd.gdRgk(sJdUd dgd(gdOdVgk(sJdWd dgd(gdOgk(sJdXddgdgdRgk(sJdYd dZgd[gk(sJd\d dZgd[gd(gk(sJd]d dgd[d.gk(sJd^dgd_d/gk(sJd`ddgdadVgk(sJdbd dgdagk(sJdcd dd.gddgk(sJdegdfk(sJdgdhdgdigk(sJdjdhdhdggk(sJdkgdlk(sJdmgdnk(sJdodd.d/ggk(sJdpdqdd.dqd/dVgdrggk(sJdsdgdtgk(sJdudqdd.d/ggk(sJdvdqdgdwgk(sJdxdqdd.gdyggk(sJdzddqd.d/dVgggk(sJd{dqdgdgd|gd}gk(sJd~dgdgd|gd}gk(sJddhgdgd|gd}gk(sJdgdk(sJdgdk(sJdgdk(sJdddgdgk(sJddddd.gdggk(sJdgdk(sJdddgdd/gdVgk(sJddd.gk(sJddd.gd/gk(sJddd.gd/gdVgk(sJdgdk(sJdgdk(sJdgdk(sJddgdgk(sJddd.gddgk(sJddd.gddVgk(sJdgdk(sJdddd.gddgk(sJdgdk(sJdgd_k(sJdddd.d/dVdgdgdgk(sJddhdgd4d/d dVdgdggdggk(sJddddggk(sJdddddgggk(sJddddggk(sJddddggk(sJddddd.dgggdd/dgggk(sJdd ddd.dgggd/gk(sJdddZgk(sJdddgk(sJdddgk(sJdddZgk(sJdddgk(sJdddgk(sJddddZggk(sJdddddZgdggk(sJd«ddddZgddgggk(sJdīddddZgddZgggk(sJdūdddZggdgk(sJdƫddddZgddgggddgk(sJdǫdd dddZgdgdddgdgggk(sJdȫddgk(sJd˫ddgk(sJdͫdddddgdggk(sJdΫddgk(sJdЫddgk(sJdѫddgk(sJttfdӄttfdԄttfdՄttfdքttfdׄttfd؄ttfdلy)NcDjj|SN)_from_tokens_to_fullformlist_from_mathematica_to_tokensexprparsers rz3test_parser_mathematica_tokenizer..Zs<)r>r4r7z{{a}}za[b, c])r0r4r7z a[[b, c]])Partr0r4r7za[b[c]]za[[b, c[[d, {e,f}]]]]r?)r>rfz a[b[[c,d]]])r?r4r7rz a[[b[c]]]z a[[b[[c]]]])r?r4r7za[[b[c[[d]]]]])r?r7rz a[b[[c[d]]]]zx[[a+1, b+2, c+3]])r/r4r8)r/r7r2zx[a+1, b+2, c+3]z{a+1, b+2, c+3}z a*b*c*d*e)r.r0r4r7rrz a +b + c+ d+e)r/r0r4r7rrza^b)r9r0r4za^b^cr9)r9r4r7za^b^c^d)r9r7rza/.b) ReplaceAllr0r4z a/.b/.c/.drAza//bza//b//cz a//b//c//dza;b)CompoundExpressionr0r4za;)rBr0Nullza;b;)rBr0r4rCza[b;c])rBr4r7z a[b,c;d,e])rBr7rrz a[b,c;,d])rBr7rCza b za b (c d) rBz a; b c)rBr0r4r7za + b za b; c; d e; (f g); h + i)r.r@g)r/hiz$ { a b; c; d e (f g); h + i } y_PatternrBlankzy_.Optionaly__ BlankSequencey___BlankNullSequencez a[b_.,c_]zb_. c#Slotz#3r2z#nr z## SlotSequencez##azx&rz#&z#+3&z#1 + #2&r8z# + #&z#&[x]z#1 + #2 & [x, y]z #1^2#2^3&z"abc"_Strabcz"a\"b"za"bz x + "abc" ^ 3z "a (* b *) c"z a (* b *) cz "a" (* b *) z "a [ b] "za [ b] cdS)N"chainsrr)z3test_parser_mathematica_tokenizer..s c r cdS)Nz"\"rVrWsrr)z3test_parser_mathematica_tokenizer.. f r cdS)Nz"abcrVrWsrr)z3test_parser_mathematica_tokenizer..rZr cdS)Nz "abc\"defrVrWsrr)z3test_parser_mathematica_tokenizer..s l 3r cdS)Nz(,rVrWsrr)z3test_parser_mathematica_tokenizer.. d r cdS)Nz()rVrWsrr)z3test_parser_mathematica_tokenizer..r^r cdS)Nza (* brVrWsrr)z3test_parser_mathematica_tokenizer..s hr )r r SyntaxError)rXr(s@@r!test_parser_mathematica_tokenizerrbWs  F fE :   ;$   ;$   ;#   ;$   <4   ;$    s| ++ +  s|< << < ?w-?@ @@ @ <3   =C   ;. .. . =0 00 0  1 11 1 >/ // / >0 00 0 >fc+?@ @@ @ >0 00 0  -@A AA A & 'FC9QSf+g gg g >gs,@A AA A <. .. . <. .. . ?wc C8 88 8  2 22 2 >0 00 0 >0 00 0 <5  <. .. . =/ // / >. .. . =0 00 0 <, ,, , </ // / =- -- - </ // / =1 11 1 =- -- - ! "&8 88 8 3 48O OO O   $  $$ $ >gsC1EF FF F >gs,@#F FF F >fc30DE EE E >fc+?E EE E  6+?FZ"[ [[ [  .BDXZ]^ ^^ ^ >gs,@BVW WW W >fc+?AUV VV V ? ?? ? >gs,@BVW WW W ?w.BCH HH H  F,>#D DD D $ %I3)O OO O  GS2D#E EE E  '35H!I II I  $@ @@ @  FC1C#D DD D >fvsm4 44 4   .. .  !8 88 8  c3Z0 00 0 ( )fc3cSe@f-g gg g  C)@#A AA A  &#Sz!: :: :  FC1C#D DD D ! "vsS:L4M&N NN N  S63c *C$D DD D % &638JL^`r*s ss s # $.@BTVh(i ii i " #0BDVXj'k kk k  !C CC C  !%F FF F <. .. . >gs,?@ @@ @  w=P.QR RR R =4 44 4  <,@XZ]1^`c"d dd d =S#J && &  c C0 00 0  S#J#4c": :: : <; ;; ; ;= == = =D DD D ?s$DE EE E  3-Ms"S SS S  #s,OQT!U UU U ?> >> > ' (-A3M`,a aa a  !F FF F  !3 33 3 5 6;OQTVY[^`cehj}@R;S SS S @ AfOcexz}AHJMORTg@hj|O}F~ ~~ ~ ;9cG95 55 5  >> > =Y.A-BC CC C  # YgY4O'PS\^adkclRm!n nn n >g YgY4O'PRUV VV V :&# && & ;63- '' ' ;63- '' ' ;>3/ // / zFC=93? ?? ? # $*v}vWZm6\)]_bdg(h hh h  *w63-QT8UX_bhjmanpsWt.u!v vv v >fe_ ,, ,   .. .  !fcGfe_c3R%S SS S  !fm%< << <  VSM 11 1  &)!4 44 4 ;*+ ;-. ;-. ;34 ;+, ;+, ;/0r c F t fd fd}tdt\}}}}d}d}d}d} j|d gd gk(sJ j|d gd d gk(sJ j|d d dgdgdggk(sJ j|dgdd gk(sJ |||tt k(sJ |||tt t k(sJ |||t|t t |ttk(sJ||ttt zk(sJ||tt zt zk(sJ||ttt t zzttzzk(sJy)NcDjj|Sr#)#_from_fullformlist_to_fullformsympy_from_fullform_to_fullformlistr&s rr)z1test_parser_mathematica_exp_alt..s&"L"LVMrMrswMx"yr c2j|Sr#)_from_fullformsympy_to_sympy)r'convert_chain2r(s rr)z1test_parser_mathematica_exp_alt..s&"E"EnUYFZ"[r zSin Times Plus PowerrzSin[Times[x, y]]zPlus[Times[x, y], z]z'Sin[Times[x, Plus[y, z], Power[w, n]]]]zRational[Rational[x, y], z]r-r:r/rr.r)r/rr)r9r r Rational)rjrr) r rrrfrrrr r r) convert_chain3r-r.r/r9 full_form1 full_form2 full_form3 full_form4rir(s @@rtest_parser_mathematica_exp_altrps  FyN[N%&<(KCe#J'J:J.J  0 0 <H[@\ \\ \  0 0 <I\^a@b bb b  0 0 <RUWik~HAA AA A  0 0 <Mceh@i ii i * %U1a[)9 99 9 * %eAqk1)= == = * %U1d1aj%1+-N)O OO O * %QqS 11 1 * %1q 00 0 * %QAYq!t^)< << rvs.<<J&##'L[^f1R=r