
    \h`	                     t    S SK JrJrJrJr  S SKJrJr  S rS r	S r
S rS rS rS	 rS
 rS rS rS rS rg)    )	treeapplygreedy
allresultsbrute)partialreducec                     U S-   $ N    xs    X/var/www/auris/envauris/lib/python3.13/site-packages/sympy/strategies/tests/test_tree.pyincr          q5L    c                     U S-
  $ r
   r   r   s    r   decr   	   r   r   c                     SU -  $ N   r   r   s    r   doubler      r   r   c                     U S-  $ r   r   r   s    r   squarer      s    a4Kr   c                      [        U 5      $ N)sumargss    r   addr       s    t9r   c                      [        S U S5      $ )Nc                 
    X-  $ r   r   )abs     r   <lambda>mul.<locals>.<lambda>   s    qur   r   )r   r   s    r   mulr'      s    $dA..r   c                      SS/SS/S4n [        U [        [        [        [        05      S:X  d   e[        U [        [
        [        [        05      S:X  d   eg )N      r   r   <   )r   listmintuplemaxr    r'   )trees    r   test_treeapplyr1      sR    FQFADTD#uc23q888TD#uc23r999r   c                      [        S0 S S9S:X  d   eSS/SS/S4n SS/SS/S4n[        U [        [        [        [        0S	 S9[        U[        [        [        [        05      :X  d   eg )
Nr)   c                     U S-  $ r   r   r   s    r   r%   %test_treeapply_leaf.<locals>.<lambda>$   s    1a4r   )leaf	   r*   r   r      c                     U S-   $ r
   r   r   s    r   r%   r4   '   s    1q5r   )r   r,   r-   r.   r/   )r0   treep1s     r   test_treeapply_leafr:   #   sx    Q0A555FQFAD!fq!fa FTD#uc2IVdC456 6 6r   c                  @   SSK Jn Jn  [        U [        U0n[        [        U5      [        :X  d   e[        [        [        4U5      " S5      U" [        [        5      " S5      :X  d   e[        [        [        /U5      " S5      U " [        [        5      " S5      :X  d   e[        [        [        /4n[        X25      " S5      S:X  d   e[        X25      " S5      S:X  d   e[        US S9n[        U [        U0n[        X25      nU" S5      S:X  d   eU" S5      S	:X  d   eg )
Nr   )chainminimizer7      r   c                     U * $ r   r   r   s    r   r%   +test_treeapply_strategies.<locals>.<lambda>6   s    aRr   	objectiver*   r   )
sympy.strategiesr<   r=   r,   r.   r   r   r   r   r   )r<   r=   joinr0   maximizefns         r   test_treeapply_strategiesrG   +   s    0%)DS$3&&&c3Z&q)Xc3-?-BBBBc3Z&q)U3_Q-????#vDT #q(((T #q(((x<8H%)D	4	Ba5A::a5A::r   c                  6   [         [        [        4/n [        U S S9nU" S5      S:X  d   eU" S5      S:X  d   e[         [        [         [        [         [         4[        [        4///n [        U 5      nU" S5      S:X  d   e[        U S	 S9nU" S5      S
:X  d   eg )Nc                     U * $ r   r   r   s    r   r%   test_greedy.<locals>.<lambda>@   s    1"r   rA   r*   r>   r   r   
      c                     U * $ r   r   r   s    r   r%   rJ   H   s    rr      )r   r   r   r   )r0   rF   lowesthighests       r   test_greedyrQ   =   s    #vD		-Ba5A::a5A::sC3*sCj!9:;DD\F":??T\2G2;"r   c                  r   [        [        [        5      " S5      5      [        S5      1:X  d   e[        [        [        [        /5      " S5      5      SS1:X  d   e[        [        [        [        45      " S5      5      S1:X  d   e[        [        [        [        [        4/5      " S5      5      SS1:X  d   eg )Nr)   r   r*   r7   r>   )setr   r   r   r   r   r   r   test_allresultsrT   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                      [         [        /[        4n [        U S 5      nU" S5      S:X  d   eU" S5      S:X  d   e[        [         5      " S5      S:X  d   eg )Nc                     U * $ r   r   r   s    r   r%   test_brute.<locals>.<lambda>W   s    rr   r   r6   r   )r   r   r   r   )r0   rF   s     r   
test_bruterY   U   sV    #JD	t\	"Ba5Jb6[   :a=Ar   N)sympy.strategies.treer   r   r   r   	functoolsr   r   r   r   r   r   r    r'   r1   r:   rG   rQ   rT   rY   r   r   r   <module>r\      sJ    F F %/:6$>r   