ó
\K]c           @@ są   d  d l  m Z m Z d  d l Z d  d l Z d  d l m Z m Z m	 Z	 m
 Z
 d  d l m Z m Z d   Z d   Z d e e j f d     YZ e d	 k r­ e j   n  d S(
   i    (   t   print_functiont   absolute_importN(   t   cudat   float64t   int8t   int32(   t   unittestt   SerialMixinc         C@ sp   t  j d  \ } } | j \ } } | | k s< | | k r@ d  St j |  | | f t |   | | | f <d  S(   Ni   (   R   t   gridt   shapet   matht   powR   (   t   At   powert   power_At   yt   xt   mt   n(    (    s@   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_powi.pyt   cu_mat_power   s
    c         C@ sb   t  j d  \ } } | j \ } } | | k s< | | k r@ d  S|  | | f | | | | f <d  S(   Ni   (   R   R   R	   (   R   R   R   R   R   R   R   (    (    s@   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_powi.pyt   cu_mat_power_binop   s
    t   TestCudaPowic           B@ s   e  Z d    Z d   Z RS(   c         C@ sĘ   t  j d t d  d   d  d   f t t d  d   d  d   f g  } | t  } d } t j d d t j j d d  } t j |  } | d | j	 f | | |  |  j
 t j | | |   d  S(   Nt   argtypesi   i
   t   dtypei   i   (   R   t   jitR   R   R   t   npt   aranget   reshapet
   empty_likeR	   t
   assertTruet   allclose(   t   selft   dect   kernelR   R   t   Aout(    (    s@   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_powi.pyt	   test_powi   s    G$c         C@ sĘ   t  j d t d  d   d  d   f t t d  d   d  d   f g  } | t  } d } t j d d t j j d d  } t j |  } | d | j	 f | | |  |  j
 t j | | |   d  S(   NR   i   i
   R   i   i   (   R   R   R   R   R   R   R   R   R   R	   R   R   (   R   R    R!   R   R   R"   (    (    s@   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_powi.pyt   test_powi_binop'   s    G$(   t   __name__t
   __module__R#   R$   (    (    (    s@   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_powi.pyR      s   	
t   __main__(   t
   __future__R    R   R
   t   numpyR   t   numbaR   R   R   R   t   numba.cuda.testingR   R   R   R   t   TestCaseR   R%   t   main(    (    (    s@   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_powi.pyt   <module>   s   "	
	
