summaryrefslogtreecommitdiff
path: root/numpy/f2py/f90mod_rules.py
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2015-07-25 22:49:53 -0600
committerCharles Harris <charlesr.harris@gmail.com>2015-07-25 23:18:23 -0600
commita0121573e6685f09e5f613280d616070b8ff99cb (patch)
tree2cd329c4b970e6c6de383c1e8ac24e8f29454658 /numpy/f2py/f90mod_rules.py
parentb80d1f979efb528e855263a38b389cebd3eb90e1 (diff)
downloadnumpy-a0121573e6685f09e5f613280d616070b8ff99cb.tar.gz
STY: Make PEP8 fixes in numpy/f2py
Decided to bite the bullet on this one. The code is certainly more readable, so should be easier to fix if we need to.
Diffstat (limited to 'numpy/f2py/f90mod_rules.py')
-rw-r--r--numpy/f2py/f90mod_rules.py218
1 files changed, 125 insertions, 93 deletions
diff --git a/numpy/f2py/f90mod_rules.py b/numpy/f2py/f90mod_rules.py
index 21e1bd4a9..ce7e61750 100644
--- a/numpy/f2py/f90mod_rules.py
+++ b/numpy/f2py/f90mod_rules.py
@@ -17,28 +17,33 @@ from __future__ import division, absolute_import, print_function
__version__ = "$Revision: 1.27 $"[10:-1]
-f2py_version='See `f2py -v`'
+f2py_version = 'See `f2py -v`'
import numpy as np
from .auxfuncs import (
- applyrules, dictappend, hasbody,hasnote, isallocatable, isfunction,
- isintent_hide, ismodule, isprivate, isroutine,isstringarray, l_or,
+ applyrules, dictappend, hasbody, hasnote, isallocatable, isfunction,
+ isintent_hide, ismodule, isprivate, isroutine, isstringarray, l_or,
outmess
)
from . import capi_maps
from . import func2subr
from .crackfortran import undo_rmbadname, undo_rmbadname1
-options={}
+options = {}
+
def findf90modules(m):
- if ismodule(m): return [m]
- if not hasbody(m): return []
+ if ismodule(m):
+ return [m]
+ if not hasbody(m):
+ return []
ret = []
for b in m['body']:
- if ismodule(b): ret.append(b)
- else: ret=ret+findf90modules(b)
+ if ismodule(b):
+ ret.append(b)
+ else:
+ ret = ret + findf90modules(b)
return ret
fgetdims1 = """\
@@ -59,7 +64,7 @@ fgetdims1 = """\
end if
if ((.not.allocated(d)).and.(s(1).ge.1)) then""" % np.intp().itemsize
-fgetdims2="""\
+fgetdims2 = """\
end if
if (allocated(d)) then
do i=1,r
@@ -69,7 +74,7 @@ fgetdims2="""\
flag = 1
call f2pysetdata(d,allocated(d))"""
-fgetdims2_sa="""\
+fgetdims2_sa = """\
end if
if (allocated(d)) then
do i=1,r
@@ -84,41 +89,53 @@ fgetdims2_sa="""\
def buildhooks(pymod):
global fgetdims1, fgetdims2
from . import rules
- ret = {'f90modhooks':[],'initf90modhooks':[],'body':[],
- 'need':['F_FUNC', 'arrayobject.h'],
- 'separatorsfor':{'includes0':'\n','includes':'\n'},
- 'docs':['"Fortran 90/95 modules:\\n"'],
- 'latexdoc':[]}
- fhooks=['']
- def fadd(line,s=fhooks): s[0] = '%s\n %s'%(s[0], line)
+ ret = {'f90modhooks': [], 'initf90modhooks': [], 'body': [],
+ 'need': ['F_FUNC', 'arrayobject.h'],
+ 'separatorsfor': {'includes0': '\n', 'includes': '\n'},
+ 'docs': ['"Fortran 90/95 modules:\\n"'],
+ 'latexdoc': []}
+ fhooks = ['']
+
+ def fadd(line, s=fhooks):
+ s[0] = '%s\n %s' % (s[0], line)
doc = ['']
- def dadd(line,s=doc): s[0] = '%s\n%s'%(s[0], line)
+
+ def dadd(line, s=doc):
+ s[0] = '%s\n%s' % (s[0], line)
for m in findf90modules(pymod):
- sargs, fargs, efargs, modobjs, notvars, onlyvars=[], [], [], [], [m['name']], []
+ sargs, fargs, efargs, modobjs, notvars, onlyvars = [], [], [], [], [
+ m['name']], []
sargsp = []
ifargs = []
mfargs = []
if hasbody(m):
- for b in m['body']: notvars.append(b['name'])
+ for b in m['body']:
+ notvars.append(b['name'])
for n in m['vars'].keys():
var = m['vars'][n]
if (n not in notvars) and (not l_or(isintent_hide, isprivate)(var)):
onlyvars.append(n)
mfargs.append(n)
- outmess('\t\tConstructing F90 module support for "%s"...\n'%(m['name']))
+ outmess('\t\tConstructing F90 module support for "%s"...\n' %
+ (m['name']))
if onlyvars:
- outmess('\t\t Variables: %s\n'%(' '.join(onlyvars)))
- chooks=['']
- def cadd(line,s=chooks): s[0] = '%s\n%s'%(s[0], line)
- ihooks=['']
- def iadd(line,s=ihooks): s[0] = '%s\n%s'%(s[0], line)
-
- vrd=capi_maps.modsign2map(m)
- cadd('static FortranDataDef f2py_%s_def[] = {'%(m['name']))
- dadd('\\subsection{Fortran 90/95 module \\texttt{%s}}\n'%(m['name']))
+ outmess('\t\t Variables: %s\n' % (' '.join(onlyvars)))
+ chooks = ['']
+
+ def cadd(line, s=chooks):
+ s[0] = '%s\n%s' % (s[0], line)
+ ihooks = ['']
+
+ def iadd(line, s=ihooks):
+ s[0] = '%s\n%s' % (s[0], line)
+
+ vrd = capi_maps.modsign2map(m)
+ cadd('static FortranDataDef f2py_%s_def[] = {' % (m['name']))
+ dadd('\\subsection{Fortran 90/95 module \\texttt{%s}}\n' % (m['name']))
if hasnote(m):
note = m['note']
- if isinstance(note, list): note='\n'.join(note)
+ if isinstance(note, list):
+ note = '\n'.join(note)
dadd(note)
if onlyvars:
dadd('\\begin{description}')
@@ -130,41 +147,49 @@ def buildhooks(pymod):
dm = capi_maps.getarrdims(n, var)
dms = dm['dims'].replace('*', '-1').strip()
dms = dms.replace(':', '-1').strip()
- if not dms: dms='-1'
+ if not dms:
+ dms = '-1'
use_fgetdims2 = fgetdims2
if isstringarray(var):
if 'charselector' in var and 'len' in var['charselector']:
- cadd('\t{"%s",%s,{{%s,%s}},%s},'\
- %(undo_rmbadname1(n), dm['rank'], dms, var['charselector']['len'], at))
+ cadd('\t{"%s",%s,{{%s,%s}},%s},'
+ % (undo_rmbadname1(n), dm['rank'], dms, var['charselector']['len'], at))
use_fgetdims2 = fgetdims2_sa
else:
- cadd('\t{"%s",%s,{{%s}},%s},'%(undo_rmbadname1(n), dm['rank'], dms, at))
+ cadd('\t{"%s",%s,{{%s}},%s},' %
+ (undo_rmbadname1(n), dm['rank'], dms, at))
else:
- cadd('\t{"%s",%s,{{%s}},%s},'%(undo_rmbadname1(n), dm['rank'], dms, at))
- dadd('\\item[]{{}\\verb@%s@{}}'%(capi_maps.getarrdocsign(n, var)))
+ cadd('\t{"%s",%s,{{%s}},%s},' %
+ (undo_rmbadname1(n), dm['rank'], dms, at))
+ dadd('\\item[]{{}\\verb@%s@{}}' %
+ (capi_maps.getarrdocsign(n, var)))
if hasnote(var):
note = var['note']
- if isinstance(note, list): note='\n'.join(note)
- dadd('--- %s'%(note))
+ if isinstance(note, list):
+ note = '\n'.join(note)
+ dadd('--- %s' % (note))
if isallocatable(var):
- fargs.append('f2py_%s_getdims_%s'%(m['name'], n))
+ fargs.append('f2py_%s_getdims_%s' % (m['name'], n))
efargs.append(fargs[-1])
- sargs.append('void (*%s)(int*,int*,void(*)(char*,int*),int*)'%(n))
+ sargs.append(
+ 'void (*%s)(int*,int*,void(*)(char*,int*),int*)' % (n))
sargsp.append('void (*)(int*,int*,void(*)(char*,int*),int*)')
- iadd('\tf2py_%s_def[i_f2py++].func = %s;'%(m['name'], n))
- fadd('subroutine %s(r,s,f2pysetdata,flag)'%(fargs[-1]))
- fadd('use %s, only: d => %s\n'%(m['name'], undo_rmbadname1(n)))
+ iadd('\tf2py_%s_def[i_f2py++].func = %s;' % (m['name'], n))
+ fadd('subroutine %s(r,s,f2pysetdata,flag)' % (fargs[-1]))
+ fadd('use %s, only: d => %s\n' %
+ (m['name'], undo_rmbadname1(n)))
fadd('integer flag\n')
- fhooks[0]=fhooks[0]+fgetdims1
- dms = eval('range(1,%s+1)'%(dm['rank']))
- fadd(' allocate(d(%s))\n'%(','.join(['s(%s)'%i for i in dms])))
- fhooks[0]=fhooks[0]+use_fgetdims2
- fadd('end subroutine %s'%(fargs[-1]))
+ fhooks[0] = fhooks[0] + fgetdims1
+ dms = eval('range(1,%s+1)' % (dm['rank']))
+ fadd(' allocate(d(%s))\n' %
+ (','.join(['s(%s)' % i for i in dms])))
+ fhooks[0] = fhooks[0] + use_fgetdims2
+ fadd('end subroutine %s' % (fargs[-1]))
else:
fargs.append(n)
- sargs.append('char *%s'%(n))
+ sargs.append('char *%s' % (n))
sargsp.append('char*')
- iadd('\tf2py_%s_def[i_f2py++].data = %s;'%(m['name'], n))
+ iadd('\tf2py_%s_def[i_f2py++].data = %s;' % (m['name'], n))
if onlyvars:
dadd('\\end{description}')
if hasbody(m):
@@ -172,74 +197,81 @@ def buildhooks(pymod):
if not isroutine(b):
print('Skipping', b['block'], b['name'])
continue
- modobjs.append('%s()'%(b['name']))
+ modobjs.append('%s()' % (b['name']))
b['modulename'] = m['name']
- api, wrap=rules.buildapi(b)
+ api, wrap = rules.buildapi(b)
if isfunction(b):
- fhooks[0]=fhooks[0]+wrap
- fargs.append('f2pywrap_%s_%s'%(m['name'], b['name']))
- #efargs.append(fargs[-1])
+ fhooks[0] = fhooks[0] + wrap
+ fargs.append('f2pywrap_%s_%s' % (m['name'], b['name']))
+ # efargs.append(fargs[-1])
ifargs.append(func2subr.createfuncwrapper(b, signature=1))
else:
if wrap:
- fhooks[0]=fhooks[0]+wrap
- fargs.append('f2pywrap_%s_%s'%(m['name'], b['name']))
- ifargs.append(func2subr.createsubrwrapper(b, signature=1))
+ fhooks[0] = fhooks[0] + wrap
+ fargs.append('f2pywrap_%s_%s' % (m['name'], b['name']))
+ ifargs.append(
+ func2subr.createsubrwrapper(b, signature=1))
else:
fargs.append(b['name'])
mfargs.append(fargs[-1])
- #if '--external-modroutines' in options and options['--external-modroutines']:
+ # if '--external-modroutines' in options and options['--external-modroutines']:
# outmess('\t\t\tapplying --external-modroutines for %s\n'%(b['name']))
# efargs.append(fargs[-1])
- api['externroutines']=[]
- ar=applyrules(api, vrd)
- ar['docs']=[]
- ar['docshort']=[]
- ret=dictappend(ret, ar)
- cadd('\t{"%s",-1,{{-1}},0,NULL,(void *)f2py_rout_#modulename#_%s_%s,doc_f2py_rout_#modulename#_%s_%s},'%(b['name'], m['name'], b['name'], m['name'], b['name']))
- sargs.append('char *%s'%(b['name']))
+ api['externroutines'] = []
+ ar = applyrules(api, vrd)
+ ar['docs'] = []
+ ar['docshort'] = []
+ ret = dictappend(ret, ar)
+ cadd('\t{"%s",-1,{{-1}},0,NULL,(void *)f2py_rout_#modulename#_%s_%s,doc_f2py_rout_#modulename#_%s_%s},' %
+ (b['name'], m['name'], b['name'], m['name'], b['name']))
+ sargs.append('char *%s' % (b['name']))
sargsp.append('char *')
- iadd('\tf2py_%s_def[i_f2py++].data = %s;'%(m['name'], b['name']))
+ iadd('\tf2py_%s_def[i_f2py++].data = %s;' %
+ (m['name'], b['name']))
cadd('\t{NULL}\n};\n')
iadd('}')
- ihooks[0]='static void f2py_setup_%s(%s) {\n\tint i_f2py=0;%s'%(m['name'], ','.join(sargs), ihooks[0])
+ ihooks[0] = 'static void f2py_setup_%s(%s) {\n\tint i_f2py=0;%s' % (
+ m['name'], ','.join(sargs), ihooks[0])
if '_' in m['name']:
- F_FUNC='F_FUNC_US'
+ F_FUNC = 'F_FUNC_US'
else:
- F_FUNC='F_FUNC'
- iadd('extern void %s(f2pyinit%s,F2PYINIT%s)(void (*)(%s));'\
- %(F_FUNC, m['name'], m['name'].upper(), ','.join(sargsp)))
- iadd('static void f2py_init_%s(void) {'%(m['name']))
- iadd('\t%s(f2pyinit%s,F2PYINIT%s)(f2py_setup_%s);'\
- %(F_FUNC, m['name'], m['name'].upper(), m['name']))
+ F_FUNC = 'F_FUNC'
+ iadd('extern void %s(f2pyinit%s,F2PYINIT%s)(void (*)(%s));'
+ % (F_FUNC, m['name'], m['name'].upper(), ','.join(sargsp)))
+ iadd('static void f2py_init_%s(void) {' % (m['name']))
+ iadd('\t%s(f2pyinit%s,F2PYINIT%s)(f2py_setup_%s);'
+ % (F_FUNC, m['name'], m['name'].upper(), m['name']))
iadd('}\n')
- ret['f90modhooks']=ret['f90modhooks']+chooks+ihooks
- ret['initf90modhooks']=['\tPyDict_SetItemString(d, "%s", PyFortranObject_New(f2py_%s_def,f2py_init_%s));'%(m['name'], m['name'], m['name'])]+ret['initf90modhooks']
+ ret['f90modhooks'] = ret['f90modhooks'] + chooks + ihooks
+ ret['initf90modhooks'] = ['\tPyDict_SetItemString(d, "%s", PyFortranObject_New(f2py_%s_def,f2py_init_%s));' % (
+ m['name'], m['name'], m['name'])] + ret['initf90modhooks']
fadd('')
- fadd('subroutine f2pyinit%s(f2pysetupfunc)'%(m['name']))
+ fadd('subroutine f2pyinit%s(f2pysetupfunc)' % (m['name']))
#fadd('use %s'%(m['name']))
if mfargs:
for a in undo_rmbadname(mfargs):
- fadd('use %s, only : %s'%(m['name'], a))
+ fadd('use %s, only : %s' % (m['name'], a))
if ifargs:
- fadd(' '.join(['interface']+ifargs))
+ fadd(' '.join(['interface'] + ifargs))
fadd('end interface')
fadd('external f2pysetupfunc')
if efargs:
for a in undo_rmbadname(efargs):
- fadd('external %s'%(a))
- fadd('call f2pysetupfunc(%s)'%(','.join(undo_rmbadname(fargs))))
- fadd('end subroutine f2pyinit%s\n'%(m['name']))
+ fadd('external %s' % (a))
+ fadd('call f2pysetupfunc(%s)' % (','.join(undo_rmbadname(fargs))))
+ fadd('end subroutine f2pyinit%s\n' % (m['name']))
- dadd('\n'.join(ret['latexdoc']).replace(r'\subsection{', r'\subsubsection{'))
+ dadd('\n'.join(ret['latexdoc']).replace(
+ r'\subsection{', r'\subsubsection{'))
- ret['latexdoc']=[]
- ret['docs'].append('"\t%s --- %s"'%(m['name'],
- ','.join(undo_rmbadname(modobjs))))
+ ret['latexdoc'] = []
+ ret['docs'].append('"\t%s --- %s"' % (m['name'],
+ ','.join(undo_rmbadname(modobjs))))
- ret['routine_defs']=''
- ret['doc']=[]
- ret['docshort']=[]
- ret['latexdoc']=doc[0]
- if len(ret['docs'])<=1: ret['docs']=''
+ ret['routine_defs'] = ''
+ ret['doc'] = []
+ ret['docshort'] = []
+ ret['latexdoc'] = doc[0]
+ if len(ret['docs']) <= 1:
+ ret['docs'] = ''
return ret, fhooks[0]