
    RieB                         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 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)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    >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                      } d|                     d          v sJ d S )NzNot supportedzabcd(x))r   r   r   s    r   test_not_cupy_printr      s.    MMEemmI66666666r   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_sumr2      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_constsr7   -   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<   4   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   sympy.externalr   r)   r   r   r2   r7   r<   r!   r   r   <module>rF      s,   ) ) ) ) ) ) 6 6 6 6 6 6 9 9 9 9 9 9 - - - - - -                         / / / / / / Z Z Z Z Z Z Z Z Z Z % % % % % % ( ( ( ( ( (]6/ / /7 7 7P P P$6 6 6( ( ( ( (r   