
    sg                         d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zy)    )S)rm_idglomflattenunpacksort
distributesubsrebuild)Basic)Add)Mul)symbolsxc                     t        d       }  | t        t        d      t        d                  t        t        d            k(  sJ  | t        t        d      t        d                  t        t        d            k(  sJ  | t        t        d      t        d                  t        t        d      t        d            k(  sJ y )Nc                     | dk(  S Nr    r   s    Q/var/www/html/venv/lib/python3.12/site-packages/sympy/strategies/tests/test_rl.py<lambda>ztest_rm_id.<locals>.<lambda>   s
    a1f     r         )r   r   r   )rmzeross    r   
test_rm_idr      s    $%G51qt$%qt44451qt$%qt44451qt$%qtQqT)::::r   c            
          d } d }d }t        | ||      } |t        t        t         dt        z  ddd            }t        dt        z  d      }t        |j                        t        |j                        k(  sJ y )	Nc                 *     | j                          d   S )Nr   as_coeff_Mulr   s    r   keyztest_glom.<locals>.key       q~~""r   c                 *     | j                          d   S r   r   r   s    r   countztest_glom.<locals>.count   r"   r   c                     | |z  S )Nr   )cntargs     r   newargsztest_glom.<locals>.newargs   s    Syr      r   Fevaluate   )r   r   r   setargs)r!   r$   r(   rlresultexpecteds         r   	test_glomr2      so    ## 
c5'	"BAr1q5!Q78F1q5!}Hv{{s8==1111r   c                      t        t        t        d      t        d      t        t        d      t        d                        t        t        d      t        d      t        d      t        d            k(  sJ y )Nr   r   r)      )r   r   r   r   r   r   test_flattenr5   #   sW    51qtU1Q41%678adAaD!A$!%& & &r   c                      t        t        t        d                  dk(  sJ t        t        t        d      t        d                  t        t        d      t        d            k(  sJ y )Nr   r)   )r   r   r   r   r   r   test_unpackr7   (   sN    %!+!###%!ad#$adAaD(9999r   c            	           t        t              t        t        d      t        d      t        d                  t        t        d      t        d      t        d            k(  sJ y )Nr)   r   r   )r   strr   r   r   r   r   	test_sortr:   -   sE    49U1Q41qt,-qtQqT1Q41HHHHr   c                  T    G d dt               }  G d dt               }t        | |      } | | t        d      t        d       |t        d      t        d            t        d	                   | | t        d      t        d      t        d      t        d	             | t        d      t        d      t        d      t        d	                  k(  sJ  | | t        d      t        d      t        d                   | t        d      t        d      t        d            k(  sJ y )
Nc                       e Zd Zy)test_distribute.<locals>.T1N__name__
__module____qualname__r   r   r   T1r=   2       r   rB   c                       e Zd Zy)test_distribute.<locals>.T2Nr>   r   r   r   T2rE   5   rC   r   rF   r   r   r)   r4   r,   )r   r	   r   )rB   rF   distribute_t12s      r   test_distributerH   1   s    U U   B'N"QqT1Q4AaD!A$1>?
2adAaD!A$!%r!A$!adAaD'ABC C C"QqT1Q41./2adAaD!A$3GGGGr   c                      t        d      \  } }t        dt        | |      d      }t        t        d|       t        d|            }t        t        t              } ||      |k(  sJ y )Nzx, yr   Fr*   )r   r   r   r	   )r   yexprr1   distribute_muls        r   test_distribute_add_mulrM   >   sZ    6?DAqq#a)e,D3q!9c!Qi(HS)N$8+++r   c                  P    t        dd      }  | d      dk(  sJ  | d      dk(  sJ y Nr   r   r)   )r
   )r/   s    r   	test_subsrP   F   s-    	aBa5A::a5A::r   c                  ~    t        j                  t        t        d      t        d            } t	        |       dk(  sJ y rO   )r   __new__r   r   r   )rK   s    r   test_rebuildrS   L   s.    ==adAaD)D4=Ar   N)sympy.core.singletonr   sympy.strategies.rlr   r   r   r   r   r	   r
   r   sympy.core.basicr   sympy.core.addr   sympy.core.mulr   sympy.core.symbolr   	sympy.abcr   r   r2   r5   r7   r:   rH   rM   rP   rS   r   r   r   <module>r[      sX    "C C C "   % ;2"&
:
I
H,r   