
    g                         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 dl
mZmZ d dlmZ d dlmZ  ed	           ed
          cZZd Zd Zd Zd Zd Zd Zd Zd ZdS )    )rewriterule)Basic)S)Symbol)sinxy)rebuild)Qpqc            
      N   t          t          t          t          d                    t          t          t          d                    t          f          } t	           | t          t          d          t          d                                        t          t          d          t          d                    gk    sJ t          dz  }t          dz  }t          ||t          f          } t
          dz  }t	           | |                    t
          dz  gk    sJ d S N      )	variables   )r   r   r   r   listr	   )rlp1p2exprs       Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/unify/tests/test_rewrite.pytest_simpler      s    	U1add^^U1add^^t	D	D	DB51qtt$$%%&&51qtt+<+<*=====	
AB	
AB	Rt	,	,	,Ba4D4>>adV######    c            
      B   t          t          t          t          d                    t          t          t          d                    t          f          } t	           | t          t          d          t          d                                        t          t          d          t          d                    gk    sJ t          t          dz  t          dz  t          f          } t	           | t
          dz                      t
          dz  gk    sJ d S r   )r   r   r	   r   r   r
   r   s    r   test_simple_variablesr      s    	U1add^^U1add^^t	D	D	DB51qtt$$%%&&51qtt+<+<*=====	QT1a4A4	0	0	0B1a4>>adV######r   c                     t           dz  t          dz  z   } t           t          z  dz  }t          | |t           t          f          }t          dz  t          dz  z   }t           ||                    t          t          z  dz  gk    sJ d S )Nr   r      )r   r   r   r	   r
   r   )r   r   r   r   s       r   test_moderater"      su    	
A1B
A#B	RaV	$	$Ba4!Q$;D4>>qsQhZ''''''r   c                     t          t                    dz  t          t                    dz  z   } d}t          | |t          t          f          }t	           |t          t
                    dz  t          t
                    dz  z                       dgk    sJ t	           |t          t                    dz  t          t                    dz  z                       dgk    sJ d S )Nr   r   )r   r   r   r   r   r	   r
   )r   r   r   s      r   test_sincosr$   &   s    	QSVVQY	B	
B	RaV	$	$B3q6619s1vvqy())**qc11113q6619s1vvqy())**qc111111r   c                  ,   t          t          t          z   t          t          z   t          t          f          } t           | t          t
          z                       j         t          t           | t          t
          z                                  d S N)r   r   r   nextr	   r
   is_commutativestrr   s    r   test_Exprs_okr*   .   s`    	QqS!A#1v	&	&BAaCMM  RR!WWr   c            	         t          t          t          dz   t          gd           } t           | t          d                              rJ t	          t           | t          d                                        dk    sJ d S )Nr   c                     | dk     S )N
    )r	   s    r   <lambda>z'test_condition_simple.<locals>.<lambda>4   s
    AF r            )r   r	   r   r   r   r'   r   s    r   test_condition_simpler3   3   sr    	Q!aS"2"2	3	3BBBquuII41Q44>>""a''''''r   c                     t          t          t          z   t          t          z  t          t          gd           } t          d          }t          dd          }||z   }t	           | |                    ||z  gk    sJ t          dd          }t          dd          }t           | ||z                       ||z  ||z  hk    sJ d S )Nc                     | j         S r&   )
is_integerr   s     r   r/   z)test_condition_multiple.<locals>.<lambda>:   s    al r   abT)integercd)r   r	   r
   r   r   set)r   r7   r8   r   r:   r;   s         r   test_condition_multipler=   9   s    	QUAqD1Q%)B)B	C	CBsAsD!!!Aq5D4>>adV####sD!!!AsD!!!Arr!a%yy>>adAqD\))))))r   c                  J   t          t          t          z   t          t          z  t          t          gt          j        t                              } t          t          d          \  }}||z   }t           | |t          j        |                              ||z  gk    sJ d S )N)assumeab)r   r	   r
   r   r9   mapr   r   )r   r7   r8   r   s       r   test_assumptionsrB   E   s    	QUAqD1a&1	>	>	>BvtDAqq5D41&&''AqD6111111r   N)sympy.unify.rewriter   sympy.core.basicr   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.elementary.trigonometricr   	sympy.abcr	   r
   sympy.strategies.rlr   sympy.assumptionsr   r   r   r   r   r"   r$   r*   r3   r=   rB   r.   r   r   <module>rK      s8   + + + + + + " " " " " " " " " " " " $ $ $ $ $ $ 8 8 8 8 8 8         ' ' ' ' ' '      vc{{FF3KK1	$ 	$ 	$$ $ $( ( (2 2 2  
( ( (
* 
* 
*2 2 2 2 2r   