我有一个用 Fortran 编写的非常大的代码,用于建立并迭代求解非线性偏微分方程组。我需要所有变量都是双精度的。在我为代码编写的附加模块中,我将所有变量声明为双精度类型,但我的模块仍然使用旧源代码中声明为 real 类型的变量。所以我的问题是,当单精度变量乘以 Fortran 中的双精度变量时会发生什么?如果用于存储值的变量声明为双精度,结果是否为双精度?如果双精度值乘以末尾没有“D0”的常数会怎样?我可以在 Intel 11.1 中设置一个编译器选项来使所有实数/双精度/双精度常数吗?
precision double fortran
double ×1
fortran ×1
precision ×1