ó
\K]c           @` sł   d  d l  m Z m Z m Z d  d l m Z m Z m Z d  d l m	 Z	 m
 Z
 d  d l m Z d  d l m Z e d  d e
 e	 j f d     Y Z e d	 k rŻ e	 j   n  d
 S(   i    (   t   print_functiont   divisiont   absolute_import(   t   cudat   float64t   intp(   t   unittestt   SerialMixin(   t   skip_on_cudasim(   t   StringIOs0   Simulator does not generate code to be inspectedt   TestInspectc           B` s)   e  Z e d     Z d   Z d   Z RS(   c         C` s   t  j   j j S(   N(   R   t   current_contextt   devicet   compute_capability(   t   self(    (    sC   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_inspect.pyt   cc
   s    c         C` s­   t  j d  d    } t   } | j d |  | j   } |  j d |  |  j d |  | j   |  j d | j    | j   } |  j d |  |  j d |  d  S(   Ns   (float32, int32)c         S` s   d  S(   N(    (   t   xt   y(    (    sC   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_inspect.pyt   foo   s    t   fileR   s!   Generated by NVIDIA NVVM Compiler(	   R   t   jitR	   t   inspect_typest   getvaluet   assertInt   closet   inspect_llvmt   inspect_asm(   R   R   R   t   typeannot   asm(    (    sC   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_inspect.pyt   test_monotyped   s    	
c         C` sÔ  t  j d    } | d d  | d d  t   } | j d |  | j   } | j   |  j d j t  |  |  j d |  | j	   } |  j
 d t |   |  j |  j t t f f |  |  j |  j t t f f |  |  j d	 | |  j t t f f  |  j d	 | |  j t t f f  | j   } |  j
 d t |   |  j |  j t t f f |  |  j |  j t t f f |  |  j d	 | |  j t t f f  |  j d	 | |  j t t f f  d  S(
   Nc         S` s   d  S(   N(    (   R   R   (    (    sC   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_inspect.pyR   &   s    i   g333333ó?g333333@R   s
   ({0}, {0})s   (float64, float64)i   R   (   R   R   R	   R   R   R   R   t   formatR   R   t   assertEqualt   lenR   R   R   (   R   R   R   R   t   llvmirst   asmdict(    (    sC   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_inspect.pyt   test_polytyped%   s*    	
###(   t   __name__t
   __module__t   propertyR   R   R#   (    (    (    sC   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_inspect.pyR
      s   	t   __main__N(   t
   __future__R    R   R   t   numbaR   R   R   t   numba.cuda.testingR   R   R   t   numba.utilsR	   t   TestCaseR
   R$   t   main(    (    (    sC   lib/python2.7/site-packages/numba/cuda/tests/cudapy/test_inspect.pyt   <module>   s   B