
    MZdB                         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y)    )Sum)log)sqrt)lambdify)xiab)	logaddexp)CuPyPrinter_cupy_known_constants_cupy_known_functions)skip)import_modulecupyc                  x   t               } | j                  t        t        t                    dk(  sJ | j                  t        t                    dk(  sJ | j                  t        t                    dk(  sJ | j                  d      dk(  sJ | j                  d      dk(  sJ | j                  d      d	k(  sJ y )
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    @/usr/lib/python3/dist-packages/sympy/printing/tests/test_cupy.pytest_cupy_printr      s    ME==1a)-CCCC==a!^333==Q M111==#'7777=="m333=="h...    c                  B    t               } d| j                  d      v sJ y )NzNot supportedzabcd(x))r   r   r   s    r   test_not_cupy_printr      s     MEemmI6666r   c                     t         st        d       t        t        t        z  t        t
        t        f      } t        t
        t        t        f| d      }d\  }}t         j                  ddd      t         j                   |||      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         j                  ddd      t         j                   |||      t        fd	t        ||dz         D                    sJ y )
NzCuPy not installedr   )r   
      r   c              3   (   K   | ]	  }|z    y wN .0i_x_s     r   	<genexpr>z test_cupy_sum.<locals>.<genexpr>$   s     )Or"()O   numpyc              3   (   K   | ]	  }|z    y wr    r!   r"   s     r   r&   z test_cupy_sum.<locals>.<genexpr>+   s     )Nb"r')Nr'   )cpr   r   r   r   r	   r
   r   linspaceallclosesumrange)sfa_b_r%   s       @r   test_cupy_sumr3      s    !"AFQ1IA!QAv&AFB	RR	 B;;qR}c)OU2rAv=N)O&OPPPAEAq!9A!QAw'AFB	RR	 B;;qR}c)NE"b1f<M)N&NOOOr   c                  t    t         d   dk(  sJ t         d   dk(  sJ t        d   dk(  sJ t        d   dk(  sJ y )	NNaNzcupy.nan
EulerGammazcupy.euler_gammaacoszcupy.arccosr   zcupy.log)r   r   r!   r   r   test_cupy_known_funcs_constsr8   -   sO     ':555 .2DDDD (M999 ':555r   c                  P    t               } t        | d      sJ t        | d      sJ y )N_print_acos
_print_log)r   hasattrr   s    r   test_cupy_print_methodsr=   4   s)    ME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   r3   r8   r=   r!   r   r   <module>rG      sJ    ) 6 9 -     / Z Z % (6/7P$6(r   