U
    ¸mœdð€  ã                   @   s’  d Z ddlmZ ej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T dd	d
dddddddddgZdZg Zi ai ZddddddddddddddddddœZdddddd d!d"d#d$d%d%d&d'd'dd(d)œZerúddd*d dd d!d"d#d$d%d+d,d-d&d'd'ddd.œZd/d0d/d1d1d2d3d4d5d6d7d8d9d:d:d;d;d<œZe�rTd/d0d=d2d>d2d?d@d5dAd7d8dBdCd9d:dDdEd;d.œZd/d0d2d2d?d5d7d8dFdFdFdGd;dHœZdddIdJdJdKœddLdMddNdOdPdQdRdSœ	dTdTdUdVdVdWœdTdTdUdVdVdKœddXdMddNdYœdZdUidZdIidZdXid[œae t¡Zg Zd\d]„ Zd^d^d_d`d`dadbdcd`dddedfdedgdgdhdidjdkœZdld„ Zdmdn„ Zdod	„ Zd|dpd
„Zdqd„ Zdrd„ Z dsd„ Z!dtdu„ Z"dvd„ Z#dwd„ Z$dxd„ Z%d}dyd„Z&dzd„ Z'd{d„ Z(dS )~a)  

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

é   )Ú__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Úbytes)Údoubler   Úlong_doubleÚcharÚsigned_charÚunsigned_charÚshortÚunsigned_shortr   r   Ú	long_longÚunsignedÚcomplex_floatÚcomplex_doubleÚcomplex_long_doubler   Ú	characterZ
NPY_DOUBLEZ	NPY_FLOATZ
NPY_STRINGZ	NPY_UBYTEZNPY_BYTEZ	NPY_SHORTZ
NPY_USHORTZNPY_INTZNPY_UINTZNPY_LONGZ
NPY_CFLOATZNPY_CDOUBLEZNPY_CHAR)r   r   r   r   r   r   r   r   r   r!   r   r    r"   r#   r$   r   r%   ZNPY_LONGDOUBLEZ	NPY_ULONGZNPY_LONGLONGZNPY_ULONGLONG)r   r   r   r   r   r   r   r   r   r!   r   Úunsigned_longr    Úunsigned_long_longr"   r#   r$   r   r%   ÚdÚfÚ1ÚbÚsÚwÚiÚuÚlÚLÚFÚDÚc)r   r   r   r   r   r   r   r   r   r!   r   r    r"   r#   r$   r   r%   ÚgÚBÚhÚHÚIÚqÚQÚGÚSÚNÚy)r   r   r   r   r   r   r   r    r"   r#   r$   r   r%   r   r   )Ú Ú4Ú8Z12Ú16r   r   r    r   r   r!   r'   )	r@   r*   Ú2rA   rB   ú-1z-2z-4z-8r"   r#   r$   )r@   rB   rC   Z24Z32r   )r@   r*   rD   rA   rB   r@   )ÚrealÚintegerr   ZcomplexkindZlogicalzdouble complexzdouble precisionÚbytec                 C   sÆ  t  t¡a| d kr&d} tj | ¡s&d S �zhtd | ¡ƒ t	| dƒ�}t
| ¡  ¡ i i ƒ}W 5 Q R X | ¡ D ]6\}}| ¡ D ]}|| || ¡ < qz|| || ¡ < qj| ¡ D ]Ú}|tkr¾i t|< ||  ¡ D ]¸}|| | tk�rT|t| k�rtd||t| | || | f ƒ || | t| |< td|||| | f ƒ t || | ¡ qÊtd|||| | || | tt ¡ ƒf ƒ qÊqªtdƒ W n0 tk
�rÀ } ztd| ƒ W 5 d }~X Y nX d S )	Nz.f2py_f2cmapzReading 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ÚlowerÚitemsÚkeysÚc2py_mapÚf2cmap_mappedÚappendÚerrmessÚlistÚ	Exception)Zf2cmap_filer)   r(   ÚkZd1Zk1Úmsg© ra   úM/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numpy/f2py/capi_maps.pyÚload_f2cmap_fileµ   sN    
ÿÿ  
 
 
ÿÿrc   z%gz%Lgz%dz%hhuz%hdz%huz%uz%ldz%luz(%g,%g)z	(%Lg,%Lg)z\"%s\"z'%c')r   r   r   r   r   r   r   r   r   r!   r   r&   r    r"   r#   r$   r   r%   c                 C   sð  d}t | ƒrRd| kr| d }n| d }|| d krBt| d | ƒS td| ƒ �nšt| ƒr^|S t| ƒrjdS t| ƒrvdS d| k�rÖ| d  ¡ tk�rÖ| d  ¡ }t| }|d	 }d
| k�rìd| d
 k�rz|| d
 d  }W n4 tk
�r   td| d d| d
 d f ƒ Y nX nÂd| d
 k�rì|d tk�r:t|d  }z|| d
 d  }W n„ tk
�rÒ   |tk�rrt| }z|t	| d
 d ƒ }W nB tk
�rÌ   td|| d
 d ||| d
 d t
 ¡ f ƒ Y nX Y nX nt| ƒ�sìtd|  ƒ |S )z
    Determines C type
    ÚvoidÚresultÚnameÚvarsú,getctype: function %s has no return value?!
r%   r   Útypespecr@   Zkindselectorr   z$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.
)Ú
isfunctionr   r\   ZissubroutineZischaracter_or_characterarrayZisstring_or_stringarrayrV   rM   ÚKeyErrorÚstrrN   ÚgetcwdÚ
isexternal)ÚvarÚctypeÚari   Zf2cmapra   ra   rb   r   ø   s^    

ÿ
 
 ÿÿ
c                 C   s   t  dd| ¡} | S )a^  Rewrite Fortran expression as f2py supported C expression.

    Due to the lack of a proper expression parser in f2py, this
    function uses a heuristic approach that assumes that Fortran
    arithmetic expressions are valid C arithmetic expressions when
    mapping Fortran function calls to the corresponding C function/CPP
    macros calls.

    z\blen\bZ	f2py_slen)ÚreÚsub)Úexprra   ra   rb   Úf2cexpr+  s    rv   c                 C   sÔ   t | ƒrJd| kr| d }n| d }|| d kr>t| d | ƒS td| ƒ t| ƒsbtdt| ƒ ƒ d}d| krœ| d }d|krˆ|d }nd	|krœt|d	 ƒ}t d
|¡s´t d|¡rÐt| ƒrÌtdt| ƒ ƒ d}|S )Nre   rf   rg   z0getstrlength: function %s has no return value?!
z;getstrlength: expected a signature of a string but got: %s
r*   Úcharselectorr   Úlenz\(\s*(\*|:)\s*\)z(\*|:)zMgetstrlength:intent(hide): expected a string with defined length but got: %s
rE   )	Úisstringfunctionr   r\   ÚisstringÚreprrv   rs   ÚmatchÚisintent_hide)rp   rr   rx   ra   ra   rb   r   :  s2    

ÿ
ÿc           	      C   s„  i }t |ƒr4t|ƒs4t|ƒ|d< d|d< d|d< �nLt|ƒrXd|d< d|d< d|d< �n(t|ƒ�r€t |d ¡}d |¡|d< ztt|d ƒƒ|d< W n tk
rª   Y nX d	 |¡|d< tt	|ƒƒ|d< tt	|ƒd
g ƒdd
… |d< t
t	|ƒƒD ]|}g }|| tk�r|| g}n,tD ]&}t d| || ¡�r| |¡ �q|D ](}t |¡t | ¡k�rFd||<  qô�qFqôd\|d< }|D ].}|d }|dk�r‚d|d ||f |d< �q‚|d �rÐ|d d d
… |d< d\|d< }|d D ]|}|d }|dk�rd|d ||f |d< nLt|ƒ�r@td| ƒ d|d |df |d< n|�rätdt| ƒt|ƒf ƒ �qä|d �r€|d d d
… |d< |S )NÚsizeÚ0Úrankr@   Zdimsr*   Ú	dimensionr   ú,éÿÿÿÿr   z	rank*[-1]z.*?\b%s\b.*)r@   rƒ   Zsetdims)r   ú:z(*)z(:)z%s#varname#_Dims[%d]=%s,Z	cbsetdimsz?getarrdims:warning: assumed shape array, using 0 instead of %r
r   z]getarrdims: If in call-back function: array argument %s must have bounded dimensions: got %s
)rz   Úisarrayr   ÚisscalarrJ   Újoinr{   rT   r^   rx   ÚrangeÚdepargsrs   r|   r[   ÚindexÚisintent_inrQ   r\   )	rr   rp   ÚverboseÚretÚdimr.   ÚvÚvar(   ra   ra   rb   r	   V  s„    


  ÿ

  ÿ
ÿ  ÿÿ
c                 C   sŠ  t |ƒrPd|kr|d }n|d }||d kr@t||d | ƒS td| ƒ dS | |  }}d}t|ƒrld}nt|ƒrxd}| }t|ƒr²|d	 D ]$}|d d
… dkrŒ|d
d … } q²qŒd}t|ƒ}	t|ƒrÜt| |ƒ\}}
d|
 }t	|ƒ�r4t|ƒ�rd| |t
|	 t|	 |f }nd| |t
|	 |f }d|t
|	 f }�nNt|ƒ�r„t|ƒ�r^d| |t|ƒ|f }nd| |t|ƒ|f }d|t|ƒf }nþt|ƒ�r|d }tt|ƒƒ}d| ||t|	 d |¡|f }| |k�ræd| |t|	 d |¡f }nd||t|	 d |¡| f }n~t|ƒ�rvd}| tk�rdt|  tk�rddtt|   k�rdtt|   d }|| k�s`d| }nd}d| |f }|}ntd|  ƒ ||fS )Nre   rf   rg   rh   ©r@   r@   r@   Úinputz	in/outputÚintenté   úout=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)r�   z.%s : %s rank-%s array('%s') with bounds (%s)%sr‚   ú)%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%sz7getpydocsign: Could not resolve docsignature for "%s".
)rk   r
   r\   r‹   Úisintent_inoutÚisintent_outr   Úhasinitvaluer   r†   rY   Úc2pycode_maprz   r   r…   r{   rx   r‡   ro   Úlcb_mapÚlcb2_map)rr   rp   ÚafÚsigZsigoutÚoptÚout_ar_   Úinitrq   ÚshowinitrŽ   r€   Zuara   ra   rb   r
   “  sœ    



 ÿ

   ÿ   ÿ
ÿ ý
ÿÿ
*

ÿc                 C   s„   t |ƒ}t|ƒr*t|ƒs*d| t|ƒf }nVt|ƒrJd| t| t| f }n6t|ƒr€|d }tt|ƒƒ}d| |t| d 	|¡f }|S )Nz%%s : rank-0 array(string(len=%s),'c')z%s : rank-0 array(%s,'%s')r�   r–   r‚   )
r   rz   r…   r   r†   rY   r›   r{   rx   r‡   )rr   rp   rq   rŸ   rŽ   r€   ra   ra   rb   r   Ý  s&    ÿ
ÿÿýc                 C   sN  t |ƒrd\}}nd\}}t|ƒ�rF|d }|}t|ƒs@t|ƒrêi }zb|d }d|krzt|dd… ƒ d¡\|d< |d	< n*t|i i ƒ}t|jƒt|j	ƒ |d< |d	< W n$ t
k
rÊ   td
|| f ƒ‚Y nX t|ƒrèd|d |d	 f }n\t |ƒ�rF|�sd\}}|d dk�r(d|dd…  dd¡ }|d dk�rFd|dd…  }||fS )N)z""z''r‘   ú=r‚   r   rƒ   ú@,@úinit.rúinit.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')rz   rš   Ú	iscomplexÚiscomplexarrayr   ÚsplitrT   rm   rF   Úimagr^   Ú
ValueErrorr…   Úreplace)rr   rp   r¢   r£   r�   r�   ra   ra   rb   r   ï  sF    


ÿÿ"
ÿ
 ÿ
c                 C   sD   t | ƒst| ƒr,t| ƒ}| d  d|¡}|S t| ƒs<t| ƒr@dS dS )Nrw   Zf2py_lenr*   )rz   Úisstringarrayr   ÚgetZischaracterZischaracterarray)rp   Úelsizera   ra   rb   Ú
get_elsize  s    r³   c              "   C   sH  | }t |ƒr:|d D ]$}|dd… dkr|dd… } q:q| |t|ƒdœ}g }t ¡ D ]\}}||ƒrV| d| ¡ qV|rŠd |¡|d< nd|d< t|ƒr¤d	|d
< n&|d tkrÂt|d  |d
< nd|d
< t| |ƒ\|d< |d< t	|ƒ�r$t
|ƒ�r$t|ƒ�s$t|d dd… ƒ d¡\|d< |d< t|ƒ�r¾| |d< | tk�ržt|  |d< tt|   d |d< tt|   d |d< tt|   d |d< tt|   d |d< n | |d< td| tt ¡ ƒf ƒ t|ƒ�rÔt|ƒ|d< t|ƒ�rüt|t| |ƒƒ}t |d ¡}|d tk�r&t|d  |d< t|ƒ|d < t|ƒ�rÄtd!t d"td#td$td%td&t
d't t!t"t
ƒƒd(td)td*t#d+t$d,t%d-t t&t"t%ƒƒd.td/t'd/t(d0g"}	g }
t)d1t*|	ƒd2ƒD ]&}|	| |ƒ�r |
 |	|d  ¡ �q t|ƒ�rè|
 d3| |d f ¡ t|ƒ�rd4 t+d5d6„ |d |ƒ¡}|
 d7| ¡ t|ƒ�rBd8| |d d4 |
¡f |d9< n"d:|d | |d d4 |
¡f |d9< t!|ƒ�r”|d t,k�r”d;| t,|d  f |d<< t|ƒ�r®d=| | f |d<< t|ƒ�rÄd>|  |d<< |d t,k�rþd?| t,|d  f |d@< dAt,|d   |dB< t|ƒ�rdC| | f |d@< t-| |ƒ\|dD< |dE< t.|ƒ�rD|dF |dF< |S )Gz†
    varname,ctype,atype
    init,init.r,init.i,pytype
    vardebuginfo,vardebugshowvalue,varshowvalue
    varrformat

    intent
    r“   Nr”   r•   )ÚvarnameZ
outvarnamerq   zF2PY_%sú|ZF2PY_INTENT_INr>   Z
varrformatrq   ÚOr¢   r£   r   rƒ   r¥   r¦   r§   Z	cbnamekeyZcbnameÚ
maxnofargsÚ
nofoptargsZdocstrZcbdocstrZlatexdocstrZcblatexdocstrz5sign2map: Confused: external %s is not in lcb_map%s.
Úlengthr�   Úatyper²   r’   ÚoutputZinoutputÚrequiredÚoptionalZhiddenzcomplex scalarZscalarr   Úarrayzcomplex arrayzstring arrayzcomplex functionÚfunctionÚcallbackZ	auxiliaryr   é   zslen(%s)=%sr‚   c                 S   s   d| |f S )Nz%s|%sra   )Úxr?   ra   ra   rb   Ú<lambda>n  ó    zsign2map.<locals>.<lambda>zdims(%s)zdebug-capi:%s=>%s:%sZvardebuginfozdebug-capi:%s %s=%s:%súdebug-capi:%s=%sZvardebugshowvalueú"debug-capi:slen(%s)=%%d %s=\"%%s\"zdebug-capi:%s=%%pz#name#:%s=%sZvarshowvalueú%sÚshowvalueformatz#name#:slen(%s)=%%d %s=\"%%s\"Ú	pydocsignÚpydocsignoutÚnote)/r™   r   Zisintent_dictrW   r[   r‡   r…   Úc2buildvalue_mapr   rš   rª   r   r¬   ro   rœ   r�   r\   r]   rX   rz   r   Ú
dictappendr	   rJ   Ú
c2capi_mapr³   Ú	debugcapir‹   r˜   Z
isrequiredÚ
isoptionalr}   Zl_andr†   Zl_notr«   r°   Úiscomplexfunctionrk   Úisintent_callbackZisintent_auxrˆ   rx   ÚmapÚcformat_mapr
   Úhasnote)rr   rp   r¡   r_   r�   Zintent_flagsr)   r,   rŽ   ÚilZrlr.   Zddimra   ra   rb   r      sú    	
ÿÿ

 
ÿ


                   õ

ÿ
  ÿ   ÿ

 
ÿ

 ÿ



c           	      C   sø  | d }t | ƒ}|| dd¡| ¡ | ¡ t|ƒtd| ƒ|| ¡ t| ƒpJdt| ƒpTdt| ƒp^ddœ}d|krvd|d< nd|d< d|kr�d	|d
< nd
|d
< i ad| k�r:| d  	¡ D ]„}|t
jkr²t
j| D ]j}|d }d| d | k�r(| d | d  	¡ D ]*}| d | d | |d krü|} �q(qü|d t|< qÊq²n0d| k�rj| d �rjtd|d t| d ƒf ƒ t| tƒ�pxd|d< t| ƒ�rÔd| k�rœ| d }n| d }||d< t|| ƒ\|d< |d< t| d | ƒ|d< t| ƒ�r| d | d |d< dg| d | d< |d tk�r&t|d  |d< nd|d< tdt|d ƒ ƒ t| ƒ�rŒ|d tk�rrd|t|d  f |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< dg| d< |S )%zV
    name,NAME,begintitle,endtitle
    rname,ctype,rformat
    routdebugshowvalue
    rf   Ú_ú\_ú	end of %sr@   )rf   ZtexnameZ
name_lowerÚNAMEÚ
begintitleÚendtitleZfortrannameZFORTRANNAMEZcallstatementÚusercodeÚ	usercode1Ú	F_FUNC_USÚF_FUNCZF_WRAPPEDFUNC_USZF_WRAPPEDFUNCZuser   rÓ   r   Z	externalszMroutsign2map: Confused: function %s has externals %s but no "use" statement.
Zcallprotoargumentre   ÚrnamerÉ   rÊ   rg   rq   rË   Z
resultnoteúSee elsewhere.Zrformatr¶   z.routsign2map: no c2buildvalue key for type %s
rÅ   ZroutdebugshowvaluerÆ   ZrlengthrE   zzroutsign2map: expected explicit specification of the length of the string returned by the fortran function %s; taking 10.
Ú10)Zgetfortrannamer¯   rV   ÚupperÚgentitleZgetcallstatementÚgetusercodeÚgetusercode1rœ   rX   r   Zcb_mapr\   r{   Zgetcallprotoargumentrk   r
   r   ZhasresultnoterÌ   rÏ   rÔ   ry   r   rÕ   )	Úroutrf   Úfnamer�   r/   ÚunÚlnr_   rr   ra   ra   rb   r   Š  s˜    




ö



 
ÿ




ÿ
 
ÿ

 ÿ


ÿ

c                 C   sü   t | ƒr.| d | d  ¡ | d  dd¡dœ}n$| d | d  ¡ | d  dd¡dœ}t| ƒp\g |d< t| ƒrv| d |d< t| ƒp€d|d	< t| ƒp�d|d
< | d r¸t| d d ƒp°d|d< nd|d< t| ƒpÊd|d< d| krä| d |d< d| krø| d |d< |S )z
    modulename
    rf   r×   rØ   )Zf90modulenameZF90MODULENAMEZtexf90modulename)Ú
modulenameZ
MODULENAMEZtexmodulenameZrestdocrË   r@   rÝ   rÞ   Úbodyr   Zinterface_usercodeZpymethoddefZcoutputZf2py_wrapper_output)Úismodulerä   r¯   Z
getrestdocrÕ   ræ   rç   Zgetpymethoddef)Úmr�   ra   ra   rb   r   Û  s.    
þ
þc                 C   s¸   d| i}|d |d< t |ƒ|d< |d tkrHt|d  |d< t|ƒ|d< |d tkrhdt|d   |d< t|ƒr€t|t| |ƒƒ}t| |ƒ\|d< |d	< t|ƒr´|d
 |d
< dg|d
< |S )Nr´   Z	varname_irq   rº   r²   rÇ   rÈ   rÉ   rÊ   rË   râ   )	r   rÎ   r³   rÔ   r…   rÍ   r	   r
   rÕ   )rr   rp   rŠ   r�   ra   ra   rb   r   ø  s    
c                 C   sœ  d| d |f ddœ}t | ƒr`d| d kr0d}nd}d|| d  ¡ | d  ¡ f |d	< d
|d< n|d |d	< d|d< | d |d< t|d ƒ|d< td|d  ƒ|d< t| ƒ|d< d|d< |d dkrÎd|d< n|d |d< |d dk�rt| ƒrúd|d< nd|d< |d tk�r$dt|d   |d< t| ƒ�r:t| ƒ|d< t	| ƒ�rÊd| k�rX| d }n| d }t
| d | ƒ�r˜| d | d |d< dg| d | d< ||d< t|| ƒ\|d< |d < t| ƒ�rêd!|d< n t
| ƒ�rê| d |d< dg| d< d"}d"}d#| k�rLd| k�rL| d# D ]<}| d | }tttƒ|ƒ�r|d$ }t|ƒ�r|d$ }�qt|ƒ|d%< t|ƒ|d&< t
| ƒ�r˜t	| ƒ�r˜d| k�r˜| d |d'< dg| d< |S )(z\
    name,begintitle,endtitle,argname
    ctype,rctype,maxnofargs,nofoptargs,returncptr
    zcb_%s_in_%srf   r@   )rf   Ú
returncptrr×   rß   rà   z	%s(%s,%s)ZcallbacknameZexternZstaticr—   rÛ   rÙ   rÜ   rq   rd   Zrctyper   z3
#ifdef F2PY_CB_RETURNCOMPLEX
return_value=
#endif
rð   zreturn_value=rÇ   rÈ   Z	strlengthre   rg   rË   râ   rá   rÉ   rÊ   z8
#ifdef F2PY_CB_RETURNCOMPLEX
#ctype#
#else
void
#endif
r   Úargsr   r·   r¸   Zroutnote)rÒ   rV   rä   rå   r   rÑ   rÔ   ry   r   rk   rÕ   r
   Zl_orr‹   r˜   rÐ   r{   )rè   Zumr�   rà   rr   Znofargsr¸   rp   ra   ra   rb   r   
  sz    ÿ

þÿ












c                 C   sâ   | t |ƒdœ}t|ƒrd|d< |d tkrFt|d  |d< t|ƒ|d< |d tkrfdt|d   |d< t|ƒr€t|t| |ƒƒ}nt|ƒrœt	|ƒ|d< d	|d
< t
| |ƒ\|d< |d< t|ƒrÐ|d |d< dg|d< t| |ƒ|d< |S )N)r´   rq   r   rq   rº   r²   rÇ   rÈ   r~   r*   r€   rÉ   rÊ   rË   râ   Z	arrdocstr)r   r°   rÎ   r³   rÔ   r…   rÍ   r	   rz   r   r
   rÕ   r   )rr   rp   r�   ra   ra   rb   r   \  s&    
)r   )N))Ú__doc__r@   r   ÚversionZf2py_versionrJ   rs   rN   Zcrackfortranr   r   ZauxfuncsÚ__all__Zusing_newcorer‰   rœ   r�   rY   rÎ   r›   rÌ   rM   rK   rL   rZ   rc   rÔ   r   rv   r   r	   r
   r   r   r³   r   r   r   r   r   r   ra   ra   ra   rb   Ú<module>   s�           ýððîðîô ÿ   ý þ þÿð
,ï3
=J#jQ
R