
    oVh                        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 d d	lmZ d d
lmZmZmZmZmZ d dlmZmZ d dlmZ d dlmZ  e       Z  ee       Z! ee!      Z" ee!e       Z#d Z$d Z%d Z&d Z'd Z(y)    )Basic)Tuple)default_sort_key)symbols)S)expandFunction)I)Integral)factor)preorder_traversalusepostorder_traversaliterargsiterfreeargs)ExprCondPair	Piecewise)warns_deprecated_sympy)capturec            	         t        t        t              } t        t	        |             | t        t
        t        t        t        t
        t        gk(  sJ t        t	        d            g dk(  sJ g }t	        |       }|D ]-  }|j                  |       |t
        k(  s|j                          / || t        t
        t        t        t
        gk(  sJ t        d      \  }}}}||||z   z  z   } t        t	        | gt                    |||z   z  |z   g|||z   z  |z   ||||z   z  |||z   ||gk(  sJ t        t	        ||z   |z  d            |||z   z  |||z   ||gk(  sJ y )Nabcdef)r   r   r   r   r   zw:zkeysT)r   b21b3listr   b2b1appendskipr   r   )exprresultptiwxyzs           O/home/dcms/DCMS/lib/python3.12/site-packages/sympy/core/tests/test_traversal.pytest_preorder_traversalr.      s   b>D4 "&*CRRR%HI I I"#789 >= = = = F	D	!B a7GGI dCRR0000JAq!Qq!a%y=D"D60@AB
QU)a-!QU)a-Aq1uIq!a%AFG G G"AE19489	
AEAq1ua#$ $ $    c                  N   t        d      \  } }t        dt              dk(  sJ | |z   dz  | z  dz   }t        |t        d      | dz  d| dz  z  |z  z   | |dz  z  z   dz   k(  sJ t        |t        d      | dz  d| dz  z  |z  z   | |dz  z  z   dz   k(  sJ t        |t        d      d| d| z  |z  | dz  z   |dz  z   z  z   k(  sJ t        |t        d      | |z   dz  | z  dz   k(  sJ | dz  dz   dz  dz
  }ddi}t        |t        d|	      | dz  | dz  dz   z  k(  sJ t        |t        d|	      | t        z   dz  | t        z
  dz  z  dz
  k(  sJ t        |t        d|	      | t        z   dz  | t        z
  dz  z  dz
  k(  sJ t        |t        d|	      | dz  dz   dz  dz
  k(  sJ y )
Nzx yr         )level   gaussianT)r3   kwargs)r   r   r   r   r
   )r*   r+   fr6   s       r-   test_user8   ,   s   5>DAqq&>Q	
Q
1qAq&"adQq!tVAXo!Q$&>&DDDDq&"adQq!tVAXo!Q$&>&DDDDq&"a!QqSUQT\AqD-@*A&AAAAq&"q1uqjlQ&6666	
AAA$Fq&&1QT1a4!8_DDDq&&1a!eaZQ
5JQ5NNNNq&&1a!eaZQ
5JQ5NNNNq&&1adQh]Q5FFFFr/   c                  &   t        d      \  } }}}||| |z   z  z   }||| || |z   || |z   z  || |z   z  |z   g}t        t        |t                    |k(  sJ t        t        |d            |k(  sJ t	        | | dk  f| dz  df      }| d| | dk  t        | | dk        d| | dz  t        j                  t        | dz  d      t	        | | dk  f| dz  df      g}t        t        |t                    |k(  sJ t        t        |gt                    ||ggz   k(  sJ t        t        t        | dz  | ddf      t                    d| | dz  dd| t        | dd      t        | dz  t        | dd            gk(  sJ t        t        d            g dk(  sJ y )	Nzx y z wr   Tr2   r1   r   r   )r   r   r   r   r   )
r   r    r   r   r   r   r   truer   r   )r*   r+   r,   r)   r%   expecteds         r-   test_postorder_traversalr<   A   s   #JAq!Qq!a%y=D1aAE1a!e9aQi!m<H#D/?@AXMMM#Dt45AAAaQZ!Q$.D	1aQQA.	1adAFFQT4 )QAJAt"EH
 #D/?@AXMMM#	%' (+3vh+>? ? ? #HQTAq!9$=  q!Q$1aq!QQT5Aq>*$

 
 

 #$89: ?= = = =r/   c            
         t        d      } t        d      }t        t        t	         | |       | |      df                  t	         | |       | |      df      dgk(  sJ t        t        t	         | |       | |      df                  t	         | |       | |      df       | |       | |      df| | |      d|gk(  sJ y )Nr7   r*   r2   )r	   r   r    r   r   r   )r7   r*   s     r-   test_iterargsr>   [   s    AAXadQqT1I6781!ay!1=& & & &!A$1q	2341!ay!1Q4!A$AqtQ9C C C Cr/   c                  T   t        d      t               5  ddlm}   |        d d d        t               5  ddlm}  |d        d d d        t               5  ddlm}  |d        d d d        t               5  ddlm}  |d	        d d d        t               5  dd
l	m
}  |       d d d        t               5  ddl	m t        fd       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   wxY w# 1 sw Y   bxY w# 1 sw Y   y xY w)Nr*   r   )r   )	bottom_upc                     | S N r*   s    r-   <lambda>z)test_deprecated_imports.<locals>.<lambda>k   s    q r/   )walkc                     | S rB   rC   rD   s    r-   rE   z)test_deprecated_imports.<locals>.<lambda>n   s    ! r/   )r   c                     | S rB   rC   rD   s    r-   rE   z)test_deprecated_imports.<locals>.<lambda>q   s     r/   )r   )interactive_traversalc                              S rB   rC   )rI   r*   s   r-   rE   z)test_deprecated_imports.<locals>.<lambda>w   s    -a0 r/   )r   r   sympy.core.basicr   sympy.simplify.simplifyr@   rF   sympy.simplify.traversaltoolsr   sympy.utilities.iterablesr   rI   r   )r   r@   rF   r   r   rI   r*   s        @@r-   test_deprecated_importsrO   c   s   A		! 71 
 	! "5![!" 
 	! 0Q 
 	! 5A{ 
 	! AA 
 	! 2C012 2 " "   2 2sF   C"C.C:?D"DD"C+.C7:DDDD'N))rK   r   sympy.core.containersr   sympy.core.sortingr   sympy.core.symbolr   sympy.core.singletonr   sympy.core.functionr   r	   sympy.core.numbersr
   sympy.integrals.integralsr   sympy.polys.polytoolsr   sympy.core.traversalr   r   r   r   r   $sympy.functions.elementary.piecewiser   r   sympy.testing.pytestr   rN   r   r"   r!   r   r   r.   r8   r<   r>   rO   rC   r/   r-   <module>r[      sn    " ' / % " 0   . ( e e H 7 -
W
2Y
2YBm$.G*=4C2r/   