51 template<
typename dtype>
60 auto sum = std::accumulate(inArray.
cbegin(), inArray.
cend(), 0.0);
70 auto sum = std::accumulate(inArray.
cbegin(row), inArray.
cend(row), 0.0);
71 returnArray(0, row) =
sum /
static_cast<double>(inArray.
numCols());
82 auto sum =
static_cast<double>(
83 std::accumulate(transposedArray.
cbegin(row), transposedArray.
cend(row), 0.0));
84 returnArray(0, row) =
sum /
static_cast<double>(transposedArray.
numCols());
108 template<
typename dtype>
117 auto sum = std::accumulate(inArray.cbegin(), inArray.cend(), std::complex<double>(0.0));
125 for (
uint32 row = 0; row < inArray.numRows(); ++row)
127 auto sum = std::accumulate(inArray.cbegin(row), inArray.cend(row), std::complex<double>(0.0));
128 returnArray(0, row) =
sum / std::complex<double>(inArray.numCols());
139 auto sum = std::accumulate(transposedArray.
cbegin(row),
140 transposedArray.
cend(row),
141 std::complex<double>(0.0));
142 returnArray(0, row) =
sum / std::complex<double>(transposedArray.
numCols());
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:36
#define STATIC_ASSERT_ARITHMETIC(dtype)
Definition: StaticAsserts.hpp:37
uint32 numCols() const noexcept
Definition: NdArrayCore.hpp:3416
size_type size() const noexcept
Definition: NdArrayCore.hpp:4289
const_iterator cbegin() const noexcept
Definition: NdArrayCore.hpp:1221
uint32 numRows() const noexcept
Definition: NdArrayCore.hpp:3428
NdArray< dtype > transpose() const
Definition: NdArrayCore.hpp:4650
const_iterator cend() const noexcept
Definition: NdArrayCore.hpp:1529
Definition: Coordinate.hpp:45
Axis
Enum To describe an axis.
Definition: Types.hpp:47
NdArray< dtype > sum(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: sum.hpp:46
NdArray< double > mean(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: mean.hpp:52
std::uint32_t uint32
Definition: Types.hpp:40