GNU Fortran から expm1 の高速な実装を呼び出す方法はありますか? 理想的には、(exp(x)-1)/x を直接計算してゼロ引数の余分なチェックを回避する関数があると便利です。expm1 の基本バージョンは特に役に立ちます。
1 に答える
2
libm から呼び出す方法は次のとおりです。
use, intrinsic :: iso_c_binding, only: c_double
implicit none
interface
real(c_double) function expm1(x) bind(c, name='expm1')
import c_double
real(c_double), intent(in), value :: x
end function expm1
end interface
print*, expm1(3.4d0)
end program
関数の glibc ソース コードがあまり期待を裏切らないように見える場合は、それを Fortran に変換して要素にすることができます (要素とは Fortran キーワードを意味する場合)。
于 2015-05-22T12:24:25.257 に答える