K i` tddlmZmZmZmZddlmZmZdZdZ dZ dZ dZ dZ d Zd Zd Zd Zd ZdZy)) treeapplygreedy allresultsbrute)partialreducec |dzSNxs f/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/strategies/tests/test_tree.pyincr q5Lc |dz Sr r r s rdecr rrc d|zSNr r s rdoubler rrc |dzSrr r s rsquarers a4Krct|SN)sumargss raddr s t9rctd|dS)Nc ||zSrr )abs rzmul..s q1urr )rrs rmulr&s $dA ..rcddgddgdf}t|ttttidk(sJt|tt tt idk(sJy)Nr r<)rlistmintuplemaxr r&)trees rtest_treeapplyr0sR FQFA D TD#uc2 3q 88 8 TD#uc2 3r 99 9rctdiddk(sJddgddgdf}ddgddgdf}t|ttttid t|ttttik(sJy) Nr(c |dzSrr r s rr%z%test_treeapply_leaf..$s 1a4r)leaf r)r rc |dzSr r r s rr%z%test_treeapply_leaf..'s 1q5r)rr+r,r-r.)r/treep1s rtest_treeapply_leafr8#sx Q 0A 55 5 FQFA D!fq!fa F TD#uc2 I VdC4 5 66 6rc>ddlm}m}t|t|i}t t |t k(sJt t tf|d|t tdk(sJt t tg|d|t tdk(sJt ttgf}t ||ddk(sJt ||ddk(sJt|d}t|t|i}t ||}|ddk(sJ|dd k(sJy) Nr)chainminimizer5r c| Srr r s rr%z+test_treeapply_strategies..6saRr objectiver)r) sympy.strategiesr:r;r+r-rrrrr)r:r;joinr/maximizefns rtest_treeapply_strategiesrD+s0 % )D S$ 3 && & &9c3Z &q )-?Xc3-?-B BB B &9c3Z &q )_U3_Q-? ?? ? #v D 9T4  #q (( ( 9T4  #q (( (x<8H % )D 4 B a5A:: a5A::rc:tttfg}t|d}|ddk(sJ|ddk(sJttttttfttfggg}t|}|ddk(sJt|d }|dd k(sJy) Nc| Srr r s rr%ztest_greedy..@s1"rr>r)r<r r c| Srr r s rr%ztest_greedy..Hsrr )rrrr)r/rClowesthighests r test_greedyrM=s #v D  -B a5A:: a5A:: sC3*sCj!9: ;D D\F ":??T\2G 2;"  rcjtttdtdhk(sJttttgdddhk(sJttttfddhk(sJtttttfgdddhk(sJy)Nr(rr)r5r<)setrrrrr rrtest_allresultsrPLs z#q! "s1vh .. . %z3*%a( )aV 33 3 %z3*%a( )aS 00 0 /z3f ./2 31v == =rcttgtf}t|d}|ddk(sJ|ddk(sJttddk(sJy)Nc| Srr r s rr%ztest_brute..Wsrrrr4r )rrrr)r/rCs r test_bruterTUsX #J D t\ "B a5J   b6[  5:a=A  rN)sympy.strategies.treerrrr functoolsrrrrrrr r&r0r8rDrMrPrTr rrrWsJFF%/: 6$ >r