我想使用标志-ftree-vectorize
(compiler 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的任何建议吗?
答案 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-f2py,import 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>