σ
\K]c           @` sψ  d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l Z d d l Z d d l	 m
 Z
 e
   d Z [
 d d l m Z m Z m Z m Z d d l m Z m Z m Z m Z m Z m Z d d	 l Td d	 l Td d
 l m Z d d l m Z m Z m Z m Z m  Z  m! Z! d d l" m# Z# m$ Z$ m% Z% d d l& m' Z' m( Z( m) Z) d d l* m* Z* d d l+ Z, d d l+ m- Z. d d l/ Z, e j0 Z1 d j2   e j3 e j3 Z3 d Z4 d Z5 d   Z6 d   Z7 d   Z8 e6   e7   d d l9 Z9 e8   e _: d S(   s5   
Expose top-level symbols that are safe for import *
i    (   t   print_functiont   divisiont   absolute_importNi   (   t   get_versionst   version(   t   configt   errorst	   _runtestst   types(   t   typeoft   pranget   pndindext   gdbt   gdb_breakpointt   gdb_init(   t   *(   t
   SmartArray(   t   autojitt   cfunct   generated_jitt   jitt   njitt   stencil(   t	   vectorizet   guvectorizet   threading_layer(   t   carrayt   farrayt
   from_dtype(   t   jitclass(   t   objmode_contextsΘ   
    autojit
    cfunc
    from_dtype
    guvectorize
    jit
    jitclass
    njit
    stencil
    typeof
    prange
    gdb
    gdb_breakpoint
    gdb_init
    stencil
    vectorize
    objmode
    i   i   c          C` sγ   d d l  }  d d l } t j d  } | j | j  } | r t t t | j	     } | t
 k  r d t
 | j f } t |   q n |  j d  d d l m } m } | t k  rΨ d t | } t |   n  |   d S(   s,   
    Make sure llvmlite is operational.
    i    Ns   (\d+)\.(\d+).(\d+)sf   Numba requires at least version %d.%d.%d of llvmlite.
Installed version is %s.
Please update llvmlite.s'   llvmlite version format not recognized!(   t   llvm_version_infot   check_jit_executions   Numba requires at least version %d.%d.%d of LLVM.
Installed llvmlite is built against version %d.%d.%d.
Please update llvmlite.(   t   warningst   llvmlitet   ret   compilet   matcht   __version__t   tuplet   mapt   intt   groupst   _min_llvmlite_versiont   ImportErrort   warnt   llvmlite.bindingR   R    t   _min_llvm_version(   R!   R"   t   regext   mt   vert   msgR   R    (    (    s-   lib/python2.7/site-packages/numba/__init__.pyt   _ensure_llvmJ   s"    c          C` s   d d l  }  d d l m } t j d  } | d k  sQ d | k oL d k  n r` t d	   n  | j d  } | d k  r t d
   n  d S(   s=   
    Make sure Python and Numpy have supported versions.
    i    Ni   (   t   numpy_supporti   i   i   i   s4   Numba needs Python 2.7 or greater, or 3.4 or greaters    Numba needs Numpy 1.7 or greater(   i   i   (   i   (   i   i   (   i   i   (   R!   t    R5   t   syst   version_infoR,   R   (   R!   R5   t   pyvert
   np_version(    (    s-   lib/python2.7/site-packages/numba/__init__.pyt   _ensure_pynumpyl   s    (c          C` s9  t  j s5yτ t j j d  r1 t j j d  nN t j j d  rV t j j d  n) t j j d  r{ t j j d  n t Sy  t	 t j j
 d    s t SWnC t k
 rδ t j   d k rΰ t  j rΰ d	 }  t j |   n  t SXt j j d
 d  t SWq5t j   d k r2t  j r2t j d  q2q5Xn  t S(   sU   
    Tries to enable SVML if configuration permits use and the library is found.
    t   linuxs
   libsvml.sot   darwins   libsvml.dylibt   wint   svml_dispmdt   has_svmlt   x86_64s>   SVML was found but llvmlite >= 0.23.2 is needed to support it.t   SVMLs   -vector-library=SVMLs'   SVML was not found/could not be loaded.(   R   t   DISABLE_INTEL_SVMLR7   t   platformt
   startswithR"   t   bindingt   load_library_permanentlyt   Falset   getattrt   targetst   AttributeErrort   machinet   DEBUGR!   R-   t
   set_optiont   True(   R3   (    (    s-   lib/python2.7/site-packages/numba/__init__.pyt   _try_enable_svml{   s.    	(   i    i   i    (   i   i    i    (;   t   __doc__t
   __future__R    R   R   RD   R#   R7   R!   t   _versionR   R&   R6   R   R   R   t   runtestsR   t   specialR	   R
   R   R   R   R   t
   smartarrayR   t
   decoratorsR   R   R   R   R   R   t   npyufuncR   R   R   R5   R   R   R   R   t   numba.withcontextst   numbaR   t   objmodet   numba.typedt   maint   testt   splitt   __all__R+   R/   R4   R;   RP   R"   t
   USING_SVML(    (    (    s-   lib/python2.7/site-packages/numba/__init__.pyt   <module>   s>   ".

.		"		/