U
    L?hZ                     @   s   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZ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 ed
Zdd Zdd Zdd Zdd Zdd ZdS )    )Sum)log)sqrt)lambdify)xiab)	logaddexp)CuPyPrinter_cupy_known_constants_cupy_known_functions)skipraises)import_modulecupyc                  C   s   t  } | tttdkst| ttdks4t| ttdksJt| ddks\t| ddksnt| dd	kstd S )
Nzcupy.logaddexp(a, b)zcupy.sqrt(x)zcupy.log(x)zacos(x)zcupy.arccos(x)zexp(x)zcupy.exp(x)zAbs(x)zabs(x))	r   doprintr
   r   r	   AssertionErrorr   r   r   Zprntr r   P/var/www/html/venv/lib/python3.8/site-packages/sympy/printing/tests/test_cupy.pytest_cupy_print   s    r   c               	   C   s(   t  } tt | d W 5 Q R X d S )Nzabcd(x))r   r   NotImplementedErrorr   r   r   r   r   test_not_cupy_print   s    
r   c               	      s   t std ttt tttf} ttttf| d}d\}}t ddd t 	||| t
 fddt||d D s|tttt tttf} ttttf| d	}d\}}t ddd t 	||| t
 fd
dt||d D std S )NzCuPy not installedr   )r   
      r   c                 3   s   | ]} | V  qd S Nr   .0Zi_Zx_r   r   	<genexpr>%   s     z test_cupy_sum.<locals>.<genexpr>numpyc                 3   s   | ]}|  V  qd S r   r   r   r    r   r   r!   ,   s     )cpr   r   r   r   r   r	   r   ZlinspaceZallclosesumranger   )sfZa_Zb_r   r    r   test_cupy_sum   s    4r(   c                   C   sD   t d dkstt d dks ttd dks0ttd dks@td S )	NNaNzcupy.nanZ
EulerGammazcupy.euler_gammaacoszcupy.arccosr   zcupy.log)r   r   r   r   r   r   r   test_cupy_known_funcs_consts.   s    r+   c                  C   s&   t  } t| dstt| ds"td S )NZ_print_acosZ
_print_log)r   hasattrr   r   r   r   r   test_cupy_print_methods5   s    r-   N)Zsympy.concrete.summationsr   Z&sympy.functions.elementary.exponentialr   Z(sympy.functions.elementary.miscellaneousr   Zsympy.utilities.lambdifyr   Z	sympy.abcr   r   r   r	   Zsympy.codegen.numpy_nodesr
   Zsympy.printing.numpyr   r   r   Zsympy.testing.pytestr   r   Zsympy.externalr   r#   r   r   r(   r+   r-   r   r   r   r   <module>   s   	