51 template<
typename dtype>
56 double meanValue = 0.0;
59 const auto function = [&
sum, &meanValue](dtype value) ->
void
60 {
sum +=
utils::sqr(
static_cast<double>(value) - meanValue); };
66 meanValue =
mean(inArray, inAxis).
item();
78 meanValue = meanValueArray[row];
94 meanValue = meanValueArray[row];
121 template<
typename dtype>
126 std::complex<double> meanValue(0.0, 0.0);
127 std::complex<double>
sum(0.0, 0.0);
129 const auto function = [&
sum, &meanValue](std::complex<dtype> value) ->
void
130 {
sum +=
utils::sqr(complex_cast<double>(value) - meanValue); };
136 meanValue =
mean(inArray, inAxis).
item();
146 for (
uint32 row = 0; row < inArray.numRows(); ++row)
148 meanValue = meanValueArray[row];
149 sum = std::complex<double>(0.0, 0.0);
150 std::for_each(inArray.cbegin(row), inArray.cend(row),
function);
152 returnArray(0, row) =
std::sqrt(
sum /
static_cast<double>(inArray.numCols()));
164 meanValue = meanValueArray[row];
165 sum = std::complex<double>(0.0, 0.0);
#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
value_type item() const
Definition: NdArrayCore.hpp:2921
void for_each(InputIt first, InputIt last, UnaryFunction f)
Definition: StlAlgorithms.hpp:227
constexpr dtype sqr(dtype inValue) noexcept
Definition: sqr.hpp:44
Definition: Coordinate.hpp:45
Axis
Enum To describe an axis.
Definition: Types.hpp:47
auto sqrt(dtype inValue) noexcept
Definition: sqrt.hpp:48
NdArray< dtype > sum(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: sum.hpp:46
NdArray< double > stdev(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: stdev.hpp:52
NdArray< double > mean(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: mean.hpp:52
std::uint32_t uint32
Definition: Types.hpp:40