c_itfft Subroutine

public subroutine c_itfft(func_in, func_out)

Arguments

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

Calls

proc~~c_itfft~2~~CallsGraph proc~c_itfft~2 c_itfft interface~fftex~2 fftex proc~c_itfft~2->interface~fftex~2 interface~ifftshift~2 ifftshift proc~c_itfft~2->interface~ifftshift~2 interface~ifft~2 ifft proc~c_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~~c_itfft~2~~CalledByGraph proc~c_itfft~2 c_itfft interface~itfft~2 itfft interface~itfft~2->proc~c_itfft~2

Source Code

  subroutine c_itfft(func_in,func_out)
    complex(8),dimension(:)                      :: func_in
    complex(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 c_itfft