
Xc        R   @` 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 m	 Z	 d d l
 m Z d d l
 m Z d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY gR Z e j Z e j j Z e j Z i  Z g  Z d Z dZ   Z d[   Z d\   Z d]   Z d^   Z d_   Z d`   Z da   Z db   Z dc   Z  dd   Z! de   Z" df   Z# dg   Z$ dh   Z% di   Z& dj   Z' dk   Z( dl   Z) dm   Z* dn   Z+ do   Z, dp   Z- dq   Z. dr   Z/ ds   Z0 dt   Z1 du   Z2 dv   Z3 dw   Z4 dx   Z5 dy   Z6 dz   Z7 d{   Z8 d|   Z9 d}   Z: d~   Z; d   Z< d   Z= d   Z> d   Z? d   Z@ d   ZA d   ZB d   ZC d   ZD d   ZE d   ZF d   ZG d   ZH d   ZI d   ZJ d   ZK d   ZL d   ZM d   ZN d   ZO d   ZP d   ZQ d   ZR d   ZS d   ZT d   ZU d   ZV d   ZW d   ZX d   ZY d   ZZ d   Z[ i d eM 6d eN 6d eO 6d eP 6d eS 6d eR 6d eJ 6d eW 6d eY 6d eZ 6d e[ 6Z\ d   Z] d   Z^ d   Z_ d   Z` d   Za d   Zb d   Zc d   Zd d   Ze d   Zf d   Zg d   Zh d ei f d     YZj dY d d     YZk d   Zl d   Zm d   Zn d   Zo d   Zp d d d  Zq d   Zr i  d  Zs d   Zt d   Zu d   Zv d   Zw d   Zx d   Zy d   Zz d   Z{ d   Z| d d  Z} d   Z~ i  d  Z d S(   sW  

Auxiliary functions for f2py2e.

Copyright 1999,2000 Pearu Peterson all rights reserved,
Pearu Peterson <pearu@ioc.ee>
Permission to use, modify, and distribute this software is given under the
terms of the NumPy (BSD style) LICENSE.


NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
$Date: 2005/07/24 19:01:55 $
Pearu Peterson

i    (   t   divisiont   absolute_importt   print_functionN(   t   reducei   (   t   __version__(   t   cfuncst
   applyrulest	   debugcapit
   dictappendt   errmesst   gentitlet   getargs2t   getcallprotoargumentt   getcallstatementt   getfortrannamet   getpymethoddeft
   getrestdoct   getusercodet   getusercode1t   hasbodyt   hascallstatementt	   hascommont   hasexternalst   hasinitvaluet   hasnotet   hasresultnotet   isallocatablet   isarrayt   isarrayofstringst	   iscomplext   iscomplexarrayt   iscomplexfunctiont   iscomplexfunction_warnt   isdoublet   isdummyroutinet
   isexternalt
   isfunctiont   isfunction_wrapt   isint1arrayt	   isintegert   isintent_auxt
   isintent_ct   isintent_callbackt   isintent_copyt   isintent_dictt   isintent_hidet   isintent_int   isintent_inoutt   isintent_inplacet   isintent_nothidet   isintent_outt   isintent_overwritet	   islogicalt   islogicalfunctiont   islong_complext   islong_doublet   islong_doublefunctiont   islong_longt   islong_longfunctiont   ismodulet   ismoduleroutinet
   isoptionalt	   isprivatet
   isrequiredt	   isroutinet   isscalart   issigned_long_longarrayt   isstringt   isstringarrayt   isstringfunctiont   issubroutinet   issubroutine_wrapt   isthreadsafet
   isunsignedt   isunsigned_chart   isunsigned_chararrayt   isunsigned_long_longt   isunsigned_long_longarrayt   isunsigned_shortt   isunsigned_shortarrayt   l_andt   l_nott   l_ort   outmesst   replacet   showt
   stripcommat   throw_errorc         C` s)   t  j d d  r% t j j |   n  d  S(   Nt   verbosei   (   t   optionst   gett   syst   stdoutt   write(   t   t(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRS   @   s    c         C` s
   d t  k S(   Nt   capi(   t   debugoptions(   t   var(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   E   s    c         C` s'   d |  k o& |  d d k o& t  |   S(   Nt   typespect	   character(   R#   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt	   _isstringI   s    c         C` s   t  |   o t |   S(   N(   Rd   R   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRC   N   s    c         C` s   t  |   o d |  k S(   Nt   charselector(   RC   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   ischaracterR   s    c         C` s   t  |   o t |   S(   N(   R   Rd   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRD   V   s    c         C` s   t  |   o |  d d d k S(   Nt	   dimensionis   (*)(   RD   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   Z   s    c         C` s   d |  k o t  |   S(   NRg   (   R#   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   `   s    c         C` s#   t  |   p! t |   p! t |   S(   N(   R   RC   R#   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRA   d   s    c         C` s   t  |   o |  j d  d k S(   NRb   t   complexs   double complex(   s   complexs   double complex(   RA   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   h   s    c         C` s   t  |   o |  j d  d k S(   NRb   t   logical(   RA   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR4   m   s    c         C` s   t  |   o |  j d  d k S(   NRb   t   integer(   RA   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR'   q   s    c         C` s   t  |   o |  j d  d k S(   NRb   t   real(   RA   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   isrealu   s    c         C` sL   y |  d d SWn5 t  k
 rG y |  d d SWqH t  k
 rC qH Xn Xd  S(   Nt   kindselectort   *t   kind(   t   KeyError(   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   get_kindy   s    c         C` s9   t  |   s d S|  j d  d k r) d St |   d k S(   Ni    Rb   Rj   Ri   t   8(   s   integers   logical(   RA   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR9      s
    c         C` s9   t  |   s d S|  j d  d k r) d St |   d k S(   Ni    Rb   Rj   s   -1(   RA   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRJ      s
    c         C` s9   t  |   s d S|  j d  d k r) d St |   d k S(   Ni    Rb   Rj   s   -2(   RA   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRN      s
    c         C` s9   t  |   s d S|  j d  d k r) d St |   d k S(   Ni    Rb   Rj   s   -4(   RA   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRI      s
    c         C` s9   t  |   s d S|  j d  d k r) d St |   d k S(   Ni    Rb   Rj   s   -8(   RA   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRL      s
    c         C` s9   t  |   s d S|  j d  d k s) d St |   d k S(   Ni    Rb   Rk   Rr   (   RA   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR!      s
    c         C` s9   t  |   s d S|  j d  d k s) d St |   d k S(   Ni    Rb   Rk   t   16(   RA   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR7      s
    c         C` s    t  |   s d St |   d k S(   Ni    t   32(   R   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR6      s    c         C` s   t  |   o |  j d  d k S(   NRb   Rh   s   double complex(   s   complexs   double complex(   R   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR      s    c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   t   1(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR&      s    !c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   Ri   s   -1(   s   integers   logical(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRK      s    !c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   Ri   s   -2(   s   integers   logical(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRO      s    !c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   Ri   s   -4(   s   integers   logical(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   isunsignedarray   s    !c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   Ri   s   -8(   s   integers   logical(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRM      s    !c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   Ri   Ru   (   s   integers   logical(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   issigned_chararray   s    !c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   Ri   t   2(   s   integers   logical(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   issigned_shortarray   s    !c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   Ri   t   4(   s   integers   logical(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   issigned_array   s    !c         C` s1   t  |   o0 |  j d  d k o0 t |   d k S(   NRb   Rj   Ri   Rr   (   s   integers   logical(   R   RZ   Rq   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRB      s    !c         C` s   d |  k o d |  d k S(   Nt   attrspect   allocatable(    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR      s    c         C` s   d |  k p t  |   S(   NRg   (   RC   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt	   ismutable   s    c         C` s
   d |  k S(   Nt
   modulename(    (   t   rout(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR<      s    c         C` s   d |  k o d |  d k S(   Nt   blockt   module(    (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR;      s    c         C` s   d |  k o d |  d k S(   NR   t   function(    (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR$     s    c         C` s-   t  |   r d St o, t |   o, t |   S(   Ni    (   R)   t	   wrapfuncsR$   R#   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR%     s    c         C` s   d |  k o d |  d k S(   NR   t
   subroutine(    (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRF     s    c         C` s&   t  |   r d St |   o% t |   S(   Ni    (   R)   RF   t   hasassumedshape(   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRG     s    c         C` ss   |  j  d  r t SxY |  d D]M } xD |  d j  | i   j  d g   D]  } | d k rG t |  d <t SqG Wq Wt S(   NR   t   argst   varsRg   t   :(   RZ   t   Truet   False(   R   t   at   d(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    )
c         C` s   t  |   p t |   S(   N(   R$   RF   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR@   !  s    c         C` sY   t  |   s d Sd |  k r) |  d } n
 |  d } | |  d k rU t |  d |  Sd S(   Ni    t   resultt   nameR   (   R$   R4   (   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR5   %  s    
c         C` sY   t  |   s d Sd |  k r) |  d } n
 |  d } | |  d k rU t |  d |  Sd S(   Ni    R   R   R   (   R$   R9   (   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR:   1  s    
c         C` sY   t  |   s d Sd |  k r) |  d } n
 |  d } | |  d k rU t |  d |  Sd S(   Ni    R   R   R   (   R$   R7   (   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR8   =  s    
c         C` sY   t  |   s d Sd |  k r) |  d } n
 |  d } | |  d k rU t |  d |  Sd S(   Ni    R   R   R   (   R$   R   (   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   I  s    
c         C` s   t  |   r t d  d Sd S(   Ns      **************************************************************
        Warning: code with a function returning complex value
        may not work correctly with your Fortran compiler.
        Run the following test before using it in your applications:
        $(f2py install dir)/test-site/{b/runme_scalar,e/runme}
        When using GNU gcc/g77 compilers, codes should work correctly.
    **************************************************************
i   i    (   R   RS   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR    U  s
    c         C` sY   t  |   s d Sd |  k r) |  d } n
 |  d } | |  d k rU t |  d |  Sd S(   Ni    R   R   R   (   R$   RC   (   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRE   c  s    
c         C` s   d |  k o |  d S(   Nt	   externals(    (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   o  s    c         C` s   d |  k o d |  d k S(   Nt   f2pyenhancementst
   threadsafe(    (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRH   s  s    c         C` s   d |  k o |  d S(   NR   (    (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   hasvariablesx  s    c         C` s6   d |  k o5 d |  d k o5 d |  d k o5 t  |   S(   NR|   t   optionalt   required(   R1   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR=   |  s    c         C` s   d |  k o d |  d k S(   NR|   t   external(    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR#     s    c         C` s   t  |   o t |   S(   N(   R=   R1   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR?     s    c         C` s   d |  k r d Sd |  d k r$ d Sd |  d k r8 d Sd |  d k rL d Sd |  d k r` d Sd |  d k rt d Sd	 |  d k r d Sd S(
   Nt   intenti   t   hidei    t   inplacet   int   outt   inoutt   outin(    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR.     s    c         C` sZ   d |  k oY d |  d k s, d |  d k oY d |  d k oY d |  d k oY d |  d k S(   NR   R   R   R   R   R   (    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR/     s     c         C` s   d |  j  d g   k S(   NR   R   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR2     s    c         C` sP   d |  k oO d |  d k pO d |  d k oO d |  d k oO t  t t  |   S(   NR   R   R   R   (   RR   R/   R0   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR-     s     c         C` s   t  |   S(   N(   R-   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR1     s    c         C` s   d |  j  d g   k S(   Nt   cR   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR)     s    c         C` s   d |  j  d g   k S(   Nt   cacheR   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   isintent_cache  s    c         C` s   d |  j  d g   k S(   Nt   copyR   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR+     s    c         C` s   d |  j  d g   k S(   Nt	   overwriteR   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR3     s    c         C` s   d |  j  d g   k S(   Nt   callbackR   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR*     s    c         C` s   d |  j  d g   k S(   NR   R   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR0     s    c         C` s   d |  j  d g   k S(   Nt   auxR   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR(     s    c         C` s   d |  j  d g   k S(   Nt   aligned4R   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   isintent_aligned4  s    c         C` s   d |  j  d g   k S(   Nt   aligned8R   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   isintent_aligned8  s    c         C` s   d |  j  d g   k S(   Nt	   aligned16R   (   RZ   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   isintent_aligned16  s    t	   INTENT_INt   INTENT_INOUTt
   INTENT_OUTt   INTENT_HIDEt   INTENT_CACHEt   INTENT_Ct   OPTIONALt   INTENT_INPLACEt   INTENT_ALIGNED4t   INTENT_ALIGNED8t   INTENT_ALIGNED16c         C` s   d |  k o d |  d k S(   NR|   t   private(    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR>     s    c         C` s
   d |  k S(   Nt   =(    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s"   t  |   s d S|  d d d k S(   Ni    R   t   "t   '(   R   R   (   R   (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   hasinitvalueasstring  s    c         C` s
   d |  k S(   Nt   note(    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` sY   t  |   s d Sd |  k r) |  d } n
 |  d } | |  d k rU t |  d |  Sd S(   Ni    R   R   R   (   R$   R   (   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    
c         C` s
   d |  k S(   Nt   common(    (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` sH   t  |   r d St |   rD x% |  d D] } t |  r' d Sq' Wn  d S(   Ni   t   bodyi    (   R   R   t   containscommon(   R   t   b(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` sI   t  |   r d St |   s  d Sx" |  d D] } t |  r+ d Sq+ Wd S(   Ni   i    R   (   R;   R   t   containsmodule(   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s
   d |  k S(   NR   (    (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s   t  |   d  k	 S(   N(   R   t   None(   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s   d S(   Ni   (    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   istrue  s    c         C` s   d S(   Ni    (    (   Ra   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   isfalse#  s    t	   F2PYErrorc           B` s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   '  s   c           B` s   e  Z d    Z d   Z RS(   c         C` s   | |  _  d  S(   N(   t   mess(   t   selfR   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   __init__-  s    c         C` s#   d | |  j  f } t |   d  S(   Ns   

  var = %s
  Message: %s
(   R   R   (   R   Ra   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   __call__0  s    (   R   R   R   R   (    (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRW   +  s   	c          G` sk   d g  } } x> t  t |    D]* } d | | | f } | j d |  q  Wt d | d j |  f  S(   Ns   lambda vs   %s,f%d=f[%d]s   f%d(v)s   %s:%ss    and (   t   ranget   lent   appendt   evalt   join(   t   ft   lt   l2t   i(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRP   5  s
    c          G` sk   d g  } } x> t  t |    D]* } d | | | f } | j d |  q  Wt d | d j |  f  S(   Ns   lambda vs   %s,f%d=f[%d]s   f%d(v)s   %s:%ss    or (   R   R   R   R   R   (   R   R   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRR   =  s
    c         C` s
   t  d  S(   Ns   lambda v,f=f:not f(v)(   R   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRQ   E  s    c         C` s/   y |  d d d k SWn t  k
 r* d SXd  S(   NR   t   fortrannamet    i    (   Rp   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR"   I  s    c         C` sj   yH |  d d } | d k r& t   n  | sG t d |  d  t   n  Wn t  k
 re |  d } n X| S(   NR   R   R   s"   Failed to use fortranname from %s
R   (   Rp   R	   (   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   P  s    	c         C` s1  y |  d j  |  } Wn t k
 r+ d  SX| s6 d  S| d k rU t | t  rU d  St | t  r | t |  k rz d  S| | } n  | d  d k r-| r d | d t |  d | d } n
 | d } | d d k r| r| d  d	 t |  d
 } q*| d  } q-t d | t |  f  n  | S(   NR   i    i   s   '''s
   	/* start s    multiline (s   ) */
is   
	/* end multiline (s   )*/s-   %s multiline block should end with `'''`: %s
(   RZ   Rp   t
   isinstancet   strt   listR   t   reprR	   (   R   t	   blocknamet   commentt   countert   r(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   getmultilineblock^  s.    '
c         C` s   t  |  d  S(   Nt   callstatement(   R   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR   |  s    c   
      C` sz  t  |  d d d } | r | St |   r9 t d  d  Sd d l m } g  g  } } t t t t   |   r | j	 d d g  n  x |  d	 D] } |  d
 | } t
 |  r q n  | | k r | | d } nn | |  } t t t t t   |  rn t |  rn
 | d } t |  s3t |  rC| j d  n  | j |  q Wd j | |  }	 |	 svd }	 n  |	 S(   Nt   callprotoargumentR   i    s<   warning: callstatement is defined without callprotoargument
i   (   t   getctypes   char*t   size_tR   R   t   _typedefRn   t   ,t   void(   R   R   RS   t	   capi_mapsR   RP   RE   RQ   R%   t   extendR*   R)   RR   RA   R   RC   R   R   R   (
   R   t   cb_mapR   R   t	   arg_typest
   arg_types2t   nRa   t   ctypet
   proto_args(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s<    
	c         C` s   t  |  d  S(   Nt   usercode(   R   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s   t  |  d d d S(   NR   R   i   (   R   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s   t  |  d  S(   Nt   pymethoddef(   R   (   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s   g  g  } } d |  k r |  d } d |  k r x. |  d D]" } | | k r: | j  |  q: q: Wx7 | D]" } | | k rg | j  |  qg qg Wq |  d } n  | | f S(   NR   t   sortvars(   R   (   R   t   sortargsR   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   getargs  s    
c         C` s   g  |  j  d g   } } g  |  d j   D], } t |  d |  r* | | k r* | ^ q* } | | } d |  k r x. |  d D]" } | | k r} | j |  q} q} Wx; | D]" } | | k r | j |  q q Wn | |  d } | | f S(   NR   R   R   (   RZ   t   keysR(   R   (   R   R   R   R   t   auxvars(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    +
c         C` sQ   d |  k r d  Sd  } |  d d k r= |  d |  d f } n  |  d j | d   S(   Nt   f2pymultilinesR   s   python moduleR   (   R   RZ   (   R   t   k(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s1   d t  |   d d } d | d |  | d f S(   NiP   i   i   s   /*%s %s %s*/Rn   (   R   (   R   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR
     s    c         C` s,   t  |  t  r% t t d  |  g   S|  g S(   Nc         S` s   |  | |  S(   N(    (   t   xt   yR   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   <lambda>  s    (   R   R   R   t   flatlist(   R   (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s    c         C` s"   |  r |  d d k r |  d  S|  S(   NiR   (    (   t   s(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRV     s    R   c         C` s'  t  | t  r2 g  | D] } t |  | |  ^ q St  |  t  rd g  |  D] } t | | |  ^ qH Sx d t | j    D] } | d k r q{ n  d | k r | | d k r | d | } n | } t  | | t  r|  j d | | j t | |    }  q{ |  j d | | |  }  q{ W|  S(   Ni   t   separatorsfors   #%s#(   R   R   RT   R   R   R   (   R   R   t
   defaultsept   _mR   t   sep(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyRT     s    ##,c         C` s  t  | t  r3 x | D] } t |  |  }  q W|  Sx_| j   D]Q} | d d k r\ q@ n  | |  k rt  |  | t  r |  | g |  | <n  t  |  | t  r t  | | t  r |  | | | |  | <q|  | j | |  qt  |  | t  rt  | | t  r| d k r_x_ | | j   D]/ } | |  | k r)| | | |  | | <q)q)Wq}t |  | | |  |  | <qqq@ | | |  | <q@ W|  S(   Ni    t   _R   (   R   R   R   R   R   R   t   dict(   t   rdt   arR   R   t   k1(    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     s.     $c         C` s  i  } t  |  t  r[ x? |  D]7 } t | | |  } t | |  } d | k r Pq q W| Sd |  k r| |  d |  r| | Sd |  k r t i |  d d 6| |  } d | k r t j | d  q n  x|  j   D]} | d k r |  | | | <q n  t  |  | t  r(t |  | |  | | <nt  |  | t  rg  | | <x|  | D]C } t i | | 6| |  }	 | |	 k rP| | j	 |	 |  qPqPWn| d d k rq nzt  |  | t
  rg  | | <xZ|  | j   D]-}
 t  |
 t j  r|
 |  rt  |  | |
 t  rx |  | |
 D]j } t  | t
  rxt i | d 6| |  } d | k ro| d } qxd	 } n  | | j	 t | |   q(Wq|  | |
 } t  | t
  rt i | d 6|  } d | k r| d } qd	 } n  | | j	 t | |   qqWn t d
 t |  |   t  | | t  r t | |  d k rh| | d | | <n  | | g  k r| | =qq q W| S(   Nt   _breakt   _checkt   needt   needsR   i    R   t	   supertextR   s   applyrules: ignoring rule %s.
i   (   R   R   R   R   R   t   append_needsR   R   RT   R   R  t   typest   FunctionTypeR	   R   R   (   t   rulesR   Ra   t   retR   t   rrt   resR   R   R  R  (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyR     sl    

	!	$(    (   t   __doc__t
   __future__R    R   R   t   pprintR[   R  t	   functoolsR   R   R   R   t   __all__t   versiont   f2py_versiont   stderrR]   R	   RU   RY   R`   R   RS   R   Rd   RC   Rf   RD   R   R   RA   R   R4   R'   Rl   Rq   R9   RJ   RN   RI   RL   R!   R7   R6   R   R&   RK   RO   Rv   RM   Rw   Ry   R{   RB   R   R~   R<   R;   R$   R%   RF   RG   R   R@   R5   R:   R8   R   R    RE   R   RH   R   R=   R#   R?   R.   R/   R2   R-   R1   R)   R   R+   R3   R*   R0   R(   R   R   R   R,   R>   R   R   R   R   R   R   R   R   R   R   R   t	   ExceptionR   RW   RP   RR   RQ   R"   R   R   R   R   R   R   R   R   R   R   R
   R   RV   RT   R   R   (    (    (    s2   /tmp/pip-build-X4mzal/numpy/numpy/f2py/auxfuncs.pyt   <module>   s$  																					
																																																							
							
					
						$											