U
    ZÊ¹jë  ã                   @   sÔ   d dl mZ d dlmZ d dlmZmZmZ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mZ edeeƒZedee	ƒZd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zedd„ ƒZdd„ Zdd„ ZdS )é    )ÚMatrixSlice)ÚMatrixSymbol)ÚaÚbÚcÚdÚkÚlÚmÚn)ÚraisesÚXFAIL)Úfloor)ÚassumingÚQÚXÚYc                  C   s2   t tttfttfƒ} | jtt tt fks.t‚d S ©N)r   r   r   r   r   r   ÚshapeÚAssertionError©ÚB© r   új/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/matrices/expressions/tests/test_slice.pyÚ
test_shape   s    r   c                  C   s®   t tttfttfƒ} | d tttf ks,t‚| ttf ttt tt f ksPt‚t	t
dd„ ƒ tdd d…d d …f d td ks„t‚td d …dd d…f d td ksªt‚d S )	N©r   r   c                   S   s   t tddƒd S )Né   ©é   é   )r   r   )r   r   r   r   r   r   Ú<lambda>   ó    ztest_entry.<locals>.<lambda>r   r   ©r   é   )r#   r#   )r#   r   )r   r   r   r   r   r   r   r   r	   r   Ú
IndexErrorr   r   r   r   Ú
test_entry   s    $&r%   c                   C   s8   t tttfttfƒjrt‚t tttfttfƒjs4t‚d S r   )r   r   r   r   r   r   Zon_diagr   r   r   r   r   Útest_on_diag   s    r&   c                   C   s6   t tddƒt tddƒkst‚t tddƒjdks2t‚d S )Nr   r   )r   r   r"   )r   r   r   r   r   r   r   r   Útest_inputs   s    r'   c                   C   s  t dd…dd…f tt ddƒks$t‚t ddd…f tt ddƒksDt‚t dd…d d …f jdt jd fkslt‚t d d …dd…f jt jd dfks”t‚t d d d…d d d…f jttd ƒttd ƒfksÊt‚t dd d …f tt ddtfƒksît‚t td d …f tt tdtfƒk�st‚d S )Nr   r   r   é   )r   r   )r   r(   r   )r   r   r   r   r   r   r
   r   r   r   r   r   Útest_slicing!   s    $ ((6$r)   c                      sF   t dddƒ‰ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ d S )NÚxé
   é   c                      s   ˆ dd…df S )Nr   é   r   r   r   ©r   r   r   r    -   r!   z!test_exceptions.<locals>.<lambda>c                      s   ˆ dd…df S )Nr   é	   é   r   r   r.   r   r   r    .   r!   c                      s   ˆ dd…df S )Néÿÿÿÿr   r   r   r   r.   r   r   r    /   r!   )r   r   r$   r   r   r.   r   Útest_exceptions+   s    r2   c               	   C   s\   t dddƒ} | d d…dd …f }tt | ¡ƒ�$ |j| dd …d d…f ksNt‚W 5 Q R X d S )Nr*   r+   r   )r   r   r   Z	symmetricÚTr   )r   r   r   r   r   Útest_symmetry1   s    r4   c                  C   sä   t dddƒ} | dd d …f d d …df d | d ks8t‚| d d…d d…f d d…d d…f | d d…d d…f kstt‚| d	d…dd
…f d	d…df | dd…df ks¨t‚| d	dd…dd
…f d	d…df | ddd…df ksàt‚d S )Nr*   r+   r   r#   r   )r   r#   r   r(   r   é   r/   é   ©r   r   r.   r   r   r   Útest_slice_of_slice8   s
    ,<4r8   c                  C   s4   t dddƒ} | dd d …f | dd d …f ks0t‚d S )Nr*   r+   r1   r/   r7   r.   r   r   r   Útest_negative_index?   s    r9   N) Z sympy.matrices.expressions.slicer   Zsympy.matrices.expressionsr   Z	sympy.abcr   r   r   r   r   r	   r
   r   Zsympy.testing.pytestr   r   Z#sympy.functions.elementary.integersr   Zsympy.assumptionsr   r   r   r   r   r%   r&   r'   r)   r2   r4   r8   r9   r   r   r   r   Ú<module>   s"   (	

