9 Container<Number>
add(
const Container<Number>& container1,
const Container<Number>& container2) {
10 if (container1.size() != container2.size()) {
11 std::cerr <<
"Error in function " << __FUNCTION__
12 <<
": Vectors container1 (of size " << container1.size()
13 <<
") and container2 (of size " << container2.size()
14 <<
") are not the same size. Returning an empty array..." << std::endl;
17 const auto n = container1.size();
18 Container<Number> result(n);
19 for (std::remove_const_t<
decltype(n)> i = 0; i < n; ++i) {
20 result[i] = container1[i] + container2[i];
26 Container<Number>
sub(
const Container<Number>& container1,
const Container<Number>& container2) {
27 if (container1.size() != container2.size()) {
28 std::cerr <<
"Error in function " << __FUNCTION__
29 <<
": Vectors container1 (of size " << container1.size()
30 <<
") and container2 (of size " << container2.size()
31 <<
") are not the same size. Returning an empty array..." << std::endl;
34 const auto n = container1.size();
35 Container<Number> result(n);
36 for (std::remove_const_t<
decltype(n)> i = 0; i < n; ++i) {
37 result[i] = container1[i] - container2[i];
43 Container<Number>
diff(
const Container<Number>& container) {
44 if (container.empty()) {
47 Container<Number> result(container.size() - 1);
48 for (
SizeT i = 0; i < result.size(); ++i) {
49 result[i] = container[i+1] - container[i];
55 Container<Number>
mean(
const Container<Number>& container1,
const Container<Number>& container2) {
56 if (container1.size() != container2.size()) {
57 std::cerr <<
"Error in function " << __FUNCTION__
58 <<
": Vectors container1 (of size " << container1.size()
59 <<
") and container2 (of size " << container2.size()
60 <<
") are not the same size. Returning an empty array..." << std::endl;
63 const auto n = container1.size();
64 Container<Number> result(n);
65 for (std::remove_const_t<
decltype(n)> i = 0; i < n; ++i) {
66 result[i] = (container1[i] + container2[i]) / 2;
Container< Number > add(const Container< Number > &container1, const Container< Number > &container2)
Definition arrays.h:9
Container< Number > diff(const Container< Number > &container)
Definition arrays.h:43
Container< Number > mean(const Container< Number > &container1, const Container< Number > &container2)
Definition arrays.h:55
Container< Number > sub(const Container< Number > &container1, const Container< Number > &container2)
Definition arrays.h:26
ALFI_DEFAULT_NUMBER DefaultNumber
Definition config.h:17
ALFI_SIZE_TYPE SizeT
Definition config.h:22
ALFI_DEFAULT_CONTAINER< Number > DefaultContainer
Definition config.h:20