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>
This commit is contained in:
parent
b68d898909
commit
dd624b3fff
2 changed files with 15 additions and 15 deletions
|
@ -78,13 +78,6 @@ namespace ipa {
|
|||
* \return The sum of the two vectors
|
||||
*/
|
||||
|
||||
/**
|
||||
* \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
|
||||
|
@ -99,6 +92,13 @@ namespace ipa {
|
|||
* \return The vector divided by \a factor
|
||||
*/
|
||||
|
||||
/**
|
||||
* \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
|
||||
|
|
|
@ -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__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue