54 if (x.size() == 0 ||
shape.rows == 0 ||
shape.cols == 0)
59 const auto necessaryInputPoints =
shape.cols / 2 + 1;
61 if (x.numCols() > necessaryInputPoints)
63 input = x(x.rSlice(),
Slice(necessaryInputPoints + 1));
65 else if (x.numCols() < necessaryInputPoints)
68 input.put(x.rSlice(), x.cSlice(), x);
75 auto realN = 2 * (input.numCols() - 1);
76 realN +=
shape.cols % 2 == 1 ? 1 : 0;
78 for (
auto row = 0u; row < input.numRows(); ++row)
83 fullOutput.begin(0) + input.numCols(),
85 [](
const auto& value) { return std::conj(value); });
86 for (
auto col = 1u; col < input.numCols(); ++col)
90 fullOutput.rcolbegin(fullOutput.numCols() - col),
91 [](
const auto& value) { return std::conj(value); });
109 template<
typename dtype>
128 template<
typename dtype>
133 const auto&
shape = inArray.shape();
134 const auto newCols = 2 * (
shape.cols - 1);
#define STATIC_ASSERT_ARITHMETIC(dtype)
Definition StaticAsserts.hpp:39
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition NdArrayCore.hpp:139
A Shape Class for NdArrays.
Definition Core/shape.hpp:41
A Class for slicing into NdArrays.
Definition Slice.hpp:45
Definition FFT/FFT.hpp:42
NdArray< std::complex< double > > ifft2_internal(const NdArray< std::complex< double > > &x, const Shape &shape)
Definition ifft2.hpp:47
NdArray< double > irfft2_internal(const NdArray< std::complex< double > > &x, const Shape &shape)
Definition irfft2.hpp:52
Definition FFT/FFT.hpp:40
NdArray< double > irfft2(const NdArray< std::complex< dtype > > &inArray, const Shape &inShape)
Definition irfft2.hpp:110
OutputIt transform(InputIt first, InputIt last, OutputIt destination, UnaryOperation unaryFunction)
Definition StlAlgorithms.hpp:776
OutputIt copy(InputIt first, InputIt last, OutputIt destination) noexcept
Definition StlAlgorithms.hpp:98
auto real(const std::complex< dtype > &inValue)
Definition real.hpp:48
auto complex(dtype inReal)
Definition complex.hpp:47
NdArray< dtype > zeros(uint32 inSquareSize)
Definition zeros.hpp:48
Shape shape(const NdArray< dtype > &inArray) noexcept
Definition Functions/shape.hpp:42