Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real(kind=dp), | intent(out) | :: | wsave(*) |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=dp), | public | :: | dt | ||||
real(kind=dp), | public | :: | fk | ||||
integer, | public | :: | k | ||||
real(kind=dp), | public, | parameter | :: | pih | = | acos(-1.0_dp)/2.0_dp |
subroutine dcosqi(n, wsave)
use fftpack_kind, only: dp => rk
implicit none
integer, intent(in) :: n
real(dp), intent(out) :: wsave(*)
real(dp) :: dt, fk
integer :: k
real(dp), parameter :: pih = acos(-1.0_dp)/2.0_dp ! pi / 2
dt = pih/real(n, kind=dp)
fk = 0.0_dp
do k = 1, n
fk = fk + 1.0_dp
wsave(k) = cos(fk*dt)
end do
call dffti(n, wsave(n + 1))
end subroutine dcosqi