summaryrefslogtreecommitdiff
path: root/numpy/f2py
diff options
context:
space:
mode:
authorAlexander Heger <alexander.heger@monash.edu>2015-09-12 13:26:01 +1000
committerCharles Harris <charlesr.harris@gmail.com>2015-10-16 11:46:10 -0600
commitf8edf9e397808bfa4db94dab12fd564080239d92 (patch)
treeeed1ee30e26750baefd2f31882116b1bba85b8d8 /numpy/f2py
parent972dbd00152aaec53369fc82913286a0f93b5ca6 (diff)
downloadnumpy-f8edf9e397808bfa4db94dab12fd564080239d92.tar.gz
BUG: Allow nested use of parameters for array dimensions in f2py.
Nested use of parameters in specifying dimensions caused problems. For example parameter (i=7) common buf(nvar*(nvar+1) * (n + 1)) This fix was suggested by Pearu on github. Closes #5877.
Diffstat (limited to 'numpy/f2py')
-rwxr-xr-xnumpy/f2py/crackfortran.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/numpy/f2py/crackfortran.py b/numpy/f2py/crackfortran.py
index 8c0247342..f392f946c 100755
--- a/numpy/f2py/crackfortran.py
+++ b/numpy/f2py/crackfortran.py
@@ -2624,11 +2624,12 @@ def analyzevars(block):
if d in params:
d = str(params[d])
for p in list(params.keys()):
- m = re.match(
- r'(?P<before>.*?)\b' + p + r'\b(?P<after>.*)', d, re.I)
- if m:
+ re_1 = re.compile(r'(?P<before>.*?)\b' + p + r'\b(?P<after>.*)', re.I)
+ m = re_1.match(d)
+ while m:
d = m.group('before') + \
str(params[p]) + m.group('after')
+ m = re_1.match(d)
if d == star:
dl = [star]
else: