Ńņ
,ĻŠKc           @   s   d  Z  d d d !Z d Z d d k Z d d k Z e i i Z e i i Z	 e i Z
 d d k Th d d 6d	 d
 6d g d 6Z d   Z d   Z d S(   sf  

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
s   $Revision: 1.3 $i
   i’’’’s   See `f2py -v`N(   t   *sŽ  
#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;
}
t   bodysC   	{"get_#name#",#apiname#,METH_VARARGS|METH_KEYWORDS,doc_#apiname#},t   methodt	   F_MODFUNCt   needc         C   sź  h  } t  d |  d  h  } h  } d | j ou xr | d i   D]\ } | d | | j o/ t  d | d | | | | d | f  qB | | | d | <qB Wn d | j o® | d o£ xä | d i   D] } | d | |  d j oO | | d | | j o | d | | | <qYt  d | | d | f  qĻ t  d | | d | f  qĻ WnE xA |  d i   D]/ } | | j o | | | | <qr| | | <qrWx> | i   D]0 } t | t | | | |  d |  d   } q²W| S(	   NsL   		Building use variable hooks for module "%s" (feature only for F90/F95)...
t   namet   maps:   			Variable "%s<=%s" is already mapped by "%s". Skipping.
t   onlyt   varss%   			Ignoring map "%s=>%s". See above.
s2   			No definition for variable "%s=>%s". Skipping.
(   t   outmesst   keyst
   dictappendt   buildusevar(   t   mt   rt   rett   varsmapt   revmapt   kt   v(    (    sD   P:\graphics\Tools\Python26\Lib\site-packages\numpy\f2py\use_rules.pyt   buildusevars6   s6     /  $  .c   
      C   s  t  d |  | f  h  } h	 |  d 6| d 6| i   d 6| d 6| i   d 6|  i d d  d	 6t d
 |  | f  d 6t d |  | f  d 6d | | f d 6} h
 d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d  d! 6d" d# 6} |  | d$ <x3 | i   D]% } | d$ i | | |  | d$ <qWt | |  o | | d% | d% <n t h  |  } | | }	 |  G| G| | GHt t |  } | S(&   Ns:   			Constructing wrapper function for variable "%s=>%s"...
R   t   realnamet   REALNAMEt   usemodulenamet   USEMODULENAMEt   _s   \_t   texnames   %s=>%st
   begintitles   end of %s=>%st   endtitles   #modulename#_use_%s_from_%st   apinamet   Roi    t   Rii   t   Riii   t   Riiii   t   Rivi   t   Rvi   t   Rvii   t   Rviii   t   Rviiii   t   Rixi	   t   texnamenamet   note(	   R	   t   uppert   replacet   gentitleR
   t   hasnoteR   t
   applyrulest   usemodule_rules(
   R   R   R   R   R   t   vrdt   nummapt   it   rdt   var(    (    sD   P:\graphics\Tools\Python26\Lib\site-packages\numpy\f2py\use_rules.pyR   T   s.    
L
 # 
(   t   __doc__t   __version__t   f2py_versiont   pprintt   syst   stderrt   writet   errmesst   stdoutR	   t   showt   auxfuncsR/   R   R   (    (    (    sD   P:\graphics\Tools\Python26\Lib\site-packages\numpy\f2py\use_rules.pyt   <module>   s   	
	