
    sg`	                     t    d dl mZmZmZmZ d dlmZmZ d Zd Z	d Z
d Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zy)    )	treeapplygreedy
allresultsbrute)partialreducec                     | dz   S N    xs    S/var/www/html/venv/lib/python3.12/site-packages/sympy/strategies/tests/test_tree.pyincr          q5L    c                     | dz
  S r
   r   r   s    r   decr   	   r   r   c                     d| z  S N   r   r   s    r   doubler      r   r   c                     | dz  S r   r   r   s    r   squarer      s    a4Kr   c                      t        |       S N)sumargss    r   addr       s    t9r   c                      t        d | d      S )Nc                     | |z  S r   r   )abs     r   <lambda>zmul.<locals>.<lambda>   s
    q1u r   r   )r   r   s    r   mulr&      s    $dA..r   c                      ddgddgdf} t        | t        t        t        t        i      dk(  sJ t        | t        t
        t        t        i      dk(  sJ y )N      r   r   <   )r   listmintuplemaxr    r&   )trees    r   test_treeapplyr0      sR    FQFADTD#uc23q888TD#uc23r999r   c                      t        di d       dk(  sJ ddgddgdf} ddgddgdf}t        | t        t        t        t        id	       t        |t        t        t        t        i      k(  sJ y )
Nr(   c                     | dz  S r   r   r   s    r   r%   z%test_treeapply_leaf.<locals>.<lambda>$   s
    1a4 r   )leaf	   r)   r   r      c                     | dz   S r
   r   r   s    r   r%   z%test_treeapply_leaf.<locals>.<lambda>'   s
    1q5 r   )r   r+   r,   r-   r.   )r/   treep1s     r   test_treeapply_leafr8   #   sx    Q0A555FQFAD!fq!fa FTD#uc2IVdC456 6 6r   c                  >   ddl m} m} t        | t        |i}t        t        |      t        k(  sJ  t        t        t        f|      d        |t        t              d      k(  sJ  t        t        t        g|      d        | t        t              d      k(  sJ t        t        t        gf} t        ||      d      dk(  sJ  t        ||      d      dk(  sJ t        |d       }t        | t        |i}t        ||      } |d      dk(  sJ  |d      d	k(  sJ y )
Nr   )chainminimizer5      r   c                     |  S r   r   r   s    r   r%   z+test_treeapply_strategies.<locals>.<lambda>6   s    aR r   	objectiver)   r   )
sympy.strategiesr:   r;   r+   r-   r   r   r   r   r   )r:   r;   joinr/   maximizefns         r   test_treeapply_strategiesrD   +   s   0%)DS$3&&&&9c3Z&q)-?Xc3-?-BBBB&9c3Z&q)_U3_Q-????#vD 9T4 #q((( 9T4 #q(((x<8H%)D	4	Ba5A::a5A::r   c                  :   t         t        t        fg} t        | d       } |d      dk(  sJ  |d      dk(  sJ t         t        t         t        t         t         ft        t        fggg} t        |       } |d      dk(  sJ t        | d	       } |d      d
k(  sJ y )Nc                     |  S r   r   r   s    r   r%   ztest_greedy.<locals>.<lambda>@   s    1" r   r>   r)   r<   r   r   
      c                     |  S r   r   r   s    r   r%   ztest_greedy.<locals>.<lambda>H   s    r r      )r   r   r   r   )r/   rC   lowesthighests       r   test_greedyrM   =   s    #vD		-Ba5A::a5A::sC3*sCj!9:;DD\F":??T\2G2;"r   c                  j   t         t        t              d            t        d      hk(  sJ t         t        t        t        g      d            ddhk(  sJ t         t        t        t        f      d            dhk(  sJ t         t        t        t        t        fg      d            ddhk(  sJ y )Nr(   r   r)   r5   r<   )setr   r   r   r   r   r   r   test_allresultsrP   L   s     z#q!"s1vh...%z3*%a()aV333%z3*%a()aS000/z3f./231v===r   c                      t         t        gt        f} t        | d       } |d      dk(  sJ  |d      dk(  sJ  t        t               d      dk(  sJ y )Nc                     |  S r   r   r   s    r   r%   ztest_brute.<locals>.<lambda>W   s    r r   r   r4   r   )r   r   r   r   )r/   rC   s     r   
test_bruterT   U   sX    #JD	t\	"Ba5Jb6[   5:a=Ar   N)sympy.strategies.treer   r   r   r   	functoolsr   r   r   r   r   r   r    r&   r0   r8   rD   rM   rP   rT   r   r   r   <module>rW      sJ    F F %/:6$>r   