ó
¢áSc           @` s¬   d  Z  d d l m Z m Z m Z d d d !Z d Z d d l Z d d l Z e j	 j
 Z e j j
 Z e j Z d d	 l Ti d
 d 6d d 6d g d 6Z d „  Z d „  Z d S(   sg  

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

i    (   t   divisiont   absolute_importt   print_functions   $Revision: 1.3 $i
   iÿÿÿÿs   See `f2py -v`Ni   (   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Ý  i  } t  d |  d ƒ i  } i  } d | k r¢ xo | d j ƒ  D]Z } | d | | k r‰ t  d | d | | | | d | f ƒ qA | | | d | <qA Wn  d | k rV| d rVxÝ | d j ƒ  D]† } | d | |  d k r3| | d | | k r| d | | | <qOt  d | | d | f ƒ qÉ t  d | | d | f ƒ qÉ WnB x? |  d j ƒ  D]- } | | k rŠ| | | | <qg| | | <qgWx> | j ƒ  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(    (    sN   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/f2py/use_rules.pyt   buildusevars8   s.    .#.c   
      C` s—  t  d |  | f ƒ i  } i	 |  d 6| d 6| j ƒ  d 6| d 6| j ƒ  d 6|  j d d ƒ d	 6t d
 |  | f ƒ d 6t d |  | f ƒ d 6d | | f d 6} i
 d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d  d! 6d" d# 6} |  | d$ <x8 | j ƒ  D]* } | d$ j t | ƒ | | ƒ | d$ <qWt | | ƒ rW| | d% | d% <n  t i  | ƒ } | | }	 t |  | | | ƒ t	 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   reprt   hasnoteR   t   printt
   applyrulest   usemodule_rules(
   R   R   R   R   R   t   vrdt   nummapt   it   rdt   var(    (    sN   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/f2py/use_rules.pyR   V   s,    
L
( 
(   t   __doc__t
   __future__R    R   R   t   __version__t   f2py_versiont   pprintt   syst   stderrt   writet   errmesst   stdoutR   t   showt   auxfuncsR4   R   R   (    (    (    sN   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/f2py/use_rules.pyt   <module>   s   	
	