diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2024-11-16 21:02:52 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2024-11-26 19:05:19 +0200 |
commit | dd624b3fff1154334cef3f596bfecd29e4a5daaf (patch) | |
tree | 11cf38b5e48223a1638e3a264532df2bb18dcf76 | |
parent | b68d898909e346df6bfd02e516f101867ee6ed21 (diff) |
ipa: libipa: vector: Rename the dot product operator*() to dot()
The Vector class defines a set of arithmetic operators between two
vectors or a vector and a scalar. All the operators perform element-wise
operations, except for the operator*() that computes the dot product.
This is inconsistent and confusing. Replace the operator with a dot()
function.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Milan Zamazal <mzamazal@redhat.com>
-rw-r--r-- | src/ipa/libipa/vector.cpp | 14 | ||||
-rw-r--r-- | src/ipa/libipa/vector.h | 16 |
2 files changed, 15 insertions, 15 deletions
diff --git a/src/ipa/libipa/vector.cpp b/src/ipa/libipa/vector.cpp index 5851b9ae..d3d7c7ca 100644 --- a/src/ipa/libipa/vector.cpp +++ b/src/ipa/libipa/vector.cpp @@ -79,13 +79,6 @@ namespace ipa { */ /** - * \fn Vector::operator*(const Vector<T, Rows> &other) const - * \brief Compute the dot product - * \param[in] other The other vector - * \return The dot product of the two vectors - */ - -/** * \fn Vector::operator*(T factor) const * \brief Multiply the vector by a scalar * \param[in] factor The factor @@ -100,6 +93,13 @@ namespace ipa { */ /** + * \fn Vector::dot(const Vector<T, Rows> &other) const + * \brief Compute the dot product + * \param[in] other The other vector + * \return The dot product of the two vectors + */ + +/** * \fn constexpr T &Vector::x() * \brief Convenience function to access the first element of the vector * \return The first element of the vector diff --git a/src/ipa/libipa/vector.h b/src/ipa/libipa/vector.h index 5fb7ad7c..b8315dd0 100644 --- a/src/ipa/libipa/vector.h +++ b/src/ipa/libipa/vector.h @@ -82,14 +82,6 @@ public: return ret; } - constexpr T operator*(const Vector<T, Rows> &other) const - { - T ret = 0; - for (unsigned int i = 0; i < Rows; i++) - ret += data_[i] * other[i]; - return ret; - } - constexpr Vector<T, Rows> operator*(T factor) const { Vector<T, Rows> ret; @@ -106,6 +98,14 @@ public: return ret; } + constexpr T dot(const Vector<T, Rows> &other) const + { + T ret = 0; + for (unsigned int i = 0; i < Rows; i++) + ret += data_[i] * other[i]; + return ret; + } + #ifndef __DOXYGEN__ template<bool Dependent = false, typename = std::enable_if_t<Dependent || Rows >= 1>> #endif /* __DOXYGEN__ */ |