gpt4 book ai didi

fortran - GAMMA 的结果低于同类

转载 作者:行者123 更新时间:2023-12-02 08:56:10 33 4
gpt4 key购买 nike

我想使用以下程序计算 gamma(-170.1):

program arithmetic  
! program to do a calculation
real(8) :: x
x = GAMMA(-170.1)
print *, x
end program

但我收到错误:

test.f95:4.10:

x = GAMMA(-170.1) 1 Error: Result of GAMMA underflows its kind at (1)

当我用 gfortran 编译时。根据 Maple gamma(-170.1) = 5.191963205*10^(-172),我认为它应该在我定义的变量 x 的指数范围内。

最佳答案

对您的程序进行以下修改应该可以工作。请记住,在 Fortran 中,在分配给 LHS 之前先计算 RHS,并且浮点文字是默认类型,即单精度。因此,将 GAMMA 参数设置为 double 时,编译器会选择 double GAMMA。


program arithmetic
! program to do a calculation
integer, parameter :: dp = kind(1.0d0)
real(dp) :: x
x = GAMMA(-170.1_dp)
print *, x
end program

关于fortran - GAMMA 的结果低于同类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4727526/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com