ó
\K]c           @` sÞ  d  d l  m Z m Z m Z d  d l m Z d  d l m Z d  d l m	 Z	 m
 Z
 m Z m Z m Z m Z d  d l m Z e ƒ  Z e j Z e j Z e j Z e e ƒ d e f d „  ƒ  YZ d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ  d e f d „  ƒ  YZ! d e f d „  ƒ  YZ" d e f d „  ƒ  YZ# d  e f d! „  ƒ  YZ$ d" e f d# „  ƒ  YZ% d$ e f d% „  ƒ  YZ& d& e f d' „  ƒ  YZ' d( e f d) „  ƒ  YZ( d* e f d+ „  ƒ  YZ) e d, e
 f d- „  ƒ  Yƒ Z* e d. e
 f d/ „  ƒ  Yƒ Z+ e d0 e
 f d1 „  ƒ  Yƒ Z, e d2 e
 f d3 „  ƒ  Yƒ Z- e d4 e
 f d5 „  ƒ  Yƒ Z. e d6 e
 f d7 „  ƒ  Yƒ Z/ e d8 e
 f d9 „  ƒ  Yƒ Z0 e d: e
 f d; „  ƒ  Yƒ Z1 e d< e
 f d= „  ƒ  Yƒ Z2 e d> e
 f d? „  ƒ  Yƒ Z3 e d@ e
 f dA „  ƒ  Yƒ Z4 e dB e
 f dC „  ƒ  Yƒ Z5 e dD e
 f dE „  ƒ  Yƒ Z6 e dF e
 f dG „  ƒ  Yƒ Z7 e dH e
 f dI „  ƒ  Yƒ Z8 e dJ e
 f dK „  ƒ  Yƒ Z9 e dL e
 f dM „  ƒ  Yƒ Z: e dN e f dO „  ƒ  Yƒ Z; e dP e f dQ „  ƒ  Yƒ Z< dR e f dS „  ƒ  YZ= e dT e= f dU „  ƒ  Yƒ Z> e dV e= f dW „  ƒ  Yƒ Z? e dX e f dY „  ƒ  Yƒ Z@ e dZ e	 f d[ „  ƒ  Yƒ ZA e d\ e	 f d] „  ƒ  Yƒ ZB e d^ e	 f d_ „  ƒ  Yƒ ZC e d` e	 f da „  ƒ  Yƒ ZD e db e	 f dc „  ƒ  Yƒ ZE e dd e	 f de „  ƒ  Yƒ ZF e df e	 f dg „  ƒ  Yƒ ZG e dh e	 f di „  ƒ  Yƒ ZH e dj e	 f dk „  ƒ  Yƒ ZI e e e jJ e ƒ ƒ dl S(m   i    (   t   print_functiont   divisiont   absolute_import(   t   types(   t   register_number_classes(   t   AttributeTemplatet   ConcreteTemplatet   AbstractTemplatet   MacroTemplatet	   signaturet   Registry(   t   cudat	   Cuda_gridc           B` s   e  Z e j Z RS(    (   t   __name__t
   __module__R   t   gridt   key(    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR      s   t   Cuda_gridsizec           B` s   e  Z e j Z RS(    (   R   R   R   t   gridsizeR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR      s   t   Cuda_threadIdx_xc           B` s   e  Z e j j Z RS(    (   R   R   R   t	   threadIdxt   xR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR      s   t   Cuda_threadIdx_yc           B` s   e  Z e j j Z RS(    (   R   R   R   R   t   yR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR      s   t   Cuda_threadIdx_zc           B` s   e  Z e j j Z RS(    (   R   R   R   R   t   zR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR   "   s   t   Cuda_blockIdx_xc           B` s   e  Z e j j Z RS(    (   R   R   R   t   blockIdxR   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR   &   s   t   Cuda_blockIdx_yc           B` s   e  Z e j j Z RS(    (   R   R   R   R   R   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR   *   s   t   Cuda_blockIdx_zc           B` s   e  Z e j j Z RS(    (   R   R   R   R   R   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR   .   s   t   Cuda_blockDim_xc           B` s   e  Z e j j Z RS(    (   R   R   R   t   blockDimR   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR   2   s   t   Cuda_blockDim_yc           B` s   e  Z e j j Z RS(    (   R   R   R   R   R   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR    6   s   t   Cuda_blockDim_zc           B` s   e  Z e j j Z RS(    (   R   R   R   R   R   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR!   :   s   t   Cuda_gridDim_xc           B` s   e  Z e j j Z RS(    (   R   R   R   t   gridDimR   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR"   >   s   t   Cuda_gridDim_yc           B` s   e  Z e j j Z RS(    (   R   R   R   R#   R   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR$   B   s   t   Cuda_gridDim_zc           B` s   e  Z e j j Z RS(    (   R   R   R   R#   R   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR%   F   s   t   Cuda_warpsizec           B` s   e  Z e j Z RS(    (   R   R   R   t   warpsizeR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR&   J   s   t   Cuda_laneidc           B` s   e  Z e j Z RS(    (   R   R   R   t   laneidR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR(   N   s   t   Cuda_shared_arrayc           B` s   e  Z e j j Z RS(    (   R   R   R   t   sharedt   arrayR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR*   R   s   t   Cuda_local_arrayc           B` s   e  Z e j j Z RS(    (   R   R   R   t   localR,   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR-   V   s   t   Cuda_const_arraylikec           B` s   e  Z e j j Z RS(    (   R   R   R   t   constt
   array_likeR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR/   Z   s   t   Cuda_syncthreadsc           B` s#   e  Z e j Z e e j ƒ g Z RS(    (	   R   R   R   t   syncthreadsR   R	   R   t   nonet   cases(    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR2   ^   s   	t   Cuda_syncthreads_countc           B` s)   e  Z e j Z e e j e j ƒ g Z RS(    (	   R   R   R   t   syncthreads_countR   R	   R   t   i4R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR6   d   s   	t   Cuda_syncthreads_andc           B` s)   e  Z e j Z e e j e j ƒ g Z RS(    (	   R   R   R   t   syncthreads_andR   R	   R   R8   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR9   j   s   	t   Cuda_syncthreads_orc           B` s)   e  Z e j Z e e j e j ƒ g Z RS(    (	   R   R   R   t   syncthreads_orR   R	   R   R8   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR;   p   s   	t   Cuda_threadfence_devicec           B` s#   e  Z e j Z e e j ƒ g Z RS(    (	   R   R   R   t   threadfenceR   R	   R   R4   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR=   v   s   	t   Cuda_threadfence_blockc           B` s#   e  Z e j Z e e j ƒ g Z RS(    (	   R   R   R   t   threadfence_blockR   R	   R   R4   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR?   |   s   	t   Cuda_threadfence_systemc           B` s#   e  Z e j Z e e j ƒ g Z RS(    (	   R   R   R   t   threadfence_systemR   R	   R   R4   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRA   ‚   s   	t   Cuda_syncwarpc           B` s)   e  Z e j Z e e j e j ƒ g Z	 RS(    (
   R   R   R   t   syncwarpR   R	   R   R4   R8   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRC   ˆ   s   	t   Cuda_shfl_sync_intrinsicc        
   B` s  e  Z e j Z e e j e j e j	 f ƒ e j e j e j e j e j ƒ e e j e j
 e j	 f ƒ e j e j e j
 e j e j ƒ e e j e j e j	 f ƒ e j e j e j e j e j ƒ e e j e j e j	 f ƒ e j e j e j e j e j ƒ g Z RS(    (   R   R   R   t   shfl_sync_intrinsicR   R	   R   t   TupleR8   t   b1t   i8t   f4t   f8R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRE   Ž   s
   	<<<t   Cuda_vote_sync_intrinsicc           B` sG   e  Z e j Z e e j e j e j	 f ƒ e j e j e j	 ƒ g Z
 RS(    (   R   R   R   t   vote_sync_intrinsicR   R	   R   RG   R8   RH   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRL   ™   s   	t   Cuda_match_any_syncc           B` sw   e  Z e j Z e e j e j e j ƒ e e j e j e j ƒ e e j e j e j	 ƒ e e j e j e j
 ƒ g Z RS(    (   R   R   R   t   match_any_syncR   R	   R   R8   RI   RJ   RK   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRN   Ÿ   s
   	t   Cuda_match_all_syncc           B` s¿   e  Z e j Z e e j e j e j	 f ƒ e j e j ƒ e e j e j e j	 f ƒ e j e j
 ƒ e e j e j e j	 f ƒ e j e j ƒ e e j e j e j	 f ƒ e j e j ƒ g Z RS(    (   R   R   R   t   match_all_syncR   R	   R   RG   R8   RH   RI   RJ   RK   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRP   ª   s
   	***t	   Cuda_popcc        
   B` s­   e  Z d  Z e j Z e e j e j ƒ e e j	 e j	 ƒ e e j
 e j
 ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ g Z RS(   s†   
    Supported types from `llvm.popc`
    [here](http://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#bit-manipulations-intrinics)
    (   R   R   t   __doc__R   t   popcR   R	   R   t   int8t   int16t   int32t   int64t   uint8t   uint16t   uint32t   uint64R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRR   µ   s   	t   Cuda_fmac           B` sY   e  Z d  Z e j Z e e j e j e j e j ƒ e e j	 e j	 e j	 e j	 ƒ g Z
 RS(   s‡   
    Supported types from `llvm.fma`
    [here](https://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#standard-c-library-intrinics)
    (   R   R   RS   R   t   fmaR   R	   R   t   float32t   float64R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR]   Ç   s   	t	   Cuda_brevc           B` s;   e  Z e j Z e e j e j ƒ e e j e j ƒ g Z	 RS(    (
   R   R   R   t   brevR   R	   R   R[   R\   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRa   Ô   s   	t   Cuda_clzc        
   B` s­   e  Z d  Z e j Z e e j e j ƒ e e j	 e j	 ƒ e e j
 e j
 ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ g Z RS(   s†   
    Supported types from `llvm.ctlz`
    [here](http://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#bit-manipulations-intrinics)
    (   R   R   RS   R   t   clzR   R	   R   RU   RV   RW   RX   RY   RZ   R[   R\   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRc   Ý   s   	t   Cuda_ffsc        
   B` s­   e  Z d  Z e j Z e e j e j ƒ e e j	 e j	 ƒ e e j
 e j
 ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ e e j e j ƒ g Z RS(   s†   
    Supported types from `llvm.cttz`
    [here](http://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#bit-manipulations-intrinics)
    (   R   R   RS   R   t   ffsR   R	   R   RU   RV   RW   RX   RY   RZ   R[   R\   R5   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRe   ð   s   	t	   Cuda_selpc           B` s   e  Z e j Z d  „  Z RS(   c         C` s   | s t  ‚ | \ } } } t j t j t j t j t j t j t j t j	 f } | | k sj | | k rn d  St
 | | | | ƒ S(   N(   t   AssertionErrorR   R`   R_   RV   RZ   RW   R[   RX   R\   R	   (   t   selft   argst   kwst   testt   at   bt   supported_types(    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   generic  s    (   R   R   R   t   selpR   Rp   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRg     s   	t   Cuda_atomic_addc           B` s   e  Z e j j Z d  „  Z RS(   c         C` ss   | s t  ‚ | \ } } } | j d k rG t | j | t j | j ƒ S| j d k ro t | j | | | j ƒ Sd  S(   Ni   (   Rh   t   ndimR	   t   dtypeR   t   intp(   Ri   Rj   Rk   t   aryt   idxt   val(    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRp     s    (   R   R   R   t   atomict   addR   Rp   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRr     s   t   Cuda_atomic_maxminc           B` s   e  Z d  „  Z RS(   c         C` s°   | s t  ‚ | \ } } } t j t j t j t j t j t j f } | j | k rY d  S| j	 d k r„ t
 | j | t j | j ƒ S| j	 d k r¬ t
 | j | | | j ƒ Sd  S(   Ni   (   Rh   R   R`   R_   RW   R[   RX   R\   Rt   Rs   R	   Ru   (   Ri   Rj   Rk   Rv   Rw   Rx   Ro   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRp   (  s    (   R   R   Rp   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR{   '  s   t   Cuda_atomic_maxc           B` s   e  Z e j j Z RS(    (   R   R   R   Ry   t   maxR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR|   :  s   t   Cuda_atomic_minc           B` s   e  Z e j j Z RS(    (   R   R   R   Ry   t   minR   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR~   ?  s   t   Cuda_atomic_compare_and_swapc           B` s   e  Z e j j Z d  „  Z RS(   c         C` sZ   | s t  ‚ | \ } } } | j } | t j k rV | j d k rV t | | | | ƒ Sd  S(   Ni   (   Rh   Rt   R   RW   Rs   R	   (   Ri   Rj   Rk   Rv   t   oldRx   t   dty(    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRp   H  s
    	(   R   R   R   Ry   t   compare_and_swapR   Rp   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR€   D  s   t   Cuda_threadIdxc           B` s5   e  Z e j e j ƒ Z d  „  Z d „  Z d „  Z	 RS(   c         C` s   t  j t ƒ S(   N(   R   t   MacroR   (   Ri   t   mod(    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt	   resolve_xU  s    c         C` s   t  j t ƒ S(   N(   R   R…   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt	   resolve_yX  s    c         C` s   t  j t ƒ S(   N(   R   R…   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt	   resolve_z[  s    (
   R   R   R   t   ModuleR   R   R   R‡   Rˆ   R‰   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR„   Q  s   		t   Cuda_blockIdxc           B` s5   e  Z e j e j ƒ Z d  „  Z d „  Z d „  Z	 RS(   c         C` s   t  j t ƒ S(   N(   R   R…   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR‡   c  s    c         C` s   t  j t ƒ S(   N(   R   R…   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRˆ   f  s    c         C` s   t  j t ƒ S(   N(   R   R…   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR‰   i  s    (
   R   R   R   RŠ   R   R   R   R‡   Rˆ   R‰   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR‹   _  s   		t   Cuda_blockDimc           B` s5   e  Z e j e j ƒ Z d  „  Z d „  Z d „  Z	 RS(   c         C` s   t  j t ƒ S(   N(   R   R…   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR‡   q  s    c         C` s   t  j t ƒ S(   N(   R   R…   R    (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRˆ   t  s    c         C` s   t  j t ƒ S(   N(   R   R…   R!   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR‰   w  s    (
   R   R   R   RŠ   R   R   R   R‡   Rˆ   R‰   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRŒ   m  s   		t   Cuda_gridDimc           B` s5   e  Z e j e j ƒ Z d  „  Z d „  Z d „  Z	 RS(   c         C` s   t  j t ƒ S(   N(   R   R…   R"   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR‡     s    c         C` s   t  j t ƒ S(   N(   R   R…   R$   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRˆ   ‚  s    c         C` s   t  j t ƒ S(   N(   R   R…   R%   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR‰   …  s    (
   R   R   R   RŠ   R   R#   R   R‡   Rˆ   R‰   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR   {  s   		t   CudaSharedModuleTemplatec           B` s#   e  Z e j e j ƒ Z d  „  Z RS(   c         C` s   t  j t ƒ S(   N(   R   R…   R*   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_array  s    (   R   R   R   RŠ   R   R+   R   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyRŽ   ‰  s   t   CudaConstModuleTemplatec           B` s#   e  Z e j e j ƒ Z d  „  Z RS(   c         C` s   t  j t ƒ S(   N(   R   R…   R/   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_array_like•  s    (   R   R   R   RŠ   R   R0   R   R‘   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR   ‘  s   t   CudaLocalModuleTemplatec           B` s#   e  Z e j e j ƒ Z d  „  Z RS(   c         C` s   t  j t ƒ S(   N(   R   R…   R-   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR     s    (   R   R   R   RŠ   R   R.   R   R   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR’   ™  s   t   CudaAtomicTemplatec           B` s>   e  Z e j e j ƒ Z d  „  Z d „  Z d „  Z	 d „  Z
 RS(   c         C` s   t  j t ƒ S(   N(   R   t   FunctionRr   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_add¥  s    c         C` s   t  j t ƒ S(   N(   R   R”   R|   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_max¨  s    c         C` s   t  j t ƒ S(   N(   R   R”   R~   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_min«  s    c         C` s   t  j t ƒ S(   N(   R   R”   R€   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_compare_and_swap®  s    (   R   R   R   RŠ   R   Ry   R   R•   R–   R—   R˜   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR“   ¡  s
   			t   CudaModuleTemplatec           B` s%  e  Z e j e ƒ Z d  „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# RS(   c         C` s   t  j t ƒ S(   N(   R   R…   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_grid¶  s    c         C` s   t  j t ƒ S(   N(   R   R…   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_gridsize¹  s    c         C` s   t  j t j ƒ S(   N(   R   RŠ   R   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_threadIdx¼  s    c         C` s   t  j t j ƒ S(   N(   R   RŠ   R   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_blockIdx¿  s    c         C` s   t  j t j ƒ S(   N(   R   RŠ   R   R   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_blockDimÂ  s    c         C` s   t  j t j ƒ S(   N(   R   RŠ   R   R#   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_gridDimÅ  s    c         C` s   t  j t ƒ S(   N(   R   R…   R&   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_warpsizeÈ  s    c         C` s   t  j t ƒ S(   N(   R   R…   R(   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_laneidË  s    c         C` s   t  j t j ƒ S(   N(   R   RŠ   R   R+   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_sharedÎ  s    c         C` s   t  j t ƒ S(   N(   R   R”   RR   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_popcÑ  s    c         C` s   t  j t ƒ S(   N(   R   R”   Ra   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_brevÔ  s    c         C` s   t  j t ƒ S(   N(   R   R”   Rc   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_clz×  s    c         C` s   t  j t ƒ S(   N(   R   R”   Re   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_ffsÚ  s    c         C` s   t  j t ƒ S(   N(   R   R”   R]   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_fmaÝ  s    c         C` s   t  j t ƒ S(   N(   R   R”   R2   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_syncthreadsà  s    c         C` s   t  j t ƒ S(   N(   R   R”   R6   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_syncthreads_countã  s    c         C` s   t  j t ƒ S(   N(   R   R”   R9   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_syncthreads_andæ  s    c         C` s   t  j t ƒ S(   N(   R   R”   R;   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_syncthreads_oré  s    c         C` s   t  j t ƒ S(   N(   R   R”   R=   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_threadfenceì  s    c         C` s   t  j t ƒ S(   N(   R   R”   R?   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_threadfence_blockï  s    c         C` s   t  j t ƒ S(   N(   R   R”   RA   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_threadfence_systemò  s    c         C` s   t  j t ƒ S(   N(   R   R”   RC   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_syncwarpõ  s    c         C` s   t  j t ƒ S(   N(   R   R”   RE   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_shfl_sync_intrinsicø  s    c         C` s   t  j t ƒ S(   N(   R   R”   RL   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_vote_sync_intrinsicû  s    c         C` s   t  j t ƒ S(   N(   R   R”   RN   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_match_any_syncþ  s    c         C` s   t  j t ƒ S(   N(   R   R”   RP   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_match_all_sync  s    c         C` s   t  j t ƒ S(   N(   R   R”   Rg   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_selp  s    c         C` s   t  j t j ƒ S(   N(   R   RŠ   R   Ry   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_atomic  s    c         C` s   t  j t j ƒ S(   N(   R   RŠ   R   R0   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_const
  s    c         C` s   t  j t j ƒ S(   N(   R   RŠ   R   R.   (   Ri   R†   (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   resolve_local  s    ($   R   R   R   RŠ   R   R   Rš   R›   Rœ   R   Rž   RŸ   R    R¡   R¢   R£   R¤   R¥   R¦   R§   R¨   R©   Rª   R«   R¬   R­   R®   R¯   R°   R±   R²   R³   R´   Rµ   R¶   R·   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyR™   ²  s>   																													N(K   t
   __future__R    R   R   t   numbaR   t   numba.typing.npydeclR   t   numba.typing.templatesR   R   R   R   R	   R
   R   t   registryt   registert	   intrinsict   register_attrt   intrinsic_attrt   register_globalt   intrinsic_globalR   R   R   R   R   R   R   R   R   R    R!   R"   R$   R%   R&   R(   R*   R-   R/   R2   R6   R9   R;   R=   R?   RA   RC   RE   RL   RN   RP   RR   R]   Ra   Rc   Re   Rg   Rr   R{   R|   R~   R€   R„   R‹   RŒ   R   RŽ   R   R’   R“   R™   RŠ   (    (    (    s2   lib/python2.7/site-packages/numba/cuda/cudadecl.pyt   <module>   s¸   .				



^