Fortran Coder

查看: 3607|回复: 3
打印 上一主题 下一主题

[数值问题] 关于单精度和双精度报错的问题

[复制链接]

98

帖子

0

主题

0

精华

大师

F 币
658 元
贡献
293 点

规矩勋章元老勋章新人勋章

楼主
发表于 2022-3-22 22:05:31 | 显示全部楼层
real*8 , complex*16 这些写法都已被废止。
请用 real(8) complex(8) 代替。

注意,大多数编译器 complex(8) 等效于 complex*16

评分

参与人数 1F 币 +2 收起 理由
fcode + 2

查看全部评分

天之道,损有余而补不足

98

帖子

0

主题

0

精华

大师

F 币
658 元
贡献
293 点

规矩勋章元老勋章新人勋章

沙发
发表于 2022-3-23 17:07:26 | 显示全部楼层
本帖最后由 胡文刚 于 2022-3-23 17:10 编辑

real(8) , parameter :: t1 = 3.12_8 , t2 = 0.29_8 , t3 = -0.0103_8

Fortran 的常数也是有 kind 值的。 3.12 在大多数编译器上是单精度的。需要写成 3.12_8 才行。

如果你的代码里,全部的real和complex都是双精度,你可以看看你的编译器是否支持设置为 默认real为双精度。
(主流编译器,比如 intel 和 gfortran 都是可以的,只是操作方法不同)
天之道,损有余而补不足
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-15 13:14

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表