Qua*_*Dot 3 fortran limits gfortran
我需要一点帮助:根据这个网站,延续线的最大数量是有限制的.
所以我决定测试一下.我写了一个巨型FUNCTION
,它计算了在陈述中分成17,146个延续线的巨大代数公式.
!test.f90 1.6 MB file
DOUBLE COMPLEX FUNCTION myfunction(a, b)
DOUBLE COMPLEX, INTENT(IN) :: a
DOUBLE COMPLEX, INTENT(IN) :: b
myfunction = gd0/16.d0)*a*b*((a+b)**2)*((32.d0*DCONJG(f(4)))+(12&
&8.d0*DCONJG(f(11)))+(160.d0*DCONJG(f(24)))+(64.d0*DCONJG(f(46)))+(32.d0*DCONJG(f(3)))+(256.d0*DCON&
&JG(f(10)))+(480.d0*DCONJG(f(23)))+(256.d0*DCONJG(f(45)))+(32.d0*DCONJG(g(9)))+(128.d0*DCONJG(f(&
&9)))+(480.d0*DCONJG(f(22)))+(384.d0*DCONJG(f(44)))+(96.d0*DCONJG(g(21)))+(160.d0*DCONJG(f(21)))+(2&
&56.d0*DCONJG(f(43)))+(64.d0*DCONJG(g(42)))+(64.d0*DCONJG(f(42)))+(64.d0*DCONJG(f(8)))+(192.d0*DCON&
& (64.d0*DCONJG(g(42)) ! and so on and so forth...
END FUNCTION
Run Code Online (Sandbox Code Playgroud)
我编译了这个gfortran -c test.f90
令人厌恶的东西,它test.o
在5分钟后返回了一个11.4MB的文件,没有任何错误或警告.我跑了,它返回了正确的结果.
为什么不gfortran
观察最大延续线规则?
为什么gfortran不遵守最大延续线规则?
此规则不是约束,标准允许编译器提供更大的限制作为扩展,标准设置最大连续行数的最小值.编译器可能会报告超出标准最小值,但它不是必需的,可能需要一个标志.
归档时间: |
|
查看次数: |
215 次 |
最近记录: |