
    sg                         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	 Zd
 Zd Zd Zd Zd Zed        Zd Zd Zy)    )MatrixSliceMatrixSymbol)abcdklmn)raisesXFAIL)floor)assumingQXYc                      t        t        t        t        ft        t
        f      } | j                  t        t        z
  t
        t        z
  fk(  sJ y N)r   r   r   r   r   r	   shapeBs    ^/var/www/html/venv/lib/python3.12/site-packages/sympy/matrices/expressions/tests/test_slice.py
test_shaper      s6    A1v1v&A77q1ua!en$$$    c                     t        t        t        t        ft        t
        f      } | d   t        t        t        f   k(  sJ | t        t        f   t        t        t        z   t        t        z   f   k(  sJ t        t        d        t        dd dd d f   d   t        d   k(  sJ t        d d dd df   d   t        d   k(  sJ y )Nr   r   c                  *    t        t        dd      d   S )N         )r    r   )r   r    r   r   <lambda>ztest_entry.<locals>.<lambda>   s    Aq& 9$ ? r   r    r"   r       )r'   r'   )r'   r    )
r   r   r   r   r   r	   r
   r   r   
IndexErrorr   s    r   
test_entryr)      s    A1v1v&AS6Qq!tWQqS6QqsAaCx[   
:?@QTT1W:dqy(((Q1W:dqy(((r   c                      t        t        t        t        ft        t
        f      j                  rJ t        t        t        t        ft        t        f      j                  sJ y r   )r   r   r   r   r   r	   on_diagr$   r   r   test_on_diagr,      sB    1q!fq!f-5555q1a&1a&)1111r   c                      t        t        dd      t        t        dd      k(  sJ t        t        dd      j                  dk(  sJ y )Nr    r!   )r    r"   r&   )r   r   r   r$   r   r   test_inputsr.      s?    q!V$Avv(FFFFq!V$**f444r   c                     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(  sJ t         d d ddf   j                  t         j                  d   dfk(  sJ t         d d dd d df   j                  t        t        dz        t        t
        dz        fk(  sJ t         dd d f   t        t         ddt
        f      k(  sJ t         t        d d f   t        t         t        dt
        f      k(  sJ y )Nr    r#   r"      )r    r#   )r"   r0   r   )r   r   r   r   r   r   r
   r$   r   r   test_slicingr1   !   s   QqS!A#X;+a8888Q!V9Aq&1111QqS!V9??q!''!*o---Q!V9??qwwqz1o---SqS#A#X;qsU1Q3Z 8888QT7k!QA////QT7k!QA////r   c                       t        ddd       t        t         fd       t        t         fd       t        t         fd       y )Nx
      c                       dddf   S )Nr      r"   r$   r   s   r   r%   z!test_exceptions.<locals>.<lambda>-   s    q2qz r   c                       dddf   S )Nr   	      r$   r8   s   r   r%   z!test_exceptions.<locals>.<lambda>.   s    q1bz r   c                       dddf   S )Nr#   r"   r$   r8   s   r   r%   z!test_exceptions.<locals>.<lambda>/   s    qAqz r   )r   r   r(   r8   s   @r   test_exceptionsr>   +   s2    S"b!A
:)*
:)*
:)*r   c                      t        ddd      } | d ddd f   }t        t        j                  |             5  |j                  | dd d df   k(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr3   r4   r#   )r   r   r   	symmetricT)r   r   s     r   test_symmetryrB   1   sh    S"b!A	"1"ab&	A	!++a.	!  ssaBQBi     s   AA%c                     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(  sJ | d	dddd
f   d	ddf   | ddddf   k(  sJ y )Nr3   r4   r"   r'   r   )r"   r'   r#   r0   r       r:      r   r8   s    r   test_slice_of_slicerF   8   s    S"b!AQT71a4=!D')))RaR!V9RaR!V"1"bqb&	)))QqS!A#X;qsAv!AaCF)+++QqUAaCZ=1a Aa!eQhK///r   c                  H    t        ddd      } | dd d f   | dd d f   k(  sJ y )Nr3   r4   r=   r:   r   r8   s    r   test_negative_indexrH   ?   s.    S"b!ARU8qAw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.   r1   r>   rB   rF   rH   r$   r   r   <module>rO      sw    8 3 , , , . 5 ) aa%)250+    0r   