B
    GŽ0d  ã               @   sR   d Z ddd… ZdZddlmZmZmZmZmZ ddd	gd
œZ	dd„ Z
dd„ ZdS )ag  

Build 'use others module data' mechanism for f2py2e.

Unfinished.

Copyright 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: 2000/09/10 12:35:43 $
Pearu Peterson

z$Revision: 1.3 $é
   éÿÿÿÿzSee `f2py -v`é   )Ú
applyrulesÚ
dictappendÚgentitleÚhasnoteÚoutmessaÞ  
#begintitle#
static char doc_#apiname#[] = "\
Variable wrapper signature:\n\
	 #name# = get_#name#()\n\
Arguments:\n\
#docstr#";
extern F_MODFUNC(#usemodulename#,#USEMODULENAME#,#realname#,#REALNAME#);
static PyObject *#apiname#(PyObject *capi_self, PyObject *capi_args) {
/*#decl#*/
	if (!PyArg_ParseTuple(capi_args, "")) goto capi_fail;
printf("c: %d\n",F_MODFUNC(#usemodulename#,#USEMODULENAME#,#realname#,#REALNAME#));
	return Py_BuildValue("");
capi_fail:
	return NULL;
}
zC	{"get_#name#",#apiname#,METH_VARARGS|METH_KEYWORDS,doc_#apiname#},Z	F_MODFUNC)ÚbodyÚmethodZneedc          	   C   sŠ  i }t d| d  ƒ i }i }d|kr‚x\|d  ¡ D ]L}|d | |krnt d|d | |||d |  f ƒ q2|||d | < q2W d|kr|d rxº|d  ¡ D ]p}|d | | d krü||d |  |krâ|d | ||< nt d||d | f ƒ q¤t d||d | f ƒ q¤W n8x6| d  ¡ D ]&}||krD|| ||< n|||< q(W x2| ¡ D ]&}t|t||| | d | d ƒƒ}q\W |S )	NzL		Building use variable hooks for module "%s" (feature only for F90/F95)...
ÚnameÚmapz:			Variable "%s<=%s" is already mapped by "%s". Skipping.
ÚonlyÚvarsz%			Ignoring map "%s=>%s". See above.
z2			No definition for variable "%s=>%s". Skipping.
)r   Úkeysr   Úbuildusevar)ÚmÚrÚretZvarsmapZrevmapÚkÚv© r   úF/var/www/html/venv/lib/python3.7/site-packages/numpy/f2py/use_rules.pyÚbuildusevars4   s6    $
&r   c       	      C   sð   t d| |f ƒ i }| || ¡ || ¡ |  dd¡td| |f ƒtd| |f ƒd||f dœ	}dd	d
ddddddddœ
}| |d< x,| ¡ D ] }|d  t|ƒ|| ¡|d< qˆW t|| ƒrÈ|| d |d< ti |ƒ}t| ||| ƒ t	t
|ƒ}|S )Nz:			Constructing wrapper function for variable "%s=>%s"...
Ú_z\_z%s=>%szend of %s=>%sz#modulename#_use_%s_from_%s)	r   ÚrealnameZREALNAMEÚusemodulenameZUSEMODULENAMEZtexnameZ
begintitleZendtitleZapinameZRoZRiZRiiZRiiiZRivZRvZRviZRviiZRviiiZRix)
é    r   é   é   é   é   é   é   é   é	   ZtexnamenameZnote)r   ÚupperÚreplacer   r   Úreprr   r   Úprintr   Úusemodule_rules)	r   r   r   r   r   ZvrdZnummapÚiÚrdr   r   r   r   X   s.    

 

r   N)Ú__doc__Ú__version__Zf2py_versionZauxfuncsr   r   r   r   r   r)   r   r   r   r   r   r   Ú<module>   s   
$