ó
àÆ÷Xc        
   @` 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	 Z	 d d l
 Z
 d d l Z d d l m Z d d l m Z d d l m Z m Z d d l m Z e j d ƒ Z d	 Z e Z d
 „  Z d „  Z y5 e ƒ  e Z e e t d d ƒ k re ƒ  ‚ n  Wnce k
 rƒe ƒ  z@yE e rKe ƒ  n e ƒ  e Z e e t d d ƒ k r|e ƒ  ‚ n  Wnôe k
 rse j j  s¨e d ƒ ‚ n  e j! d ƒ d Z" e j# j$ e j% d d d ƒ Z& e j# j' e& ƒ se	 j( d ƒ e d ƒ ‚ n  e) e& ƒ  Z* e* j+ ƒ  Z, Wd QXe j# j$ e j- e" ƒ Z. e j# j' e. ƒ s­y e j/ e. ƒ Wq­e0 k
 r©Z1 e1 j e j2 k sŽt3 ‚ e j# j' e. ƒ sªt3 ‚ q­Xn  d d d g Z4 e4 e j5 j6 ƒ  7Z4 e råe4 j7 d ƒ n¥ g  e
 j8 j9 d ƒ d  D] Z: e; e: ƒ ^ qüZ< e= e< d d g k ƒ rŠe4 j> d ƒ e4 j> d ƒ e4 j> d ƒ e4 j> d ƒ e4 j> d  ƒ e4 j> d! ƒ e4 j> d" ƒ n  e j5 j? e" e, d# e. d$ e4 d% e ƒe j# j$ e. d& ƒ Z@ e) e@ d' ƒ  Z* e* jA d( e ƒ Wd QXe j# j$ e. d) ƒ ZB e j# jC eB ƒ r$e j7 eB ƒ n  e ƒ  e ƒ  d d* l m ZD t jE eD jF ƒ  k s]t3 ‚ e j! d+ t jE ƒ n XWd e ƒ  Xn Xe	 jG ƒ  " e	 jH d, d- d. ƒd d/ lI TWd QXe eF ƒ  k sÉt3 ‚ d S(0   sÐ   
To update the scan Cython code in Theano you must
- update the version in this file and scan_perform.py
- call "cd theano/scan_module/; cython scan_perform.pyx; patch scan_perform.c numpy_api_changes.diff"

i    (   t   absolute_importt   print_functiont   divisionN(   t   config(   t   reload(   t   get_lockt   release_lock(   t   cmodules   theano.scan_module.scan_performg‹lçû©ñÒ?c           C` s0   t  j g t j d d +d d  l a t j d =d  S(   Ni    (   R   t
   compiledirt   syst   patht   scan_perform(    (    (    sC   /tmp/pip-build-X4mzal/theano/theano/scan_module/scan_perform_ext.pyt
   try_import    s    c           C` s.   t  j g t j d d +t t ƒ t j d =d  S(   Ni    (   R   R   R	   R
   R   R   (    (    (    sC   /tmp/pip-build-X4mzal/theano/theano/scan_module/scan_perform_ext.pyt
   try_reload'   s    
t   _versions(   no c compiler, can't compile cython codes   Compiling C code for scanR   t   scan_modules   scan_perform.cs  The file scan_perform.c is not available. This donot happen normally. You are probably in a strangesetup. This mean Theano can not use the cython code for scan. If youwant to remove this warning, use the Theano flag'cxx=' (set to an empty string) to disable all ccode generation.s)   The file lazylinker_c.c is not available.s   -fwrapvs   -O2s   -fno-strict-aliasings+   -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSIONt   .i   i   i   s'   -DNPY_ENSUREARRAY=NPY_ARRAY_ENSUREARRAYs%   -DNPY_ENSURECOPY=NPY_ARRAY_ENSURECOPYs   -DNPY_ALIGNED=NPY_ARRAY_ALIGNEDs#   -DNPY_WRITEABLE=NPY_ARRAY_WRITEABLEs%   -DNPY_UPDATE_ALL=NPY_ARRAY_UPDATE_ALLs)   -DNPY_C_CONTIGUOUS=NPY_ARRAY_C_CONTIGUOUSs)   -DNPY_F_CONTIGUOUS=NPY_ARRAY_F_CONTIGUOUSt   locationt   preargst   hide_symbolss   __init__.pyt   ws   _version = %s
s   __init__.pyc(   R   s   New version %st   ignoret   messages   numpy.ndarray size changed(   t   *(J   t   __doc__t
   __future__R    R   R   t   errnot   loggingt   osR	   t   warningst   numpyt   theanoR   t   theano.compatR   t   theano.gof.compilelockR   R   t
   theano.gofR   t	   getLoggert   _loggert   versiont   Falset   need_reloadR   R   t   Truet   getattrR   t   Nonet   ImportErrort   cxxt   infot   dirnameR
   t   joint   __path__t   cfilet   existst   warnt   opent   ft   readt   codeR   t   loct   mkdirt   OSErrort   et   EEXISTt   AssertionErrorR   t   GCC_compilert   compile_argst   removet   __version__t   splitt   nt   intt	   numpy_vert   boolt   appendt   compile_strt   init_pyt   writet   init_pyct   isfilet   scan_cR   t   get_versiont   catch_warningst   filterwarningst   scan_perform.scan_perform(    (    (    sC   /tmp/pip-build-X4mzal/theano/theano/scan_module/scan_perform_ext.pyt   <module>   s¬   		
	/