Kil*_*ang 3 precision fortran gfortran
我有一个大型的Fortran代码,其中大多数实变量通过使用声明为具有双精度
double precision
real*8
Run Code Online (Sandbox Code Playgroud)
而且我想知道是否有可能强制编译器对这些变量使用单精度。
这取决于您使用的编译器。GNU Fortran支持选项-freal-8-real-4,该选项将所有8字节实数转换为4字节实数。例如,以下程序
program p
use iso_fortran_env, only: real64
real(kind=real64) :: x
double precision :: y
real*8 :: z
print *, sizeof(x), sizeof(y), sizeof(z)
end program p
Run Code Online (Sandbox Code Playgroud)
版画
8 8 8
Run Code Online (Sandbox Code Playgroud)
但是使用编译时-freal-8-real-4,输出为
4 4 4
Run Code Online (Sandbox Code Playgroud)
其他编译器可能具有不同的选项(或没有这样的选项)。
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |