a
    kº”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J ‚|  ttƒ¡dks4J ‚|  ttƒ¡dksJJ ‚|  d¡dks\J ‚|  d¡dksnJ ‚|  d¡d	ks€J ‚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	   r   r   r   ©Zprntr© r   úL/var/www/auris/lib/python3.9/site-packages/sympy/printing/tests/test_cupy.pyÚtest_cupy_print   s    r   c                  C   s<   t ƒ } ttƒ |  d¡ W d   ƒ n1 s.0    Y  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|J ‚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ìJ ‚d S )NzCuPy not installedr   )r   é
   éÿÿÿÿé   r   c                 3   s   | ]}ˆ | V  qd S ©Nr   ©Ú.0Zi_©Zx_r   r   Ú	<genexpr>%   ó    z test_cupy_sum.<locals>.<genexpr>Únumpyc                 3   s   | ]}|ˆ  V  qd S r   r   r   r   r   r   r    ,   r!   )Úcpr   r   r   r   r   r	   r   ZlinspaceZallcloseÚsumÚrange)ÚsÚfZa_Zb_r   r   r   Útest_cupy_sum   s    4r(   c                   C   sD   t d dksJ ‚t d dks J ‚td dks0J ‚td dks@J ‚d S )	NÚNaNzcupy.nanZ
EulerGammazcupy.euler_gammaÚacoszcupy.arccosr   zcupy.log)r   r   r   r   r   r   Útest_cupy_known_funcs_consts.   s    r+   c                  C   s&   t ƒ } t| dƒsJ ‚t| dƒs"J ‚d S )NZ_print_acosZ
_print_log)r   Úhasattrr   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   	