
    g                         d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZ ddlmZmZmZ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S )zTests of monomial orderings.     )
monomial_keylexgrlexgrevlexilexigrlexLexOrderInverseOrderProductOrderbuild_product_order)xyzt)S)raisesc                     t          d          dk    sJ t          t                     dk    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k     sJ t          d          t          d          k     sJ t          d          t          d          k     sJ t           j        d	u sJ t           t                      k    sJ t           t          k    sJ d S )
N         r   r   r   r   r   r   r   r   r      r   r   r   r   r   r   r   r   r   T)r   str	is_globalr	   r        \/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/polys/tests/test_orderings.pytest_lex_orderr$      s4   y>>Y&&&&s88uy>>S^^++++y>>C	NN****y>>C	NN****y>>C	NN****y>>C	NN****y>>C	NN****y>>C	NN****=D    (**%<<<<<<r"   c                     t          d          dk    sJ t          t                     dk    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k     sJ t          d          t          d          k     sJ t          d	          t          d          k     sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d	          k     sJ t          d          t          d	          k     sJ t          d
          t          d          k    sJ t          d          t          d          k     sJ t           j        du sJ d S )Nr   )   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   T)r   r   r    r!   r"   r#   test_grlex_orderr+      s   ~----u::    uY//////eI......eI......eI......eI......eI......eI......eI......eI......eI......eI......eI......eI......?d""""""r"   c                     t          d          dk    sJ t          t                     dk    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d          k     sJ t          d          t          d          k     sJ t          d	          t          d          k     sJ t          d          t          d          k    sJ t          d          t          d          k    sJ t          d          t          d	          k     sJ t          d          t          d	          k     sJ t          d
          t          d          k    sJ t          d          t          d          k     sJ t           j        du sJ d S )Nr   )r&   )r   r   r   r   r   r   r   r'   r(   r)   r*   T)r   r   r    r!   r"   r#   test_grevlex_orderr0   7   s   9!22222w<<9$$$$9!3!333339	 2 222229	 2 222229	 2 222229	 2 222229	 2 222229	 2 222229	 2 222229	 2 222229	 2 222229	 2 222229	 2 222229	 2 22222$$$$$$r"   c                     t          t                    } t          t                    } | d           | d          k    sJ  |d           |d          k     sJ t          |           dk    sJ t          |          dk    sJ | j        du sJ |j        du sJ | |k    sJ | t          t                                k    sJ d S )Nr   )r   r   r   r   r   r   F)r
   r   r   r   r    r	   )r   r   s     r#   test_InverseOrderr2   P   s    D%  F4	??TT)__,,,,6)vvi000000t99v;;("""">U""""u$$$$6>>>><

++++++++r"   c                  R   t          t          d ft          d f          }  | d           | d          k    sJ t          |           dk    sJ | j        du sJ t          t          d ft          d f          j        J t          t
          d ft          d f          j        du sJ d S )Nc                     | d d         S Nr   r!   ms    r#   <lambda>z#test_ProductOrder.<locals>.<lambda>^   s    q!u r"   c                     | dd          S r5   r!   r6   s    r#   r8   z#test_ProductOrder.<locals>.<lambda>^   s    122 r"   )r   r   r   r      )r   r   r:   r:   r:   zProductOrder(grlex, grlex)TF)r   r   r   r    r   r   )Ps    r#   test_ProductOrderr<   ]   s    e__-/GHHA1_/ 2 22222q6611111;$d|44>FFFt55?5HHHHHHr"   c                     t                      t          k    sJ t          d          t          k    sJ t          d          t          k    sJ t          d          t          k    sJ t	          t
          d            t	          t
          d            t          t          dz  t          dz  z  t          t          z  t          dz  t          j
        t          dz  t          dz  t          t          t          t          dz  z  t          z  t          dz  t          dz  z  g} t          | t          dt          t          t          g                    t          j
        t          t          dz  t          dz  t          t          t          z  t          dz  t          dz  t          dz  z  t          t          t          dz  z  t          z  t          dz  t          dz  z  gk    sJ t          | t          dt          t          t          g                    t          j
        t          t          t          t          dz  t          t          z  t          dz  t          dz  t          dz  t          dz  z  t          t          dz  z  t          z  t          dz  t          dz  z  gk    sJ t          | t          dt          t          t          g                    t          j
        t          t          t          t          dz  t          t          z  t          dz  t          dz  t          dz  t          dz  z  t          dz  t          dz  z  t          t          dz  z  t          z  gk    sJ d S )	Nr   r   r   c                       t          d          S )Nfoor   r!   r"   r#   r8   z#test_monomial_key.<locals>.<lambda>l   s    |E22 r"   c                       t          d          S )Nr   r@   r!   r"   r#   r8   z#test_monomial_key.<locals>.<lambda>m   s    |A r"   r   r   )key)r   r   r   r   r   
ValueErrorr   r   r   r   Onesorted)Ms    r#   test_monomial_keyrG   e   s   >>S    #%%%%  E))))	""g----
:22333
:..///	
AqDAIqsAqD!%Aq!tQ1QT6!8QT!Q$YOA!eaAY77888	
1a4Aq!A#q!tQT!Q$Y1QT6!8QT!Q$YOP P P P!g1ay99:::	
1aAqsAqD!Q$1QT	1QT6!8QT!Q$YOP P P P!i!Q;;<<<	
1aAqsAqD!Q$1QT	1a419a1fQhOP P P P P Pr"   c                      t          dt          t          fdt          t          fft          t          t          t          g          d          dk    sJ t          dt          t          fdt          t          fft          t          t          t          g          t          dt          t          fdt          t          fft          t          t          t          g          k    sJ d S )Nr   )r   r:   r&      ))	   )r   r:   )   )r&   rI   )r   r   r   r   r   r!   r"   r#   test_build_product_orderrL   w   s    P!Q'1aAAq!Q<PPQ]^^#$ $ $ $ !Q'1aAAq!Q<PPgq!_w1o>Aq!MMN N N N N Nr"   N)__doc__sympy.polys.orderingsr   r   r   r   r   r   r	   r
   r   r   	sympy.abcr   r   r   r   
sympy.corer   sympy.testing.pytestr   r$   r+   r0   r2   r<   rG   rL   r!   r"   r#   <module>rR      sK   # #                       
 !                             ' ' ' ' ' '  $# # #2% % %2, , ,I I IP P P$N N N N Nr"   