o
    g                     @   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J d S N)r   r   r   r   r   r   shapeB r   b/var/www/visachat/venv/lib/python3.10/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J | ttf ttt tt f ks(J tt	dd  tdd dd d f d td ksBJ td d dd df d td ksUJ 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   
IndexErrorr   r   r   r   
test_entry   s   $&*r%   c                   C   s8   t tttfttfjrJ t tttfttfjsJ d S r   )r   r   r   r   r   r   on_diagr   r   r   r   test_on_diag   s   r'   c                   C   s6   t tddt tddksJ t tddjdksJ d S )Nr   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J t dddf tt ddks"J t ddd d f jdt jd fks6J t d d ddf jt jd dfksJJ t d d dd d df jttd ttd fkseJ t dd d f tt ddtfkswJ t td d f tt tdtfksJ d S )Nr   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                          dddf S )Nr      r   r   r   r   r   r   r    -   r!   z!test_exceptions.<locals>.<lambda>c                      r.   )Nr   	      r   r   r0   r   r   r    .   r!   c                      r.   )Nr   r   r   r   r0   r   r   r    /   r!   )r   r   r$   r   r   r0   r   test_exceptions+   s   r4   c                  C   sr   t ddd} | d ddd f }tt|  |j| dd d df ks'J W d    d S 1 s2w   Y  d S )Nr+   r,   r   )r   r   r   	symmetricT)r   r   r   r   r   test_symmetry1   s
    "r7   c                  C   s   t ddd} | dd d f d d df d | d ksJ | d dd df d dd df | d dd df ks:J | d	ddd
f d	ddf | dddf ksTJ | d	dddd
f d	ddf | ddddf kspJ d S )Nr+   r,   r   r#   r   )r   r#   r   r)   r      r1      r   r0   r   r   r   test_slice_of_slice8   s
   ,<4<r:   c                  C   s4   t ddd} | dd d f | dd d f ksJ d S )Nr+   r,   r3   r1   r   r0   r   r   r   test_negative_index?   s   (r;   N)  sympy.matrices.expressions.slicer   sympy.matrices.expressionsr   	sympy.abcr   r   r   r   r	   r
   r   r   sympy.testing.pytestr   r   #sympy.functions.elementary.integersr   sympy.assumptionsr   r   r   r   r   r%   r'   r(   r*   r4   r7   r:   r;   r   r   r   r   <module>   s$    (	

