summaryrefslogtreecommitdiff
path: root/src/ipa/libipa/vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipa/libipa/vector.h')
-rw-r--r--src/ipa/libipa/vector.h32
1 files changed, 26 insertions, 6 deletions
diff --git a/src/ipa/libipa/vector.h b/src/ipa/libipa/vector.h
index 5545da12..15a60951 100644
--- a/src/ipa/libipa/vector.h
+++ b/src/ipa/libipa/vector.h
@@ -68,24 +68,44 @@ public:
return ret;
}
+ constexpr Vector operator+(const Vector &other) const
+ {
+ return apply(*this, other, std::plus<>{});
+ }
+
+ constexpr Vector operator+(T scalar) const
+ {
+ return apply(*this, scalar, std::plus<>{});
+ }
+
constexpr Vector operator-(const Vector &other) const
{
return apply(*this, other, std::minus<>{});
}
- constexpr Vector operator+(const Vector &other) const
+ constexpr Vector operator-(T scalar) const
{
- return apply(*this, other, std::plus<>{});
+ return apply(*this, scalar, std::minus<>{});
+ }
+
+ constexpr Vector operator*(const Vector &other) const
+ {
+ return apply(*this, other, std::multiplies<>{});
+ }
+
+ constexpr Vector operator*(T scalar) const
+ {
+ return apply(*this, scalar, std::multiplies<>{});
}
- constexpr Vector operator*(T factor) const
+ constexpr Vector operator/(const Vector &other) const
{
- return apply(*this, factor, std::multiplies<>{});
+ return apply(*this, other, std::divides<>{});
}
- constexpr Vector operator/(T factor) const
+ constexpr Vector operator/(T scalar) const
{
- return apply(*this, factor, std::divides<>{});
+ return apply(*this, scalar, std::divides<>{});
}
constexpr T dot(const Vector<T, Rows> &other) const