f2py的adddional编译器标志

时间:2015-02-07 09:33:20

标签: python f2py

我想使用标志-ftree-vectorizecompiler manual)作为f2py使用的gnu fortran编译器的附加参数。根据{{​​3}},应该可以使用参数--f90flags=<string> 但是,我收到错误error: unknown file type '' (from --f90flag=-ftree-vectorize)。我在Windows 7 64位上使用anaconda发行版的f2py。

我正在使用的命令:

f2py.py -c -m myfun myfun.f90 --fcompiler=gnu95 --f90flag=ftree-vectorize

此外,我尝试--f90flag=msse2,但错误保持不变。

有关如何将其他编译器标志传递给f2py的任何建议吗?

2 个答案:

答案 0 :(得分:1)

我通过执行

覆盖默认的fortran标志
f2py -c --verbose --opt='-O3' modules.pyf modules.f90

可能你可以试试

f2py -c --verbose --opt='-ftree-vectorize' modules.pyf modules.f90

答案 1 :(得分:1)

根据official website of numpy-f2pyimport pandas as pd df = pd.read_csv('stack.csv') comp_score = 40 #calculated by another process comp_comments = ["Good work.", "Satisfactory work.", "Improvement needed.", "Unsatisfactory work."] def score_to_comment(score): if score > comp_score: #it's not clear what you want to do in this case #but this follows your original code return None if score >= comp_score * .9: return comp_comments[0] if score >= comp_score * .8: return comp_comments[1] if score >= comp_score * .7: return comp_comments[2] return comp_comments[3] df['composition_comment'] = df['composition_score'].apply(score_to_comment) df.to_csv('stack.csv', index=False) 后面的字符实际上是一个--f90flags=,我们只需要在单引号内加入更多的标志即可。例如

<string>