1

我正在尝试使用第三方自动微分模块ADF95,它使用表达式-sqrt(asin(-1.0_dpr))在特定情况下返回非数字(NaN),其中dpr使用integer, parameter :: dpr = KIND(1.D0).

在尝试使用mod_adf95命令编译一个使用该模块的简单测试程序时gfortran mod_adf95.f90 main.f90 -o test.exe,我收到了几个错误,例如:

mod_adf95.f90:2511:36:

             f%deriv(1:lena) = -sqrt(asin(-1.0_dpr))*sign(1.0_dpr,a%value)
                                    1
Error: Argument of SQRT at (1) has a negative value

显然,负数的平方根real是未定义的,所以我明白他们为什么会尝试使用这个表达式来获得 NaN。那么有没有办法告诉编译器忽略这些错误呢?

4

0 回答 0