U
    ZÊ¹jž  ã                   @   s    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d„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zd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                   C   sØ   t dƒdkst‚tt ƒdks t‚t dƒt dƒks4t‚t dƒt dƒksHt‚t dƒt dƒks\t‚t dƒt dƒkspt‚t dƒt dƒk s„t‚t dƒt dƒk s˜t‚t dƒt dƒk s¬t‚t jd	ksºt‚t tƒ ksÈt‚t tksÔt‚d S )
N©é   é   é   r   ©r   r   r   ©r   r   r   ©r   r   é   ©r   r   r   ©r   r   r   ©r   r   r   T)r   ÚAssertionErrorÚstrÚ	is_globalr   r   © r    r    ú_/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/polys/tests/test_orderings.pyÚtest_lex_order   s    r"   c                   C   s<  t dƒdkst‚tt ƒdks t‚t dƒt dƒks4t‚t dƒt dƒksHt‚t dƒt dƒks\t‚t dƒt dƒkspt‚t dƒt dƒk s„t‚t dƒt dƒk s˜t‚t d	ƒt dƒk s¬t‚t dƒt dƒksÀt‚t dƒt dƒksÔt‚t dƒt d	ƒk sèt‚t dƒt d	ƒk süt‚t d
ƒt dƒk�st‚t dƒt dƒk �s(t‚t jdk�s8t‚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    r    r!   Útest_grlex_order   s     r(   c                   C   s<  t dƒdkst‚tt ƒdks t‚t dƒt dƒks4t‚t dƒt dƒksHt‚t dƒt dƒks\t‚t dƒt dƒkspt‚t dƒt dƒk s„t‚t dƒt dƒk s˜t‚t d	ƒt dƒk s¬t‚t dƒt dƒksÀt‚t dƒt dƒksÔt‚t dƒt d	ƒk sèt‚t dƒt d	ƒk süt‚t d
ƒt dƒk�st‚t dƒt dƒk �s(t‚t jdk�s8t‚d S )Nr   )r#   )éýÿÿÿéþÿÿÿéÿÿÿÿr   r   r   r   r   r   r   r$   r%   r&   r'   T)r   r   r   r   r    r    r    r!   Útest_grevlex_order7   s     r,   c                  C   s–   t tƒ} t tƒ}| dƒ| dƒks$t‚|dƒ|dƒk s8t‚t| ƒdksHt‚t|ƒdksXt‚| jdksft‚|jdkstt‚| |ks€t‚| t tƒ ƒks’t‚d S )Nr   )r   r   r   r   r   r   F)r	   r   r   r   r   r   r   )r   r   r    r    r!   Útest_InverseOrderP   s    r-   c                  C   sˆ   t tdd„ ftdd„ fƒ} | dƒ| dƒks.t‚t| ƒdks>t‚| jdksLt‚t td ftd fƒjd ksht‚t td ftd fƒjdks„t‚d S )	Nc                 S   s   | d d… S ©Nr   r    ©Úmr    r    r!   Ú<lambda>^   ó    z#test_ProductOrder.<locals>.<lambda>c                 S   s   | dd … S r.   r    r/   r    r    r!   r1   ^   r2   )r   r   r   r   é   )r   r   r3   r3   r3   zProductOrder(grlex, grlex)TF)r
   r   r   r   r   r   r   )ÚPr    r    r!   Útest_ProductOrder]   s    r5   c                  C   sø  t ƒ tkst‚t dƒtkst‚t dƒtks.t‚t dƒtks>t‚ttdd„ ƒ ttdd„ ƒ ttd td  tt	 td t
jt	d td t	ttt	d  t td t	d  g} t| t dtt	tgƒd	�t
jttd td t	tt	 t	d td t	d  ttt	d  t td td  gk�st‚t| t dtt	tgƒd	�t
jtt	ttd tt	 t	d td td t	d  tt	d  t td td  gk�s†t‚t| t dtt	tgƒd	�t
jtt	ttd tt	 t	d td td t	d  td td  tt	d  t gk�sôt‚d S )
Nr   r   r   c                   S   s   t dƒS )NZfoo©r   r    r    r    r!   r1   l   r2   z#test_monomial_key.<locals>.<lambda>c                   S   s   t dƒS )Nr   r6   r    r    r    r!   r1   m   r2   r   r   )Úkey)r   r   r   r   r   r   Ú
ValueErrorr   r   r   r   ZOneÚsorted)ÚMr    r    r!   Útest_monomial_keye   s     PNÿ
Nÿ
Nÿr;   c                   C   sz   t dttfdttffttttgƒdƒdks.t‚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svt‚d S )Nr   )r   r3   r#   é   ))é	   )r   r3   )é   )r#   r<   )r   r   r   r   r   r   r    r    r    r!   Útest_build_product_orderw   s    $ÿ  ÿr?   N)Ú__doc__Zsympy.polys.orderingsr   r   r   r   r   r   r   r	   r
   r   Z	sympy.abcr   r   r   r   Z
sympy.corer   Zsympy.testing.pytestr   r"   r(   r,   r-   r5   r;   r?   r    r    r    r!   Ú<module>   s   0