Intel Fortran 2016精度参数定义相关技术咨询
我把你在Intel Fortran 2016里定义的精度变量代码整理成了清晰的Markdown格式,还补充了一点实用说明帮你理解:
Fortran精度变量定义代码
! 单精度、双精度和四倍精度定义 integer, parameter :: SINGLE_PRECISION = selected_real_kind(6, 37) integer, parameter :: DOUBLE_PRECISION = selected_real_kind(15, 307) integer, parameter :: QUAD_PRECISION = selected_real_kind(33, 4931) ! 用作标准精度 ! 实型、整型的可变精度定义 integer, parameter :: REAL_TYPE = DOUBLE_PRECISION integer, parameter :: INTEG... ! 这里的代码看起来被截断了,你可以补充完整后续内容
简单说明
selected_real_kind(p, r)是Fortran标准内置函数,用来根据指定的**有效位数p和指数范围r**自动匹配合适的实型精度:SINGLE_PRECISION对应单精度,要求至少6位有效数字,指数覆盖±37范围DOUBLE_PRECISION对应双精度,至少15位有效数字,指数覆盖±307范围QUAD_PRECISION对应四倍精度,至少33位有效数字,指数覆盖±4931范围
- 最后把
REAL_TYPE绑定到DOUBLE_PRECISION是个很实用的技巧:后续定义实型变量时直接用REAL(REAL_TYPE),之后如果要切换精度(比如改成单精度或四倍精度),只需要修改这一行参数即可,不用逐个变量修改。
内容的提问来源于stack exchange,提问作者user32882
相关产品推荐
相关产品推荐

