summaryrefslogtreecommitdiff
path: root/src/ipa/libipa
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-11-18 20:54:15 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-11-26 19:05:19 +0200
commitb68d898909e346df6bfd02e516f101867ee6ed21 (patch)
tree420c431dc22e886e175ff0edc750ee7f5acc1fe7 /src/ipa/libipa
parentbc10ffca97fffe6d5ee9a7a054fb05bba13607a8 (diff)
ipa: libipa: vector: Add scalar constructor
The default constructor leaves the vector data uninitialized. Add a constructor to fill the vector with copies of a scalar value, and fix the documentation of the default constructor. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Milan Zamazal <mzamazal@redhat.com>
Diffstat (limited to 'src/ipa/libipa')
-rw-r--r--src/ipa/libipa/vector.cpp8
-rw-r--r--src/ipa/libipa/vector.h5
2 files changed, 12 insertions, 1 deletions
diff --git a/src/ipa/libipa/vector.cpp b/src/ipa/libipa/vector.cpp
index 0f0511da..5851b9ae 100644
--- a/src/ipa/libipa/vector.cpp
+++ b/src/ipa/libipa/vector.cpp
@@ -29,7 +29,13 @@ namespace ipa {
/**
* \fn Vector::Vector()
- * \brief Construct a zero vector
+ * \brief Construct an uninitialized vector
+ */
+
+/**
+ * \fn Vector::Vector(T scalar)
+ * \brief Construct a vector filled with a \a scalar value
+ * \param[in] scalar The scalar value
*/
/**
diff --git a/src/ipa/libipa/vector.h b/src/ipa/libipa/vector.h
index 3168835b..5fb7ad7c 100644
--- a/src/ipa/libipa/vector.h
+++ b/src/ipa/libipa/vector.h
@@ -35,6 +35,11 @@ class Vector
public:
constexpr Vector() = default;
+ constexpr explicit Vector(T scalar)
+ {
+ data_.fill(scalar);
+ }
+
constexpr Vector(const std::array<T, Rows> &data)
{
for (unsigned int i = 0; i < Rows; i++)