fortran66のブログ

fortran について書きます。

Napier's constant または Euler's Number

Fortran2008 では、iso_fortran_env という intrinsic module が導入されています。その module には、単精度や倍精度実数の kind が定義されています。

実行結果

ソース・プログラム

program Napier
  use, intrinsic :: iso_fortran_env
  implicit none
  integer, parameter :: kd = real128
  integer, parameter :: n = 29 !n = 17
  integer :: i
  real(kd) :: x
  x = 1.0_kd
  do i = n, 1, -1
    x = 1 + x / i ! Honer's method, foldr
  end do 
  print *, x, exp(1.0_kd)
end program Napier