4#ifndef TETL_LINALG_BLAS1_VECTOR_ABS_SUM
5#define TETL_LINALG_BLAS1_VECTOR_ABS_SUM
7#include <etl/_linalg/exposition.hpp>
8#include <etl/_type_traits/is_arithmetic.hpp>
13template <in_vector InVec,
typename Scalar>
17 for (
typename InVec::index_type i{0}; i < v.extent(0); ++i) {
18 if constexpr (is_arithmetic_v<
typename InVec::value_type>) {
19 sum += detail::abs_if_needed(v(i));
21 sum += detail::abs_if_needed(detail::real_if_needed(v(i)));
22 sum += detail::abs_if_needed(detail::imag_if_needed(v(i)));
29template <in_vector InVec>
32 return vector_abs_sum(v,
typename InVec::value_type{});
constexpr auto vector_abs_sum(InVec v) noexcept -> typename InVec::value_type
Definition blas1_vector_abs_sum.hpp:30
constexpr auto vector_abs_sum(InVec v, Scalar init) noexcept -> Scalar
Definition blas1_vector_abs_sum.hpp:14
Definition accessor_conjugate.hpp:13
Definition adjacent_find.hpp:9