
    oVh                         d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZmZ d dlmZmZ eegZeeeegZd	 Zd
 Zd Zd Zd Zy)    )raises)sincos)Matrix)simplify)Array)ImmutableDenseNDimArrayMutableDenseNDimArray)ImmutableSparseNDimArrayMutableSparseNDimArray)xyc                     t         D ];  }  | g dg dg      d d df   t        ddg      k(  sJ d d df   t        ddg      k(  sJ d d d	f   t        d
dg      k(  sJ d d df   t        ddg      k(  sJ d d df   t        ddg      k(  sJ d d df   t        ddg      k(  sJ d d df   t        ddg      k(  sJ d d df   t        d
dg      k(  sJ d d d
f   t        ddg      k(  sJ d d df   t        ddg      k(  sJ t        t        fd       t        t        fd       d   dk(  r<J  y )N)               )         	   
   r   r   r   r   r   r   r   r   r   r   r   c                       d d df   S )Ni 
test_arrays   X/home/dcms/DCMS/lib/python3.12/site-packages/sympy/tensor/array/tests/test_ndim_array.py<lambda>z-test_array_negative_indices.<locals>.<lambda>(   s    :ae#4     c                       dd d f   S )Nr   r    r!   s   r#   r$   z-test_array_negative_indices.<locals>.<lambda>)   s    :b!e#4 r%   )r   r   )array_typesr   r   
ValueError)	ArrayTyper"   s    @r#   test_array_negative_indicesr*      s     (	1ABC
!R% E1b'N222!R% E1a&M111!R% E1a&M111!R% E1a&M111!R% E1a&M111!Q$5!Q=000!Q$5!Q=000!Q$5!Q=000!Q$5!Q=000!Q$5!R>111z45z45&!R'''!(r%   c                     t        t        dt        z        dt        t              z  t        t              z  z
  g      } t        t        t              dz  t        t              dz  z   dg      }t        t        t        dz  z   t        t        t              dz  z  t        t        t              dz  z  z   z  dt        t              z  t        t              z  g      }t        |       t        dg      k(  sJ t        |      t        ddg      k(  sJ t        |      t        t        dz   t        dt        z        g      k(  sJ y )Nr   r   r   )r   r   r   r   r   r   )ABCs      r#   test_issue_18361r/   .   s    s1q5zAAJQ//01As1vqy3q619$a()AAqD1SVQY;3q61945qQxAGHAA;%*$$$A;%A-'''A;%QAaC 12222r%   c                  t     t        ddgddgg       t        ddgddgg      t        t         fd       y )Nr   r   r   r   c                       z
  S )Nr    r,   r-   s   r#   r$   z"test_issue_20222.<locals>.<lambda>:   s    a!e r%   )r   r   r   	TypeErrorr2   s   @@r#   test_issue_20222r4   7   s:    1v1vA1qe}A
9m$r%   c                      t         D ]9  }  | g       }t        ||       sJ |j                  dk(  sJ t        |      g k(  r9J  y )N)r   )r'   
isinstanceshapelist
array_typer,   s     r#   test_issue_17851r;   =   sJ    ! 
rN!Z(((ww$Aw"}}	r%   c                  \    t         D ]#  }  | g d      }|dxx   dz  cc<   |d   dk(  r#J  y )N)r   r   r   r   r   )mutable_array_typesr9   s     r#   test_issue_and_18715r>   E   s8    ) 
y!	!	tqyyr%   N)sympy.testing.pytestr   (sympy.functions.elementary.trigonometricr   r   sympy.matrices.denser   sympy.simplifyr   sympy.tensor.arrayr   #sympy.tensor.array.dense_ndim_arrayr	   r
   $sympy.tensor.array.sparse_ndim_arrayr   r   	sympy.abcr   r   r=   r'   r*   r/   r4   r;   r>   r    r%   r#   <module>rG      sa    ' = ' # $46    	((3%r%   