a
    lh`	                     @   s   d dl mZmZmZmZ d dlmZmZ dd Zdd Z	dd Z
d	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )    )	treeapplygreedy
allresultsbrute)partialreducec                 C   s   | d S N    xr
   r
   N/var/www/auris/lib/python3.9/site-packages/sympy/strategies/tests/test_tree.pyinc   s    r   c                 C   s   | d S r   r
   r   r
   r
   r   dec	   s    r   c                 C   s   d|  S N   r
   r   r
   r
   r   double   s    r   c                 C   s   | d S r   r
   r   r
   r
   r   square   s    r   c                  G   s   t | S N)sumargsr
   r
   r   add   s    r   c                  G   s   t dd | dS )Nc                 S   s   | | S r   r
   )abr
   r
   r   <lambda>       zmul.<locals>.<lambda>r	   )r   r   r
   r
   r   mul   s    r   c                  C   sJ   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sFJ d S )N      r	   r   <   )r   listmintuplemaxr   r   )treer
   r
   r   test_treeapply   s    r&   c                  C   sr   t di dd 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
d dt |ttttiksnJ d S )Nr   c                 S   s   | d S r   r
   r   r
   r
   r   r   $   r   z%test_treeapply_leaf.<locals>.<lambda>)Zleaf	   r   r	   r      c                 S   s   | d S r   r
   r   r
   r
   r   r   '   r   )r   r!   r"   r#   r$   )r%   Ztreep1r
   r
   r   test_treeapply_leaf#   s    r)   c                  C   s   ddl m} m} t| t|i}tt|tks.J tttf|d|ttdksRJ tttg|d| ttdksvJ tttgf}t||ddksJ t||ddksJ t	|dd d}t| t|i}t||}|d	dksJ |dd
ksJ d S )Nr   )chainminimizer(      r	   c                 S   s   |  S r   r
   r   r
   r
   r   r   6   r   z+test_treeapply_strategies.<locals>.<lambda>Z	objectiver   r   )
Zsympy.strategiesr*   r+   r!   r#   r   r   r   r   r   )r*   r+   joinr%   Zmaximizefnr
   r
   r   test_treeapply_strategies+   s    $$
r0   c                  C   s   t ttfg} t| dd 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spJ t| d
d d}|ddksJ d S )Nc                 S   s   |  S r   r
   r   r
   r
   r   r   @   r   ztest_greedy.<locals>.<lambda>r-   r   r,   r	   r   
      c                 S   s   |  S r   r
   r   r
   r
   r   r   H   r      )r   r   r   r   )r%   r/   ZlowestZhighestr
   r
   r   test_greedy=   s    r4   c                   C   s   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sJ d S )Nr   r   r   r(   r,   )setr   r   r   r   r
   r
   r
   r   test_allresultsL   s     r6   c                  C   sR   t tgtf} t| dd }|ddks*J |ddks:J tt ddksNJ d S )Nc                 S   s   |  S r   r
   r   r
   r
   r   r   W   r   ztest_brute.<locals>.<lambda>r   r'   r	   )r   r   r   r   )r%   r/   r
   r
   r   
test_bruteU   s
    r8   N)Zsympy.strategies.treer   r   r   r   	functoolsr   r   r   r   r   r   r   r   r&   r)   r0   r4   r6   r8   r
   r
   r
   r   <module>   s   	