Perform a 1D inverse Fast Fourier Transform on a signal
This function takes a signal and performs a inverse fast Fourier Transform using the specified method. The available methods are:
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(inout), | dimension(:) | :: | signal | ||
| character(len=*), | intent(in) | :: | method | |||
| integer, | intent(in), | optional | :: | threads |
function IFFT_1D(signal, method, threads) result(result) complex(dp), dimension(:), intent(inout) :: signal character(*), intent(in) :: method integer, optional, intent(in) :: threads complex(dp), dimension(size(signal)) :: result if (method == "NAFPack_IFFT_1D") then result = NAFPack_IFFT_1D(signal) else if (method == "FFTW_IFFT_1D" .and. .not. present(threads)) then result = FFTW_IFFT_1D(signal) else if (method == "FFTW_IFFT_1D" .and. present(threads)) then result = FFTW_IFFT_1D_threads(signal, threads) else stop "ERROR : Wrong method for IFFT_1D" end if end function IFFT_1D