HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/numpy/f2py/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/numpy/f2py/__pycache__/capi_maps.cpython-36.pyc
3

���h�z�@s�dZdddw�ZddlmZejZddlZddlZddlZddlm	Z	ddlm
Z
dd	lTd
ddd
ddddddddgZdZ
gZiaiZddddddddddddddddd�Zddddd d!d"d#d$d%d&d&d'd(d(dd)�Ze
�rddd*d!d d!d"d#d$d%d&d+d,d-d'd(d(dd.�Zd/d0d/d1d1d2d3d4d5d6d7d8d9d:d:d;d<�Ze
�rXd/d0d=d2d>d2d?d@d5dAd7d8dBdCd9d:dDdEd.�Zd/d0d2d2d?d5d7d8dFdFdFdGdH�Ze
�r|dddIdJdJdK�ddLdMddNdOdPdQdRdS�	dTdTdUdVdVdW�dTdTdUdVdVdK�ddXdMddNdY�dZdUidZdIidZdXidZdid[�	aejt�Zd\d]�Zd^d^d_d`d`dadbdcd`dddedfdedgdgdhdidj�Zdkd
�Zdld�Zdxdmd�Zdnd
�Zdod�Zdpd�Zdqd�Z drd�Z!dsd�Z"dydtd�Z#dud�Z$dvd�Z%dS)za)

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 License.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
$Date: 2005/05/06 10:57:33 $
Pearu Peterson

z$Revision: 1.60 $�
�)�__version__�N)�markoutercomma)�cb_rules)�*�getctype�getstrlength�
getarrdims�getpydocsign�
getarrdocsign�getinit�sign2map�routsign2map�modsign2map�cb_sign2map�cb_routsign2map�common_sign2mapT�float�int�long�complex�string)�doubler�long_double�char�signed_char�
unsigned_char�short�unsigned_shortrr�	long_long�unsigned�
complex_float�complex_double�complex_long_doublerZ
NPY_DOUBLEZ	NPY_FLOATZ
NPY_STRINGZ	NPY_UBYTEZNPY_BYTEZ	NPY_SHORTZ
NPY_USHORTZNPY_INTZNPY_UINTZNPY_LONGZ
NPY_CFLOATZNPY_CDOUBLE)rrrrrrrrrr!rr r"r#r$rZNPY_LONGDOUBLEZ	NPY_ULONGZNPY_LONGLONGZ
NPY_ULONGLONG)rrrrrrrrrr!r�
unsigned_longr �unsigned_long_longr"r#r$r�d�f�1�b�s�w�i�u�l�L�F�D�c)rrrrrrrrrr!rr r"r#r$r�g�B�h�H�I�q�Q�G�S�N�y)rrrrrrrr r"r#r$rrr)��4�8Z12�16rrr rrr!r&)	r?r)�2r@rAz-1z-2z-4z-8r"r#r$)r?rArBZ24Z32r)r?r)rCr@rAr?)	�real�integerrZcomplexkind�logicalzdouble complexzdouble precisionZbyte�	charactercCs�tjt�a|dkr&d}tjj|�s&dS�yrtdj|��t	|d��}t
|j�ii�}WdQRXxNt|j
��D]>\}}x$t|j��D]}||||j�<q�W||||j�<qlWx�t|j��D]�}|tkr�it|<x�t||j��D]�}|||tk�rZ|t|k�r*td||t|||||f�|||t||<td|||||f�q�td||||||||ttj��f�q�Wq�Wtd�Wn0tk
�r�}ztd|�WYdd}~XnXdS)	Nz.f2py_f2cmapzReading f2cmap from {!r} ...
�rz3	Warning: redefinition of {'%s':{'%s':'%s'->'%s'}}
z	Mapping "%s(kind=%s)" to "%s"
z5	Ignoring map {'%s':{'%s':'%s'}}: '%s' must be in %s
z1Successfully applied user defined f2cmap changes
z;Failed to apply user defined f2cmap changes: %s. Skipping.
)�copy�deepcopy�f2cmap_default�
f2cmap_all�os�path�isfile�outmess�format�open�eval�read�list�items�keys�lower�c2py_map�errmess�	Exception)Zf2cmap_filer(r'�kZd1Zk1�msg�r^�5/tmp/pip-build-5_djhm0z/numpy/numpy/f2py/capi_maps.py�load_f2cmap_file�s<
"2r`z%gz%Lgz%dz%hhuz%hdz%huz%uz%ldz%luz(%g,%g)z	(%Lg,%Lg)z%s)rrrrrrrrrr!rr%r r"r#r$rcCs�d}t|�rRd|kr|d}n|d}||dkrBt|d|�Std|��n|t|�r^|Sd|kot|dj�tk�r�|dj�}t|}|d}d|k�r�d	|dkr�y||dd	}Wn2tk
r�td
|dd	|dd	f�YnXn�d|dk�r�|dtk�rt|d}y||dd}Wn�tk
�r�|tk�rTt|}y|t|dd�}WnBtk
�r�td||dd|||ddtj	�f�YnXYnXnt
|��s�td
|�|S)z
    Determines C type
    �void�result�name�varsz,getctype: function %s has no return value?!
�typespecr?Zkindselectorrz$getctype: "%s %s %s" not supported.
�kindz}getctype: "%s(kind=%s)" is mapped to C "%s" (to override define dict(%s = dict(%s="<C typespec>")) in %s/.f2py_f2cmap file).
z2getctype: No C-type found in "%s", assuming void.
)�
isfunctionrrZZissubroutinerXrL�KeyError�strrM�getcwd�
isexternal)�var�ctype�areZf2cmapr^r^r_r�sN

"
(

cCs�t|�rJd|kr|d}n|d}||dkr>t|d|�Std|�t|�sbtdt|��d}d|kr�|d}d|kr�|d}nd	|kr�|d	}tjd
|�s�tjd|�r�t|�r�tdt|��d
}|S)Nrbrcrdz0getstrlength: function %s has no return value?!
z;getstrlength: expected a signature of a string but got: %s
r)Zcharselectorr�lenz\(\s*([*]|[:])\s*\)z	([*]|[:])zMgetstrlength:intent(hide): expected a string with defined length but got: %s
z-1)�isstringfunctionr	rZ�isstring�repr�re�match�
isintent_hide)rlrnror^r^r_r	$s.

c	Cs�i}t|�r:t|�r:t|�|d<|d|d<d|d<�n`t|�r^d|d<d|d<d|d<�n<t|��r�tj|d�}dj|�|d<ytt|d��|d<Wntk
r�YnXd	j|�|d<tt	|��|d<tt	|�dg�d
d�|d<x�t
t	|��D]�}g}||tk�r||g}n0x.tD]&}tj
d|||��r$|j|��q$Wx.|D]&}tj|�tj|�k�rTd||<P�qTW�q�Wd\|d
<}x6|D].}|d
}|dk�r�d|d
||f|d
<�q�W|d
�r�|d
dd�|d
<d\|d<}x�|dD]|}|d
}|dk�r*d|d||f|d<nLt|��rXtd|�d|d|df|d<n|�r�tdt|�t|�f��q�W|d�r�|ddd�|d<|S) NZdims�sizer)�rank�0r?�	dimensionr�,rz	rank*[-1]z.*?\b%s\b.*Zsetdims�:�(*)�(:)z%s#varname#_Dims[%d]=%s,Z	cbsetdimsz?getarrdims:warning: assumed shape array, using 0 instead of %r
rz]getarrdims: If in call-back function: array argument %s must have bounded dimensions: got %s
���r~r~)r?r~)rr{r|r}r~r~)r?r~)rr{r|r}r~)rq�isarrayr	�isscalarrI�joinrrrSr[ro�range�depargsrsrt�append�index�isintent_inrPrZ)	rnrl�verbose�ret�dimr-�v�var'r^r^r_r
@sn








cCs�t|�rPd|kr|d}n|d}||dkr@t||d|�Std|�dS||}}d}t|�rld}nt|�rxd}|}t|�r�x.|dD]"}|dd	�d
kr�|d	d�}Pq�Wd}t|�}	t|�r�t||�\}}
d|
}t	|��r6t|��rd||t
|	t|	|f}nd
||t
|	|f}d|t
|	f}�nPt|��r�t|��r`d||t
|�|f}nd||t
|�|f}d|t
|�f}�n�t|��r|d}tt|��}d|||t|	dj|�|f}||k�r�d||t|	dj|�f}nd||t|	dj|�|f}n~t|��rzd}
|tk�rht|tk�rhdtt|k�rhtt|d}
|
|k�sdd|
}
nd}
d||
f}|}ntd|�||fS)Nrbrcrdz,getctype: function %s has no return value?!
r?�inputz	in/output�intent�zout=z, optional\n    Default: %sz%s : %s rank-0 array(%s,'%s')%sz%s : %s %s%sz%s : %sz*%s : %s rank-0 array(string(len=%s),'c')%sz%s : %s string(len=%s)%sz%s : string(len=%s)ryz.%s : %s rank-%s array('%s') with bounds (%s)%srzz)%s : rank-%s array('%s') with bounds (%s)z8%s : rank-%s array('%s') with bounds (%s) and %s storage�argnamez => %sz%s : call-back function%sz8getpydocsign: Could not resolve docsignature for "%s".\n)r?r?)rgrrZr��isintent_inout�isintent_outr�hasinitvaluer
r�rY�c2pycode_maprqr	rrrror�rk�lcb_map�lcb2_map)rnrl�af�sigZsigout�opt�out_ar\�initrm�showinitr�rwZuar^r^r_r}s|








*


cCs�t|�}t|�r,t|�r,d|t|�f}nVt|�rLd|t|t|f}n6t|�r�|d}tt|��}d||t|dj	|�f}|S)Nz%%s : rank-0 array(string(len=%s),'c')z%s : rank-0 array(%s,'%s')ryz)%s : rank-%s array('%s') with bounds (%s)rz)
rrqrr	r�rYr�rrror�)rnrlrmr�r�rwr^r^r_r�s
cCsNt|�rd\}}nd\}}t|��rF|d}|}t|�s@t|�r�i}yb|d}d|krzt|dd��jd�\|d<|d	<n*t|ii�}t|j�t|j	�|d<|d	<Wn$t
k
r�td
||f��YnXt|�r�d|d|d	f}n\t|��rF|�sd\}}|dd
k�r(d|dd�j
dd�}|ddk�rFd|dd�}||fS)N�""�''r?�=rzrz@,@zinit.rzinit.izMgetinit: expected complex number `(r,i)' but got `%s' as initial value of %r.z (capi_c.r=%s,capi_c.i=%s,capi_c)r�'z"%s"�"z\"z'%s')r�r�)r?r?r~)r�r�r~r~)rqr��	iscomplex�iscomplexarrayr�splitrSrirD�imagr[�
ValueErrorr�replace)rnrlr�r�r�r�r^r^r_r
�s:

""
c
"CsD|}t|�r<x.|dD]"}|dd�dkr|dd�}PqW||t|�d�}g}x*tj�D]\}}||�rZ|jd|�qZW|r�dj|�|d<nd|d<t|�r�d	|d
<n&|dtkr�t|d|d
<nd|d
<t||�\|d
<|d<t	|�o�t
|�o�t|��r(t|d
ddE��jd�\|d<|d<t
|��r�||d<|tk�r�t||d<tt|d|d<tt|d|d<tt|d|d<tt|d|d<n ||d<td|ttj��f�t|��r�t|�|d<t|��rt|t||��}tj|d�}|dtk�rt|d|d<t|��r�tdtd td!td"td#td$t
d%tt t!t
��d&td'td(t"d)t#d*t$d+tt%t!t$��d,t
d-t&d-t'd.g"}	g}
x:t(d/t)|	�d0�D]&}|	||��r�|
j|	|d��q�Wt|��r�|
jd1||df�t|��rd2jt*d3d4�|d|��}|
jd5|�t
|��r>d6||dd2j|
�f|d7<n"d8|d||dd2j|
�f|d7<t |��r�|dt+k�r�d9|t+|df|d:<t|��r�d;||f|d:<t
|��r�d<||d:<|dt+k�r�d=|t+|df|d><d?t+|d|d@<t|��rdA||f|d><t,||�\|dB<|dC<t-|��r@|dD|dD<|S)Fz�
    varname,ctype,atype
    init,init.r,init.i,pytype
    vardebuginfo,vardebugshowvalue,varshowvalue
    varrfromat
    intent
    r�Nr�zout=)�varnameZ
outvarnamermzF2PY_%s�|ZF2PY_INTENT_INr=Z
varrformatrm�Or�r�rz@,@zinit.rzinit.iZ	cbnamekeyZcbname�
maxnofargs�
nofoptargsZdocstrZcbdocstrZlatexdocstrZ
cblatexdocstrz5sign2map: Confused: external %s is not in lcb_map%s.
�lengthry�atyper��outputZinoutput�required�optional�hiddenzcomplex scalarZscalarr�arrayz
complex arrayzstring arrayzcomplex function�function�callbackZ	auxiliaryr�zslen(%s)=%srzcSsd||fS)Nz%s|%sr^)�xr>r^r^r_�<lambda>Hszsign2map.<locals>.<lambda>zdims(%s)zdebug-capi:%s=>%s:%sZvardebuginfozdebug-capi:%s %s=%s:%szdebug-capi:%s=%sZvardebugshowvaluez"debug-capi:slen(%s)=%%d %s=\"%%s\"zdebug-capi:%s=%%pz#name#:%s=%sZvarshowvaluez%s�showvalueformatz#name#:slen(%s)=%%d %s=\"%%s\"�	pydocsign�pydocsignout�noter~).r�rZ
isintent_dictrVr�r�r�c2buildvalue_mapr
r�r�rr�rkr�r�rZrUrWrqr	�
dictappendr
rI�
c2capi_map�	debugcapir�r�Z
isrequired�
isoptionalruZl_andr�Zl_notr��
isstringarray�iscomplexfunctionrg�isintent_callbackZisintent_auxr�ro�map�cformat_mapr�hasnote)
rnrlr�r\r�Zintent_flagsr(r+r�ZilZrlr-Zddimr^r^r_r�s�
$







 




c	Cs|d}t|�}||jdd�|j�|j�t|�td|�||j�t|�pJdt|�pTdt|�p^dd�}d|krvd|d<nd|d<d|kr�d	|d
<nd
|d
<iad|k�rFx�|dj	�D]�}|t
jkr�x|t
j|D]n}|d}d
|d|k�r0xB|d|d
j	�D]*}|d|d
||dk�r|}P�qW|dt|<q�Wq�Wn0d|k�rv|d�rvtd|dt
|d�f�t|t��p�d|d<t|��r�d|k�r�|d}n|d}||d<t||�\|d<|d<t|d|�|d<t|��r|d|d|d<dg|d|d<|dtk�r2t|d|d<nd|d<tdt
|d��t|��r�|dtk�r~d|t|df|d<t|��r�d ||f|d<t|��r�t|d|�|d!<|d!d"k�r�td#t
|d��d$|d!<t|��r|d|d<dg|d<|S)%zV
    name,NAME,begintitle,endtitle
    rname,ctype,rformat
    routdebugshowvalue
    rc�_z\_z	end of %sr?)rcZtexnameZ
name_lower�NAME�
begintitle�endtitleZfortrannameZFORTRANNAMEZ
callstatement�usercode�	usercode1�	F_FUNC_US�F_FUNCZF_WRAPPEDFUNC_USZ
F_WRAPPEDFUNCZuserr�rZ	externalszMroutsign2map: Confused: function %s has externals %s but no "use" statement.
Zcallprotoargumentrb�rnamer�r�rdrmr�Z
resultnotezSee elsewhere.Zrformatr�z.routsign2map: no c2buildvalue key for type %s
zdebug-capi:%s=%sZroutdebugshowvaluez"debug-capi:slen(%s)=%%d %s=\"%%s\"Zrlengthz-1zzroutsign2map: expected explicit specification of the length of the string returned by the fortran function %s; taking 10.
�10)Zgetfortrannamer�rX�upper�gentitleZgetcallstatement�getusercode�getusercode1r�rWrZcb_maprZrrZgetcallprotoargumentrgrrZ
hasresultnoter�r�r�rpr	r�)	�routrc�fnamer�r.Zun�lnr\rnr^r^r_rds�
















cCs�t|�r.|d|dj�|djdd�d�}n$|d|dj�|djdd�d�}t|�p\g|d<t|�rv|d|d<t|�p�d|d	<t|�p�d|d
<|dr�t|dd�p�d|d
<nd|d
<t|�p�d|d<d|kr�|d|d<d|kr�|d|d<|S)z
    modulename
    rcr�z\_)Z
f90modulenameZ
F90MODULENAMEZtexf90modulename)�
modulenameZ
MODULENAMEZ
texmodulenameZrestdocr�r?r�r��bodyrZinterface_usercodeZpymethoddefZcoutputZf2py_wrapper_output)Zismoduler�r�Z
getrestdocr�r�r�Zgetpymethoddef)�mr�r^r^r_r�s*

cCs�d|i}|d|d<t|�|d<|dtkr<t|d|d<|dtkr\dt|d|d<t|�rtt|t||��}t||�\|d<|d<t|�r�|d	|d	<d
g|d	<|S)Nr�Z	varname_irmr�z%sr�r�r�r�zSee elsewhere.)rr�r�rr�r
rr�)rnrlr�r�r^r^r_r�s
cCs�d|d|fdd�}t|�r`d|dkr0d}nd}d||dj�|dj�f|d	<d
|d<n|d|d	<d|d<|d|d<t|d�|d
<td|d�|d<t|�|d<d|d<|ddkr�d|d<n|d|d<|ddk�rt|�r�d|d<nd|d<|dtk�r$dt|d|d<t|��r:t|�|d<t	|��r�d|k�rX|d}n|d}t
|d|��r�|d|d|d<dg|d|d<||d<t||�\|d<|d <t|��r�d!|d<n t
|��r�|d|d<dg|d<d"}d"}d#|k�rPd|k�rPxH|d#D]<}|d|}tt
t�|��r|d$}t|��r|d$}�qWt|�|d%<t|�|d&<t
|��r�t	|��r�d|k�r�|d|d'<dg|d<|S)(z\
    name,begintitle,endtitle,argname
    ctype,rctype,maxnofargs,nofoptargs,returncptr
    zcb_%s_in_%srcr?)rc�
returncptrr�r�r�z	%s(%s,%s)ZcallbacknameZexternZstaticr�r�z	end of %sr�rmraZrctyperz3
#ifdef F2PY_CB_RETURNCOMPLEX
return_value=
#endif
r�z
return_value=z%sr�Z	strlengthrbrdr�zSee elsewhere.r�r�r�z8
#ifdef F2PY_CB_RETURNCOMPLEX
#ctype#
#else
void
#endif
r�argsrr�r�Zroutnote)r�rXr�r�rr�r�rpr	rgr�rZl_orr�r�r�rr)r�Zumr�r�rnZnofargsr�rlr^r^r_r�st













cCs�|t|�d�}t|�rd|d<|dtkr:t|d|d<|dtkrZdt|d|d<t|�rtt|t||��}nt|�r�t|�|d<d|d	<t	||�\|d
<|d<t
|�r�|d|d<d
g|d<t||�|d<|S)N)r�rmrrmr�z%sr�rvr)rwr�r�r�zSee elsewhere.Z	arrdocstr)rr�r�r�rr�r
rqr	rr�r)rnrlr�r^r^r_r5s$
r~)r)N)&�__doc__rr?�versionZf2py_versionrIrsrMZcrackfortranrrZauxfuncs�__all__Z
using_newcorer�r�r�rYr�r�r�rLrJrKr`r�rr	r
rrr
rrrrrrr^r^r^r_�<module>
sH


+1
=J#hQ
R