d_itfft Subroutine

public subroutine d_itfft(func_in, func_out)

Arguments

Type IntentOptional Attributes Name
real(kind=8), dimension(:) :: func_in
real(kind=8), optional, dimension(size(func_in)) :: func_out

Calls

proc~~d_itfft~2~~CallsGraph proc~d_itfft~2 d_itfft interface~fftex~2 fftex proc~d_itfft~2->interface~fftex~2 interface~ifftshift~2 ifftshift proc~d_itfft~2->interface~ifftshift~2 interface~ifft~2 ifft proc~d_itfft~2->interface~ifft~2 proc~cfft_1d_ex~2 cfft_1d_ex interface~fftex~2->proc~cfft_1d_ex~2 proc~rfft_1d_ex~2 rfft_1d_ex interface~fftex~2->proc~rfft_1d_ex~2 proc~cfft_1d_ishift~2 cfft_1d_ishift interface~ifftshift~2->proc~cfft_1d_ishift~2 proc~rfft_1d_ishift~2 rfft_1d_ishift interface~ifftshift~2->proc~rfft_1d_ishift~2 proc~cfft_1d_backward~2 cfft_1d_backward interface~ifft~2->proc~cfft_1d_backward~2 proc~rfft_1d_backward~2 rfft_1d_backward interface~ifft~2->proc~rfft_1d_backward~2 cfft1b cfft1b proc~cfft_1d_backward~2->cfft1b cfft1i cfft1i proc~cfft_1d_backward~2->cfft1i rfft1b rfft1b proc~rfft_1d_backward~2->rfft1b rfft1i rfft1i proc~rfft_1d_backward~2->rfft1i

Called by

proc~~d_itfft~2~~CalledByGraph proc~d_itfft~2 d_itfft interface~itfft~2 itfft interface~itfft~2->proc~d_itfft~2

Source Code

  subroutine d_itfft(func_in,func_out)
    real(8),dimension(:)                      :: func_in
    real(8),dimension(size(func_in)),optional :: func_out
    complex(8),dimension(size(func_in))          :: ftmp
    ftmp = func_in
    call ifft(ftmp)
    call fftex(ftmp)
    if(present(func_out))then
       func_out = ifftshift(ftmp)/size(ftmp)
    else
       func_in  = ifftshift(ftmp)/size(ftmp)
    endif
  end subroutine d_itfft