62 const auto i = &resultElement - result.data();
63 const auto k = static_cast<double>(i / realN);
64 const auto l = static_cast<double>(i % realN);
65 resultElement = std::complex<double>{ 0., 0. };
66 for (
auto m = 0u;
m < std::min(
shape.
rows, x.numRows()); ++
m)
68 for (
auto n = 0u;
n < std::min(
shape.
cols, x.numCols()); ++
n)
72 (((
static_cast<double>(
m) * k) /
static_cast<double>(
shape.
rows)) +
73 ((
static_cast<double>(
n) *
l) /
static_cast<double>(
shape.
cols)));
94 template<
typename dtype>
100 return detail::rfft2_internal(data, inShape);
113 template<
typename dtype>
#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
const Shape & shape() const noexcept
Definition NdArrayCore.hpp:4587
A Shape Class for NdArrays.
Definition Core/shape.hpp:41
uint32 rows
Definition Core/shape.hpp:44
uint32 cols
Definition Core/shape.hpp:45
constexpr double twoPi
2Pi
Definition Core/Constants.hpp:40
NdArray< std::complex< double > > rfft2_internal(const NdArray< std::complex< double > > &x, const Shape &shape)
Definition rfft2.hpp:48
Definition FFT/FFT.hpp:40
NdArray< std::complex< double > > rfft2(const NdArray< dtype > &inArray, const Shape &inShape)
Definition rfft2.hpp:95
void for_each(InputIt first, InputIt last, UnaryFunction f)
Definition StlAlgorithms.hpp:225
auto angle(const std::complex< dtype > &inValue)
Definition angle.hpp:48
NdArray< dtype > arange(dtype inStart, dtype inStop, dtype inStep=1)
Definition arange.hpp:59
Shape shape(const NdArray< dtype > &inArray) noexcept
Definition Functions/shape.hpp:42