Compute Euler number En
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n |
Serial number |
||
| real(kind=wp), | intent(out) | :: | En(0:n) |
|
subroutine eulera(n,En) integer,intent(in) :: n !! Serial number real(wp),intent(out) :: En(0:n) !! `En` real(wp) :: r , s integer :: j , k , m En(0) = 1.0_wp do m = 1 , n/2 s = 1.0_wp do k = 1 , m - 1 r = 1.0_wp do j = 1 , 2*k r = r*(2.0_wp*m-2.0_wp*k+j)/j enddo s = s + r*En(2*k) enddo En(2*m) = -s enddo end subroutine eulera