
    sg                         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y)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      kD  sJ t        d      t        d      kD  sJ t        d      t        d      kD  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        k7  sJ y )
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        S/var/www/html/venv/lib/python3.12/site-packages/sympy/polys/tests/test_orderings.pytest_lex_orderr$      s    y>Y&&&s8uy>S^+++y>C	N***y>C	N***y>C	N***y>C	N***y>C	N***y>C	N***==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      kD  sJ t        d      t        d      kD  sJ t        d      t        d      kD  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      kD  sJ t        d      t        d      kD  sJ t        d      t        d	      k  sJ t        d      t        d	      k  sJ t        d
      t        d      kD  sJ t        d      t        d      k  sJ t         j                  du sJ y )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+      sq   ~---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      kD  sJ t        d      t        d      kD  sJ t        d      t        d      kD  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      kD  sJ t        d      t        d      kD  sJ t        d      t        d	      k  sJ t        d      t        d	      k  sJ t        d
      t        d      kD  sJ t        d      t        d      k  sJ t         j                  du sJ y )Nr   )r&   )r   r   r   r   r   r   r   r'   r(   r)   r*   T)r   r   r    r!   r"   r#   test_grevlex_orderr0   7   st   9!2222w<9$$$9!33339	 22229	 22229	 22229	 22229	 22229	 22229	 22229	 22229	 22229	 22229	 22229	 2222$$$r"   c                  J   t        t              } t        t              } | d       | d      kD  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 | |k7  sJ | t        t                     k(  sJ y )Nr   )r   r   r   r   r   r   F)r
   r   r   r   r    r	   )r   r   s     r#   test_InverseOrderr2   P   s    D% F	?T)_,,,)vi0000t9v;(""">>U"""u$$$6>><
++++r"   c                  2   t        t        d ft        d f      }  | d       | d      kD  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 y )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    12 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HA_/ 2222q61111;;$d|4>>FFFt5??5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 y )	Nr   r   r   c                      t        d      S )Nfoor   r!   r"   r#   r8   z#test_monomial_key.<locals>.<lambda>l   s    |E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3
:./	
AqDAIqsAqD!%%Aq!tQ1QT6!8QT!Q$YOA!eaAY78	
1a4Aq!A#q!tQT!Q$Y1QT6!8QT!Q$YOP P P!g1ay9:	
1aAqsAqD!Q$1QT	1QT6!8QT!Q$YOP P P!i!Q;<	
1aAqsAqD!Q$1QT	1a419a1fQhOP P Pr"   c                  p    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 y )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<PQ]^#$ $ $ !Q'1aAAq!Q<Pgq!_w1o>Aq!M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P$Nr"   