summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'numpy')
-rwxr-xr-xnumpy/f2py/crackfortran.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/numpy/f2py/crackfortran.py b/numpy/f2py/crackfortran.py
index db152698e..515bdd787 100755
--- a/numpy/f2py/crackfortran.py
+++ b/numpy/f2py/crackfortran.py
@@ -2428,18 +2428,19 @@ def get_parameters(vars, global_params={}):
elif iscomplex(vars[n]):
outmess(f'get_parameters[TODO]: '
f'implement evaluation of complex expression {v}\n')
+
+ # Handle _dp for gh-6624
+ # Also fixes gh-20460
+ if real16pattern.search(v):
+ v = 8
+ elif real8pattern.search(v):
+ v = 4
try:
params[n] = eval(v, g_params, params)
+
except Exception as msg:
- # Handle _dp for gh-6624
- if real16pattern.search(v):
- v = 8
- elif real8pattern.search(v):
- v = 4
params[n] = v
- # Don't report if the parameter is numeric gh-20460
- if not real16pattern.search(v) and not real8pattern.search(v):
- outmess('get_parameters: got "%s" on %s\n' % (msg, repr(v)))
+ 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])
nl = n.lower()