
    gZ                         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 Zd Zd Zd Z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                     t                      } |                     t          t          t                              dk    sJ |                     t          t                              dk    sJ |                     t          t                              dk    sJ |                     d          dk    sJ |                     d          dk    sJ |                     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   prntrs    Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/printing/tests/test_cupy.pytest_cupy_printr      s    MME==1a))-CCCCC==a!!^3333==Q  M1111==##'77777==""m3333==""h......    c                      t                      } t          t                    5  |                     d           d d d            d S # 1 swxY w Y   d S )Nzabcd(x))r   r   NotImplementedErrorr   r   s    r   test_not_cupy_printr      s    MME	#	$	$ ! !i   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   AA
A
c                  H   t           st          d           t          t          t          z  t          t
          t          f          } t          t
          t          t          f| d          }d\  }}t                               ddd          t           	                     |||          t          fdt          ||dz             D                                 sJ t          t          t          z  t          t
          t          f          } t          t
          t          t          f| d          }d\  }}t                               ddd          t           	                     |||          t          fd	t          ||dz             D                                 sJ d S )
NzCuPy not installedr   )r   
      r   c              3   "   K   | ]	}|z  V  
d S N .0i_x_s     r   	<genexpr>z test_cupy_sum.<locals>.<genexpr>%   s'      )O)Or"()O)O)O)O)O)Or   numpyc              3   "   K   | ]	}|z  V  
d S r"   r#   r$   s     r   r(   z test_cupy_sum.<locals>.<genexpr>,   s'      )N)Nb"r')N)N)N)N)N)Nr   )cpr   r   r   r   r	   r
   r   linspaceallclosesumrange)sfa_b_r'   s       @r   test_cupy_sumr4      s^    #!"""AFQ1IA!QAv&&AFB	RR	 	 B;;qqR}}c)O)O)O)OU2rAv=N=N)O)O)O&O&OPPPPPAEAq!9A!QAw''AFB	RR	 	 B;;qqR}}c)N)N)N)NE"b1f<M<M)N)N)N&N&NOOOOOOOr   c                      t           d         dk    sJ t           d         dk    sJ t          d         dk    sJ t          d         dk    sJ d S )	NNaNzcupy.nan
EulerGammazcupy.euler_gammaacoszcupy.arccosr   zcupy.log)r   r   r#   r   r   test_cupy_known_funcs_constsr9   .   sa     ':5555 .2DDDDD (M9999 ':555555r   c                  j    t                      } t          | d          sJ t          | d          sJ d S )N_print_acos
_print_log)r   hasattrr   s    r   test_cupy_print_methodsr>   5   s=    MME5-(((((5,'''''''r   N)sympy.concrete.summationsr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   sympy.utilities.lambdifyr   	sympy.abcr   r   r	   r
   sympy.codegen.numpy_nodesr   sympy.printing.numpyr   r   r   sympy.testing.pytestr   r   sympy.externalr   r+   r   r   r4   r9   r>   r#   r   r   <module>rH      s2   ) ) ) ) ) ) 6 6 6 6 6 6 9 9 9 9 9 9 - - - - - -                         / / / / / / Z Z Z Z Z Z Z Z Z Z - - - - - - - - ( ( ( ( ( (]6/ / /! ! !
P P P$6 6 6( ( ( ( (r   