
    g                         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dS )    )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 d S N)r   r   r   r   r   r	   shapeBs    g/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/matrices/expressions/tests/test_slice.py
test_shaper      s@    A1v1v&&A7q1ua!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 d S )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 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T111W:dqy((((QQQ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 d S r   )r   r   r   r   r   r	   on_diagr$   r   r   test_on_diagr,      sN    1q!fq!f--5555q1a&1a&))11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 d S )Nr    r!   )r    r"   r&   )r   r   r   r$   r   r   test_inputsr.      sQ    q!V$$Avv(F(FFFFFq!V$$*f444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 d S )Nr    r#   r"      )r    r#   )r"   r0   r   )r   r   r   r   r   r   r
   r$   r   r   test_slicingr1   !   sS   QqS!A#X;+a888888Q!V9Aq&111111QqS!!!V9?q!'!*o----QQQ!V9?qwqz1o----SSqS##A#X;qsU1Q3ZZ 8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           d S )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>   +   sh    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            d S # 1 swxY w Y   d S )Nr3   r4   r#   )r   r   r   	symmetricT)r   r   s     r   test_symmetryrB   1   s    S"b!!A	"1"abb&	A	!+a..	!	!    saBQBi                                   s   A))A-0A-c                  t   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 d S )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T7111a4=!D'))))RaR!V9RaR!V"1"bqb&	))))QqS!A#X;qsAv!AaCF)++++QqUAaCZ=1a Aa!eQhK//////r   c                  `    t          ddd          } | dd d f         | dd d f         k    sJ d S )Nr3   r4   r=   r:   r   r8   s    r   test_negative_indexrH   ?   sB    S"b!!ARU8qAAA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      sl   8 8 8 8 8 8 3 3 3 3 3 3 , , , , , , , , , , , , , , , , , , , , . . . . . . . . 5 5 5 5 5 5 ) ) ) ) ) ) ) ) LaLa% % %) ) )2 2 25 5 50 0 0+ + +      0 0 0    r   