
    g`	                     v    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dS )    )	treeapplygreedy
allresultsbrute)partialreducec                     | dz   S N    xs    \/var/www/html/ai-engine/env/lib/python3.11/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    t99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 d S )N      r   r   <   )r   listmintuplemaxr    r&   )trees    r   test_treeapplyr0      sd    FQFADTD#uc233q8888TD#uc233r999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 d S )
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   #   s    Q000A5555FQFAD!fq!fa FTD#uc2IIIVdC4556 6 6 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 d S )
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   +   sw   00000000%)DS$3&&&&&9c3Z&&q))-?XXc3-?-?-B-BBBBB&9c3Z&&q))_UU3__Q-?-?????#vD 9T4  ##q(((( 9T4  ##q((((x<<888H%)D	4		B2a55A::::2a55A::::::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 d S )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2a55A::::2a55A::::sC3*sCj!9:;DD\\F6"::????T\\222G72;;"r   c                     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 d S )Nr(   r   r)   r5   r<   )setr   r   r   r   r   r   r   test_allresultsrP   L   s     z#q!!""s1vvh....%z3*%%a(())aV3333%z3*%%a(())aS0000/z3f.//223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 d S )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2a55J2b66[    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      s    F F F F F F F F F F F F % % % % % % % %          / / /: : :6 6 6  $  > > >    r   