U
    —9%eM	  ã                   @   st   d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZmZ d dlmZ dd„ Zd	d
„ Zdd„ ZdS )é    )ÚsymbolsÚLambda)ÚKroneckerDelta)ÚMatrix)ÚFunctionMatrixÚ
MatrixExprÚIdentity)ÚraisesÚwarns)ÚSymPyDeprecationWarningc               	      s  t dƒ\‰ ‰‰tddtˆ ˆfdƒƒs(t‚tddtˆ ˆfdƒƒsBt‚tt‡ ‡fdd„ƒ tt‡ ‡fdd„ƒ tt‡ ‡fdd„ƒ tt‡ ‡fdd„ƒ tt‡ ‡fd	d„ƒ tt‡ ‡fd
d„ƒ tt‡ fdd„ƒ ttdd ttdd„ ƒ W 5 Q R X tt‡ fdd„ƒ tt‡ ‡‡fdd„ƒ tt‡ ‡fdd„ƒ tdddƒtddtˆ ˆfdƒƒksVt‚tddtƒ} |  	¡ t
dƒ 	¡ ks|t‚| jd  tˆ ˆftˆ ˆƒƒ¡s¢t‚t dƒ‰tˆˆtˆ ˆfdƒƒsÆt‚t ddd‰tt‡ ‡‡fdd„ƒ t ddd‰tt‡ ‡‡fdd„ƒ d S )Nzi j ké   r   c                      s   t ddtˆ ˆfdƒƒS )Néÿÿÿÿr   ©r   r   © ©ÚiÚjr   úo/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/matrices/expressions/tests/test_funcmatrix.pyÚ<lambda>   ó    z*test_funcmatrix_creation.<locals>.<lambda>c                      s   t ddtˆ ˆfdƒƒS )Nç       @r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆfdƒƒS )Nù               @r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆfdƒƒS )Nr   r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆfdƒƒS )Nr   r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆfdƒƒS )Nr   r   r   r   r   r   r   r      r   c                      s   t ddtˆ dƒƒS ©Nr   r   r   r   ©r   r   r   r      r   F)Ztest_stacklevelc                   S   s   t dddd„ ƒS )Nr   c                 S   s   dS ©Nr   r   r   r   r   r   r      r   z<test_funcmatrix_creation.<locals>.<lambda>.<locals>.<lambda>©r   r   r   r   r   r      r   c                      s   t ddtˆ fdƒƒS r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆˆfdƒƒS r   r   r   )r   r   Úkr   r   r      r   c                      s   t ddˆ ˆ ƒS )Nr   r   r   r   r   r   r      r   zlambda i, j: 0Ún)Úintegerc                      s   t ˆˆtˆ ˆfdƒƒS r   r   r   ©r   r   r   r   r   r   &   r   T)Únegativec                      s   t ˆˆtˆ ˆfdƒƒS r   r   r   r   r   r   r   (   r   )r   r   r   ÚAssertionErrorr	   Ú
ValueErrorr
   r   r   Zas_explicitr   ÚargsZdummy_eq)Úmr   )r   r   r   r   r   Útest_funcmatrix_creation	   s6    
ÿ
&r%   c                  C   s¨   t dƒ\} }tddt| |f| | ƒƒ}|d dks6t‚|d dksFt‚|jdksTt‚|j|j  krldksrn t‚t|ƒtdddd	„ ƒksŽt‚t|| | t	ƒs¤t‚d S )
Nzi,jé   )é   r'   r   )r'   r   r   )r&   r&   c                 S   s   | | S ©Nr   r   r   r   r   r   2   r   z!test_funcmatrix.<locals>.<lambda>)
r   r   r   r!   ÚshapeÚrowsÚcolsr   Ú
isinstancer   )r   r   ÚXr   r   r   Útest_funcmatrix+   s    r.   c                  C   s,   t ddtƒ} |  dd„ dd„ ¡| ks(t‚d S )Nr&   c                 S   s   dS )NTr   ©Úxr   r   r   r   8   r   z$test_replace_issue.<locals>.<lambda>c                 S   s   | S r(   r   r/   r   r   r   r   8   r   )r   r   Úreplacer!   )r-   r   r   r   Útest_replace_issue6   s    r2   N)Z
sympy.corer   r   Zsympy.functionsr   Zsympy.matricesr   Zsympy.matrices.expressionsr   r   r   Zsympy.testing.pytestr	   r
   Zsympy.utilities.exceptionsr   r%   r.   r2   r   r   r   r   Ú<module>   s   "