KokkosFFT::hfft

template<typename ExecutionSpace, typename InViewType, typename OutViewType>
void KokkosFFT::hfft(const ExecutionSpace &exec_space, const InViewType &in, const OutViewType &out, KokkosFFT::Normalization norm = KokkosFFT::Normalization::backward, int axis = -1, std::optional<std::size_t> n = std::nullopt)

One dimensional FFT of a signal that has Hermitian symmetry.

The input data is modified in-place to save memory (if the input is non-const complex). If the input is real or const complex, we create a temporary complex view to perform the computation, and the input data is not modified.

Template Parameters:
  • ExecutionSpace – The type of Kokkos execution space

  • InViewType – Input View type for the fft

  • OutViewType – Output View type for the fft

Parameters:
  • exec_space[in] Kokkos execution space

  • in[inout] Input data (real or complex)

  • out[out] Output data (real)

  • norm[in] How the normalization is applied (default, backward)

  • axis[in] Axis over which FFT is performed (default, -1)

  • n[in] Length of the transformed axis of the output (default, nullopt)

Note

For the real input, we internally convert it to complex and perform hfft on it.