o
    à8Va(  ã                   @   sÜ   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„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ Zd(d)„ Zd*d+„ Zd,S )-é    )Úraises)ÚS)ÚZZÚQQ)ÚDomainScalar)ÚDomainMatrixc                   C   s    t tdd„ ƒ t tdd„ ƒ d S )Nc                   S   s   t tdƒtƒS ©Né   )r   r   r   © r
   r
   úN/usr/lib/python3/dist-packages/sympy/polys/matrices/tests/test_domainscalar.pyÚ<lambda>
   ó    z+test_DomainScalar___new__.<locals>.<lambda>c                   S   s   t tdƒdƒS r   )r   r   r
   r
   r
   r   r      r   )r   Ú	TypeErrorr
   r
   r
   r   Útest_DomainScalar___new__	   s   r   c                  C   s8   t tdƒtƒ} |  tdƒt¡}|t tdƒtƒksJ ‚d S )Nr	   é   )r   r   Únew©ÚAÚBr
   r
   r   Útest_DomainScalar_new   s   r   c                  C   s"   t tdƒtƒ} t| ƒdv sJ ‚d S )Nr	   >   úmpz(1)Ú1)r   r   Úrepr©r   r
   r
   r   Útest_DomainScalar_repr   s   r   c                  C   s,   t dƒ} t | ¡}|ttdƒtƒksJ ‚d S r   )r   r   Z
from_sympyr   )Úexprr   r
   r
   r   Útest_DomainScalar_from_sympy   s   
r   c                  C   s,   t tdƒtƒ} |  ¡ }|jr|dksJ ‚d S r   )r   r   Zto_sympyZ
is_Integer)r   r   r
   r
   r   Útest_DomainScalar_to_sympy   s   r   c                  C   ó2   t tdƒtƒ} |  t¡}|t tdƒtƒksJ ‚d S r   )r   r   Z	to_domainr   r   r
   r
   r   Útest_DomainScalar_to_domain%   ó   
r   c                  C   r   r   )r   r   Z
convert_tor   r   r
   r
   r   Útest_DomainScalar_convert_to+   r    r!   c                  C   sN   t tdƒtƒ} t tdƒtƒ}|  |¡\} }| j|j  kr"tks%J ‚ J ‚d S )Nr	   é   )r   r   r   ZunifyÚdomainr   r
   r
   r   Útest_DomainScalar_unify1   s   $r$   c                     sL   t tdƒtƒ‰ t tdƒtƒ} ˆ |  t tdƒtƒksJ ‚tt‡ fdd„ƒ d S )Nr	   r"   é   c                      s   ˆ d S ©Ng      ø?r
   r
   r   r
   r   r   =   ó    z'test_DomainScalar_add.<locals>.<lambda>©r   r   r   r   r   ©r   r
   r   r   Útest_DomainScalar_add8   ó   r*   c                     sL   t tdƒtƒ‰ t tdƒtƒ} ˆ |  t tdƒtƒksJ ‚tt‡ fdd„ƒ d S )Nr	   r"   éÿÿÿÿc                      s   ˆ d S r&   r
   r
   r   r
   r   r   D   r'   z'test_DomainScalar_sub.<locals>.<lambda>r(   r)   r
   r   r   Útest_DomainScalar_sub?   r+   r-   c                     sž   t tdƒtƒ‰ t tdƒtƒ} ttdƒtdƒgtdƒtdƒggdtƒ}ˆ |  t tdƒtƒks/J ‚ˆ | |ks7J ‚| d t tdƒtƒksDJ ‚tt‡ fdd„ƒ d S )Nr	   r"   r%   r   )r"   r"   c                      s   ˆ d S r&   r
   r
   r   r
   r   r   N   r'   z'test_DomainScalar_mul.<locals>.<lambda>)r   r   r   r   r   r   )r   Zdmr
   r   r   Útest_DomainScalar_mulF   s   (r.   c                     sv   t tdƒtƒ‰ t tdƒtƒ} ˆ |  t tddƒtƒksJ ‚t tdƒtƒ}ˆ | t tdƒtƒks0J ‚tt‡ fdd„ƒ d S )Néûÿÿÿr"   éýÿÿÿc                      s   ˆ d S r&   r
   r
   r   r
   r   r   X   r'   z,test_DomainScalar_floordiv.<locals>.<lambda>r(   ©r   ÚCr
   r   r   Útest_DomainScalar_floordivQ   s   r3   c                     st   t tdƒtƒ‰ t tdƒtƒ} ˆ |  t tdƒtƒksJ ‚t tdƒtƒ}ˆ | t tdƒtƒks/J ‚tt‡ fdd„ƒ d S )Né   r"   r   r	   c                      s   ˆ d S r&   r
   r
   r   r
   r   r   b   r'   z'test_DomainScalar_mod.<locals>.<lambda>r(   r1   r
   r   r   Útest_DomainScalar_mod[   s   r5   c                     s–   t tdƒtƒ‰ t tdƒtƒ} tˆ | ƒt tddƒtƒt tdƒtƒfks$J ‚t tdƒtƒ}tˆ |ƒt tdƒtƒt tdƒtƒfks@J ‚tt‡ fdd„ƒ d S )Nr4   r"   r   r	   c                      s
   t ˆ dƒS r&   )Údivmodr
   r   r
   r   r   l   s   
 z*test_DomainScalar_divmod.<locals>.<lambda>)r   r   r   r6   r   r   r1   r
   r   r   Útest_DomainScalar_divmode   s   ,*r7   c                     sB   t tdƒtƒ‰ ˆ d } | t tdƒtƒksJ ‚tt‡ fdd„ƒ d S )Nr/   r"   é   c                      s   ˆ d S r&   r
   r
   r   r
   r   r   t   r'   z'test_DomainScalar_pow.<locals>.<lambda>)r   r   r   r   r)   r
   r   r   Útest_DomainScalar_powo   s   r9   c                  C   s.   t tdƒtƒ} t tdƒtƒ}| 
 |ksJ ‚d S )Nr"   )r   r   r   r
   r
   r   Útest_DomainScalar_posw   s   r:   c                  C   sd   t tdƒtƒ} | | ksJ ‚t tdƒtƒ}| |ksJ ‚t tdƒtƒ}| |ks'J ‚dg}| |ks0J ‚d S )Nr"   r/   r	   )r   r   r   )r   r   r2   ÚDr
   r
   r   Útest_DomainScalar_eq}   s   r<   c                  C   ó@   t tdƒtƒ} |  ¡ dksJ ‚t tdƒtƒ}| ¡ dksJ ‚d S )Nr   Tr	   F)r   r   Zis_zeror   r
   r
   r   Útest_DomainScalar_isZeroˆ   ó   r>   c                  C   r=   )Nr	   Tr   F)r   r   Zis_oner   r
   r
   r   Útest_DomainScalar_isOne   r?   r@   N)Zsympy.testing.pytestr   Zsympy.core.symbolr   Zsympy.polysr   r   Z!sympy.polys.matrices.domainscalarr   Z!sympy.polys.matrices.domainmatrixr   r   r   r   r   r   r   r!   r$   r*   r-   r.   r3   r5   r7   r9   r:   r<   r>   r@   r
   r
   r
   r   Ú<module>   s0    


