summaryrefslogtreecommitdiff
path: root/numpy/f2py
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2015-07-29 14:12:32 -0600
committerCharles Harris <charlesr.harris@gmail.com>2015-07-29 14:12:32 -0600
commitd676616cb5ddde980734e2b60569a69912983940 (patch)
tree749f0599e852adc6d59fdc676e15e1b6262e4d4b /numpy/f2py
parent0fa1a9fa0a54fce6e741333308bdafa83c0663b2 (diff)
downloadnumpy-d676616cb5ddde980734e2b60569a69912983940.tar.gz
STY: Break some long lines in numpy/f2py/*.py.
The fixes are generated by autopep8, which uses line continuation. There are 441 cases that it is unable to handle, involving strings, and that is more, and more delicate, work than I want to do at this time. The line continuation characters at least mark some of the long lines.
Diffstat (limited to 'numpy/f2py')
-rw-r--r--numpy/f2py/auxfuncs.py45
-rw-r--r--numpy/f2py/capi_maps.py34
-rw-r--r--numpy/f2py/cb_rules.py1
-rwxr-xr-xnumpy/f2py/crackfortran.py27
-rw-r--r--numpy/f2py/f2py_testing.py1
-rw-r--r--numpy/f2py/f90mod_rules.py5
-rw-r--r--numpy/f2py/func2subr.py6
-rw-r--r--numpy/f2py/rules.py53
8 files changed, 50 insertions, 122 deletions
diff --git a/numpy/f2py/auxfuncs.py b/numpy/f2py/auxfuncs.py
index 9e6a393c3..b64aaa50d 100644
--- a/numpy/f2py/auxfuncs.py
+++ b/numpy/f2py/auxfuncs.py
@@ -71,7 +71,8 @@ def debugcapi(var):
def _isstring(var):
- return 'typespec' in var and var['typespec'] == 'character' and (not isexternal(var))
+ return 'typespec' in var and var['typespec'] == 'character' and \
+ not isexternal(var)
def isstring(var):
@@ -87,14 +88,13 @@ def isstringarray(var):
def isarrayofstrings(var):
- # leaving out '*' for now so that
- # `character*(*) a(m)` and `character a(m,*)`
- # are treated differently. Luckily `character**` is illegal.
+ # leaving out '*' for now so that `character*(*) a(m)` and `character
+ # a(m,*)` are treated differently. Luckily `character**` is illegal.
return isstringarray(var) and var['dimension'][-1] == '(*)'
def isarray(var):
- return 'dimension' in var and (not isexternal(var))
+ return 'dimension' in var and not isexternal(var)
def isscalar(var):
@@ -102,7 +102,8 @@ def isscalar(var):
def iscomplex(var):
- return isscalar(var) and var.get('typespec') in ['complex', 'double complex']
+ return isscalar(var) and \
+ var.get('typespec') in ['complex', 'double complex']
def islogical(var):
@@ -190,7 +191,8 @@ def islong_complex(var):
def iscomplexarray(var):
- return isarray(var) and var.get('typespec') in ['complex', 'double complex']
+ return isarray(var) and \
+ var.get('typespec') in ['complex', 'double complex']
def isint1array(var):
@@ -251,16 +253,11 @@ def ismoduleroutine(rout):
def ismodule(rout):
- return ('block' in rout and 'module' == rout['block'])
+ return 'block' in rout and 'module' == rout['block']
def isfunction(rout):
- return ('block' in rout and 'function' == rout['block'])
-
-# def isfunction_wrap(rout):
-# return wrapfuncs and (iscomplexfunction(rout) or isstringfunction(rout))
-# and (not isexternal(rout))
-
+ return 'block' in rout and 'function' == rout['block']
def isfunction_wrap(rout):
if isintent_c(rout):
@@ -269,7 +266,7 @@ def isfunction_wrap(rout):
def issubroutine(rout):
- return ('block' in rout and 'subroutine' == rout['block'])
+ return 'block' in rout and 'subroutine' == rout['block']
def issubroutine_wrap(rout):
@@ -372,7 +369,8 @@ def hasexternals(rout):
def isthreadsafe(rout):
- return 'f2pyenhancements' in rout and 'threadsafe' in rout['f2pyenhancements']
+ return 'f2pyenhancements' in rout and \
+ 'threadsafe' in rout['f2pyenhancements']
def hasvariables(rout):
@@ -380,11 +378,12 @@ def hasvariables(rout):
def isoptional(var):
- return ('attrspec' in var and 'optional' in var['attrspec'] and 'required' not in var['attrspec']) and isintent_nothide(var)
+ return ('attrspec' in var and 'optional' in var['attrspec'] and
+ 'required' not in var['attrspec']) and isintent_nothide(var)
def isexternal(var):
- return ('attrspec' in var and 'external' in var['attrspec'])
+ return 'attrspec' in var and 'external' in var['attrspec']
def isrequired(var):
@@ -410,7 +409,9 @@ def isintent_in(var):
def isintent_inout(var):
- return 'intent' in var and ('inout' in var['intent'] or 'outin' in var['intent']) and 'in' not in var['intent'] and 'hide' not in var['intent'] and 'inplace' not in var['intent']
+ return ('intent' in var and ('inout' in var['intent'] or
+ 'outin' in var['intent']) and 'in' not in var['intent'] and
+ 'hide' not in var['intent'] and 'inplace' not in var['intent'])
def isintent_out(var):
@@ -418,8 +419,9 @@ def isintent_out(var):
def isintent_hide(var):
- return ('intent' in var and ('hide' in var['intent'] or ('out' in var['intent'] and 'in' not in var['intent'] and (not l_or(isintent_inout, isintent_inplace)(var)))))
-
+ return ('intent' in var and ('hide' in var['intent'] or
+ ('out' in var['intent'] and 'in' not in var['intent'] and
+ (not l_or(isintent_inout, isintent_inplace)(var)))))
def isintent_nothide(var):
return not isintent_hide(var)
@@ -662,7 +664,6 @@ def getcallprotoargument(rout, cb_map={}):
pass
elif isstring(var):
pass
- #ctype = 'void*'
else:
ctype = ctype + '*'
if isstring(var) or isarrayofstrings(var):
diff --git a/numpy/f2py/capi_maps.py b/numpy/f2py/capi_maps.py
index f6bb1b7dd..11cd47702 100644
--- a/numpy/f2py/capi_maps.py
+++ b/numpy/f2py/capi_maps.py
@@ -168,17 +168,20 @@ if using_newcore:
# c2buildvalue_map=???
pass
-f2cmap_all = {'real': {'': 'float', '4': 'float', '8': 'double', '12': 'long_double', '16': 'long_double'},
- 'integer': {'': 'int', '1': 'signed_char', '2': 'short', '4': 'int', '8': 'long_long',
- '-1': 'unsigned_char', '-2': 'unsigned_short', '-4': 'unsigned',
- '-8': 'unsigned_long_long'},
+f2cmap_all = {'real': {'': 'float', '4': 'float', '8': 'double',
+ '12': 'long_double', '16': 'long_double'},
+ 'integer': {'': 'int', '1': 'signed_char', '2': 'short',
+ '4': 'int', '8': 'long_long',
+ '-1': 'unsigned_char', '-2': 'unsigned_short',
+ '-4': 'unsigned', '-8': 'unsigned_long_long'},
'complex': {'': 'complex_float', '8': 'complex_float',
'16': 'complex_double', '24': 'complex_long_double',
'32': 'complex_long_double'},
'complexkind': {'': 'complex_float', '4': 'complex_float',
'8': 'complex_double', '12': 'complex_long_double',
'16': 'complex_long_double'},
- 'logical': {'': 'int', '1': 'char', '2': 'short', '4': 'int', '8': 'long_long'},
+ 'logical': {'': 'int', '1': 'char', '2': 'short', '4': 'int',
+ '8': 'long_long'},
'double complex': {'': 'complex_double'},
'double precision': {'': 'double'},
'byte': {'': 'char'},
@@ -187,11 +190,10 @@ f2cmap_all = {'real': {'': 'float', '4': 'float', '8': 'double', '12': 'long_dou
if os.path.isfile('.f2py_f2cmap'):
# User defined additions to f2cmap_all.
- # .f2py_f2cmap must contain a dictionary of dictionaries, only.
- # For example, {'real':{'low':'float'}} means that Fortran 'real(low)' is
- # interpreted as C 'float'.
- # This feature is useful for F90/95 users if they use PARAMETERSs
- # in type specifications.
+ # .f2py_f2cmap must contain a dictionary of dictionaries, only. For
+ # example, {'real':{'low':'float'}} means that Fortran 'real(low)' is
+ # interpreted as C 'float'. This feature is useful for F90/95 users if
+ # they use PARAMETERSs in type specifications.
try:
outmess('Reading .f2py_f2cmap ...\n')
f = open('.f2py_f2cmap', 'r')
@@ -219,6 +221,7 @@ if os.path.isfile('.f2py_f2cmap'):
except Exception as msg:
errmess(
'Failed to apply user defined changes from .f2py_f2cmap: %s. Skipping.\n' % (msg))
+
cformat_map = {'double': '%g',
'float': '%g',
'long_double': '%Lg',
@@ -311,7 +314,6 @@ def getstrlength(var):
elif 'len' in a:
len = a['len']
if re.match(r'\(\s*([*]|[:])\s*\)', len) or re.match(r'([*]|[:])', len):
- # if len in ['(*)','*','(:)',':']:
if isintent_hide(var):
errmess('getstrlength:intent(hide): expected a string with defined length but got: %s\n' % (
repr(var)))
@@ -331,8 +333,6 @@ def getarrdims(a, var, verbose=0):
ret['rank'] = '0'
ret['dims'] = ''
elif isarray(var):
- # if not isintent_c(var):
- # var['dimension'].reverse()
dim = copy.copy(var['dimension'])
ret['size'] = '*'.join(dim)
try:
@@ -579,7 +579,6 @@ def sign2map(a, var):
isexternal, 'callback',
isintent_callback, 'callback',
isintent_aux, 'auxiliary',
- # ismutable,'mutable',l_not(ismutable),'immutable',
]
rl = []
for i in range(0, len(il), 2):
@@ -588,13 +587,9 @@ def sign2map(a, var):
if isstring(var):
rl.append('slen(%s)=%s' % (a, ret['length']))
if isarray(var):
- # if not isintent_c(var):
- # var['dimension'].reverse()
ddim = ','.join(
map(lambda x, y: '%s|%s' % (x, y), var['dimension'], dim))
rl.append('dims(%s)' % ddim)
-# if not isintent_c(var):
-# var['dimension'].reverse()
if isexternal(var):
ret['vardebuginfo'] = 'debug-capi:%s=>%s:%s' % (
a, ret['cbname'], ','.join(rl))
@@ -662,8 +657,6 @@ def routsign2map(rout):
ln = k
break
lcb_map[ln] = un[1]
- # else:
- # errmess('routsign2map: cb_map does not contain module "%s" used in "use" statement.\n'%(u))
elif 'externals' in rout and rout['externals']:
errmess('routsign2map: Confused: function %s has externals %s but no "use" statement.\n' % (
ret['name'], repr(rout['externals'])))
@@ -719,7 +712,6 @@ def modsign2map(m):
ret['restdoc'] = getrestdoc(m) or []
if hasnote(m):
ret['note'] = m['note']
- #m['note']=['See elsewhere.']
ret['usercode'] = getusercode(m) or ''
ret['usercode1'] = getusercode1(m) or ''
if m['body']:
diff --git a/numpy/f2py/cb_rules.py b/numpy/f2py/cb_rules.py
index 7d49544ac..2f68c4d50 100644
--- a/numpy/f2py/cb_rules.py
+++ b/numpy/f2py/cb_rules.py
@@ -550,6 +550,5 @@ def buildcallback(rout, um):
'argname': rd['argname']
}
outmess('\t %s\n' % (ar['docstrshort']))
- # print ar['body']
return
################## Build call-back function #############
diff --git a/numpy/f2py/crackfortran.py b/numpy/f2py/crackfortran.py
index 9370a46b5..8c0247342 100755
--- a/numpy/f2py/crackfortran.py
+++ b/numpy/f2py/crackfortran.py
@@ -1034,8 +1034,6 @@ def analyzeline(m, case, line):
groupcache[groupcounter - 2]['externals'].append(name)
groupcache[groupcounter]['vars'] = copy.deepcopy(
groupcache[groupcounter - 2]['vars'])
- # try: del groupcache[groupcounter]['vars'][groupcache[groupcounter-2]['name']]
- # except: pass
try:
del groupcache[groupcounter]['vars'][name][
groupcache[groupcounter]['vars'][name]['attrspec'].index('external')]
@@ -1162,7 +1160,6 @@ def analyzeline(m, case, line):
outmess('analyzeline: ignoring program arguments\n')
continue
if k not in groupcache[groupcounter]['args']:
- #outmess('analyzeline: ignoring external %s (not in arguments list)\n'%(`k`))
continue
if 'externals' not in groupcache[groupcounter]:
groupcache[groupcounter]['externals'] = []
@@ -1315,9 +1312,6 @@ def analyzeline(m, case, line):
outmess(
'analyzeline: implied-DO list "%s" is not supported. Skipping.\n' % l[0])
continue
- # if '(' in l[0]:
- # outmess('analyzeline: ignoring this data statement.\n')
- # continue
i = 0
j = 0
llen = len(l[1])
@@ -1335,7 +1329,6 @@ def analyzeline(m, case, line):
fc = not fc
i = i + 1
i = i + 1
- # v,l[1][j:i-1]=name,initvalue
if v not in vars:
vars[v] = {}
if '=' in vars[v] and not vars[v]['='] == l[1][j:i - 1]:
@@ -1439,7 +1432,6 @@ def analyzeline(m, case, line):
outmess('analyzeline: No context for multiline block.\n')
return
gc = groupcounter
- #gc = previous_context[2]
appendmultiline(groupcache[gc],
previous_context[:2],
m.group('this'))
@@ -1916,15 +1908,11 @@ def postcrack(block, args=None, tab=''):
block['body'] = analyzebody(block, args, tab=tab)
userisdefined = []
-## fromuser = []
if 'use' in block:
useblock = block['use']
for k in list(useblock.keys()):
if '__user__' in k:
userisdefined.append(k)
-# if 'map' in useblock[k]:
-# for n in useblock[k]['map'].itervalues():
-## if n not in fromuser: fromuser.append(n)
else:
useblock = {}
name = ''
@@ -1948,9 +1936,6 @@ def postcrack(block, args=None, tab=''):
interface = {'block': 'interface', 'body': [],
'vars': {}, 'name': name + '_user_interface'}
for e in block['externals']:
- # if e in fromuser:
- # outmess(' Skipping %s that is defined explicitly in another use statement\n'%(`e`))
- # continue
if e in interfaced:
edef = []
j = -1
@@ -1990,7 +1975,6 @@ def sortvarnames(vars):
for v in list(vars.keys()):
if 'depend' in vars[v] and vars[v]['depend']:
dep.append(v)
- # print '%s depends on %s'%(v,vars[v]['depend'])
else:
indep.append(v)
n = len(dep)
@@ -2016,7 +2000,6 @@ def sortvarnames(vars):
dep = dep[1:]
n = len(dep)
i = 0
- # print indep
return indep
@@ -2470,7 +2453,6 @@ def get_parameters(vars, global_params={}):
params[n] = eval(v, g_params, params)
except Exception as msg:
params[n] = v
- # print params
outmess('get_parameters: got "%s" on %s\n' % (msg, repr(v)))
if isstring(vars[n]) and isinstance(params[n], int):
params[n] = chr(params[n])
@@ -2645,7 +2627,6 @@ def analyzevars(block):
m = re.match(
r'(?P<before>.*?)\b' + p + r'\b(?P<after>.*)', d, re.I)
if m:
- #outmess('analyzevars:replacing parameter %s in %s (dimension of %s) with %s\n'%(`p`,`d`,`n`,`params[p]`))
d = m.group('before') + \
str(params[p]) + m.group('after')
if d == star:
@@ -2696,14 +2677,12 @@ def analyzevars(block):
vars[n]['check'] = []
if 'dimension' in vars[n]:
#/----< no check
- # vars[n]['check'].append('rank(%s)==%s'%(n,len(vars[n]['dimension'])))
i = -1
ni = len(vars[n]['dimension'])
for d in vars[n]['dimension']:
ddeps = [] # dependecies of 'd'
ad = ''
pd = ''
- #origd = d
if d not in vars:
if d in savelindims:
pd, ad = '(', savelindims[d][1]
@@ -2746,8 +2725,6 @@ def analyzevars(block):
vars[d]['attrspec'].append('optional')
elif d not in ['*', ':']:
#/----< no check
- #if ni>1: vars[n]['check'].append('shape(%s,%i)==%s'%(n,i,d))
- # else: vars[n]['check'].append('len(%s)>=%s'%(n,d))
if flag:
if d in vars:
if n not in ddeps:
@@ -3045,8 +3022,6 @@ def crack2fortrangen(block, tab='\n', as_interface=False):
result = ' result (%s)' % block['result']
if block['result'] not in argsl:
argsl.append(block['result'])
- # if 'prefix' in block:
- # prefix=block['prefix']+' '
body = crack2fortrangen(block['body'], tab + tabchar)
vars = vars2fortran(
block, block['vars'], argsl, tab + tabchar, as_interface=as_interface)
@@ -3206,8 +3181,6 @@ def vars2fortran(block, vars, args, tab='', as_interface=False):
vardef = '%s, %s' % (vardef, ','.join(attr))
c = ','
if 'dimension' in vars[a]:
- # if not isintent_c(vars[a]):
- # vars[a]['dimension'].reverse()
vardef = '%s%sdimension(%s)' % (
vardef, c, ','.join(vars[a]['dimension']))
c = ','
diff --git a/numpy/f2py/f2py_testing.py b/numpy/f2py/f2py_testing.py
index 13724d942..c7041fe25 100644
--- a/numpy/f2py/f2py_testing.py
+++ b/numpy/f2py/f2py_testing.py
@@ -21,7 +21,6 @@ def cmdline():
def run(runtest, test_functions, repeat=1):
l = [(t, repr(t.__doc__.split('\n')[1].strip())) for t in test_functions]
- #l = [(t,'') for t in test_functions]
start_memusage = memusage()
diff_memusage = None
start_jiffies = jiffies()
diff --git a/numpy/f2py/f90mod_rules.py b/numpy/f2py/f90mod_rules.py
index ce7e61750..88d661369 100644
--- a/numpy/f2py/f90mod_rules.py
+++ b/numpy/f2py/f90mod_rules.py
@@ -203,7 +203,6 @@ def buildhooks(pymod):
if isfunction(b):
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:
@@ -214,9 +213,6 @@ def buildhooks(pymod):
else:
fargs.append(b['name'])
mfargs.append(fargs[-1])
- # 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'] = []
@@ -247,7 +243,6 @@ def buildhooks(pymod):
m['name'], m['name'], m['name'])] + ret['initf90modhooks']
fadd('')
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))
diff --git a/numpy/f2py/func2subr.py b/numpy/f2py/func2subr.py
index 723d6508e..6010d5a23 100644
--- a/numpy/f2py/func2subr.py
+++ b/numpy/f2py/func2subr.py
@@ -180,9 +180,6 @@ def createfuncwrapper(rout, signature=0):
add('end subroutine f2pywrap_%s_%s' % (rout['modulename'], name))
else:
add('end')
- # print '**'*10
- # print ret[0]
- # print '**'*10
return ret[0]
@@ -263,9 +260,6 @@ def createsubrwrapper(rout, signature=0):
add('end subroutine f2pywrap_%s_%s' % (rout['modulename'], name))
else:
add('end')
- # print '**'*10
- # print ret[0]
- # print '**'*10
return ret[0]
diff --git a/numpy/f2py/rules.py b/numpy/f2py/rules.py
index cf304edef..2ea8351a2 100644
--- a/numpy/f2py/rules.py
+++ b/numpy/f2py/rules.py
@@ -419,7 +419,8 @@ rout_rules = [
{isthreadsafe: '\t\t\tPy_BEGIN_ALLOW_THREADS'},
{hascallstatement: '''\t\t\t\t#callstatement#;
\t\t\t\t/*(*f2py_func)(#callfortran#);*/'''},
- {l_not(l_or(hascallstatement, isdummyroutine)): '\t\t\t\t(*f2py_func)(#callfortran#);'},
+ {l_not(l_or(hascallstatement, isdummyroutine))
+ : '\t\t\t\t(*f2py_func)(#callfortran#);'},
{isthreadsafe: '\t\t\tPy_END_ALLOW_THREADS'},
{hasexternals: """\t\t}"""}
],
@@ -454,7 +455,8 @@ rout_rules = [
\t\tf2py_success = 0;
\t} else {"""},
{isthreadsafe: '\tPy_BEGIN_ALLOW_THREADS'},
- {l_not(l_or(hascallstatement, isdummyroutine)): '\t(*f2py_func)(#callfortran#);'},
+ {l_not(l_or(hascallstatement, isdummyroutine))
+ : '\t(*f2py_func)(#callfortran#);'},
{hascallstatement:
'\t#callstatement#;\n\t/*(*f2py_func)(#callfortran#);*/'},
{isthreadsafe: '\tPy_END_ALLOW_THREADS'},
@@ -491,7 +493,8 @@ rout_rules = [
\t\tf2py_success = 0;
\t} else {"""},
{isthreadsafe: '\tPy_BEGIN_ALLOW_THREADS'},
- {l_not(l_or(hascallstatement, isdummyroutine)): '\t(*f2py_func)(#callfortran#);'},
+ {l_not(l_or(hascallstatement, isdummyroutine))
+ : '\t(*f2py_func)(#callfortran#);'},
{hascallstatement:
'\t#callstatement#;\n\t/*(*f2py_func)(#callfortran#);*/'},
{isthreadsafe: '\tPy_END_ALLOW_THREADS'},
@@ -539,10 +542,12 @@ rout_rules = [
{hascallstatement: '''\t#callstatement#;
/*\t#name#_return_value = (*f2py_func)(#callfortran#);*/
'''},
- {l_not(l_or(hascallstatement, isdummyroutine)): '\t#name#_return_value = (*f2py_func)(#callfortran#);'},
+ {l_not(l_or(hascallstatement, isdummyroutine))
+ : '\t#name#_return_value = (*f2py_func)(#callfortran#);'},
{isthreadsafe: '\tPy_END_ALLOW_THREADS'},
{hasexternals: '\t}'},
- {l_and(debugcapi, iscomplexfunction): '\tfprintf(stderr,"#routdebugshowvalue#\\n",#name#_return_value.r,#name#_return_value.i);'},
+ {l_and(debugcapi, iscomplexfunction)
+ : '\tfprintf(stderr,"#routdebugshowvalue#\\n",#name#_return_value.r,#name#_return_value.i);'},
{l_and(debugcapi, l_not(iscomplexfunction)): '\tfprintf(stderr,"#routdebugshowvalue#\\n",#name#_return_value);'}],
'pyobjfrom': {iscomplexfunction: '\t#name#_return_value_capi = pyobj_from_#ctype#1(#name#_return_value);'},
'need': [{l_not(isdummyroutine): 'F_FUNC'},
@@ -556,10 +561,8 @@ rout_rules = [
}, { # String function # in use for --no-wrap
'declfortranroutine': 'extern void #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);',
'routine_def': {l_not(l_or(ismoduleroutine, isintent_c)):
- # '\t{\"#name#\",-1,{{-1}},0,(char *)F_FUNC(#fortranname#,#FORTRANNAME#),(void *)#apiname#,doc_#apiname#},',
'\t{\"#name#\",-1,{{-1}},0,(char *)#F_FUNC#(#fortranname#,#FORTRANNAME#),(f2py_init_func)#apiname#,doc_#apiname#},',
l_and(l_not(ismoduleroutine), isintent_c):
- # '\t{\"#name#\",-1,{{-1}},0,(char *)#fortranname#,(void *)#apiname#,doc_#apiname#},'
'\t{\"#name#\",-1,{{-1}},0,(char *)#fortranname#,(f2py_init_func)#apiname#,doc_#apiname#},'
},
'decl': ['\t#ctype# #name#_return_value = NULL;',
@@ -807,11 +810,6 @@ if (#varname#_capi==Py_None) {
}
}
"""},
- # {l_not(isintent_callback):"""
- # if (#varname#_capi==Py_None) {
- # printf(\"hoi\\n\");
- # }
- # """},
"""\
\t#varname#_nofargs_capi = #cbname#_nofargs;
\tif (create_cb_arglist(#varname#_capi,#varname#_xa_capi,#maxnofargs#,#nofoptargs#,&#cbname#_nofargs,&#varname#_args_capi,\"failed in processing argument list for call-back #varname#.\")) {
@@ -849,7 +847,6 @@ if (#varname#_capi==Py_None) {
}, {
'need': {hasinitvalue: 'math.h'},
'_check': l_and(isscalar, l_not(iscomplex)),
- #'_depend':''
}, { # Not hidden
'decl': '\tPyObject *#varname#_capi = Py_None;',
'argformat': {isrequired: 'O'},
@@ -895,8 +892,6 @@ if (#varname#_capi==Py_None) {
'need': {l_not(islogical): '#ctype#_from_pyobj'},
'_check': l_and(isscalar, l_not(iscomplex), isintent_nothide),
'_depend': ''
- # },{ # Hidden
- # '_check':l_and(isscalar,l_not(iscomplex),isintent_hide)
}, { # Hidden
'frompyobj': {hasinitvalue: '\t#varname# = #init#;'},
'need': typedef_need_dict,
@@ -928,8 +923,8 @@ if (#varname#_capi==Py_None) {
'_check': l_and(iscomplex, isintent_nothide)
}, {
'frompyobj': [{hasinitvalue: '\tif (#varname#_capi==Py_None) {#varname#.r = #init.r#, #varname#.i = #init.i#;} else'},
- {l_and(isoptional, l_not(hasinitvalue)): '\tif (#varname#_capi != Py_None)'},
- # '\t\tf2py_success = #ctype#_from_pyobj(&#varname#,#varname#_capi,"#ctype#_from_pyobj failed in converting #nth# `#varname#\' of #pyname# to C #ctype#\\n");'
+ {l_and(isoptional, l_not(hasinitvalue))
+ : '\tif (#varname#_capi != Py_None)'},
'\t\tf2py_success = #ctype#_from_pyobj(&#varname#,#varname#_capi,"#pyname#() #nth# (#varname#) can\'t be converted to #ctype#");'
'\n\tif (f2py_success) {'],
'cleanupfrompyobj': '\t} /*if (f2py_success) of #varname# frompyobj*/',
@@ -960,7 +955,6 @@ if (#varname#_capi==Py_None) {
'callfortran':'#varname#,',
'callfortranappend':'slen(#varname#),',
'pyobjfrom':{debugcapi: '\tfprintf(stderr,"#vardebugshowvalue#\\n",slen(#varname#),#varname#);'},
- # 'freemem':'\tSTRINGFREE(#varname#);',
'return': {isintent_out: ',#varname#'},
'need': ['len..'], # 'STRINGFREE'],
'_check':isstring
@@ -1042,21 +1036,6 @@ if (#varname#_capi==Py_None) {
'keyformat': {isoptional: 'O'},
'args_capi': {isrequired: ',&#varname#_capi'},
'keys_capi': {isoptional: ',&#varname#_capi'},
- # 'pyobjfrom':{isintent_inout:"""
- # /* Partly because of the following hack, intent(inout) is depreciated,
- # Use intent(in,out) instead.
-
- # \tif ((#varname#_capi != Py_None) && PyArray_Check(#varname#_capi)
- # \t\t&& (#varname#_capi != (PyObject *)capi_#varname#_tmp)) {
- # \t\tif (PyArray_NDIM((PyArrayObject *)#varname#_capi) != PyArray_NDIM(capi_#varname#_tmp)) {
- # \t\t\tif (#varname#_capi != PyArray_BASE(capi_#varname#_tmp))
- # \t\t\t\tcopy_ND_array(PyArray_BASE((PyArrayObject *)capi_#varname#_tmp),(PyArrayObject *)#varname#_capi);
- # \t\t} else
- # \t\t\tcopy_ND_array(capi_#varname#_tmp,(PyArrayObject *)#varname#_capi);
- # \t}
- # */
- # """},
- # 'need':{isintent_inout:'copy_ND_array'},
'_check': l_and(isarray, isintent_nothide)
}, {
'frompyobj': ['\t#setdims#;',
@@ -1096,16 +1075,13 @@ if (#varname#_capi==Py_None) {
{l_not(l_or(isintent_out, isintent_hide)): """\
\tif((PyObject *)capi_#varname#_tmp!=#varname#_capi) {
\t\tPy_XDECREF(capi_#varname#_tmp); }"""},
- {l_and(isintent_hide, l_not(isintent_out)): """\t\tPy_XDECREF(capi_#varname#_tmp);"""},
+ {l_and(isintent_hide, l_not(isintent_out))
+ : """\t\tPy_XDECREF(capi_#varname#_tmp);"""},
{hasinitvalue: '\t} /*if (f2py_success) of #varname# init*/'},
],
'_check': isarray,
'_depend': ''
},
- # { # Hidden
- # 'freemem':{l_not(isintent_out):'\tPy_XDECREF(capi_#varname#_tmp);'},
- # '_check':l_and(isarray,isintent_hide)
- # },
# Scalararray
{ # Common
'_check': l_and(isarray, l_not(iscomplexarray))
@@ -1373,7 +1349,6 @@ def buildapi(rout):
args, depargs = getargs2(rout)
capi_maps.depargs = depargs
var = rout['vars']
- # auxvars = [a for a in var.keys() if isintent_aux(var[a])]
if ismoduleroutine(rout):
outmess('\t\t\tConstructing wrapper function "%s.%s"...\n' %