From c14fe7c48b6960b508ab2a3c7cb537f23fd1b250 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 29 Apr 2025 23:21:12 +0300 Subject: [PATCH] Add some missing operator for vector library --- flix/vector.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/flix/vector.h b/flix/vector.h index 0ae0b74..2dc4a0a 100644 --- a/flix/vector.h +++ b/flix/vector.h @@ -28,6 +28,10 @@ public: z /= n; } + Vector operator + (const float b) const { + return Vector(x + b, y + b, z + b); + } + Vector operator * (const float b) const { return Vector(x * b, y * b, z * b); } @@ -44,6 +48,14 @@ public: return Vector(x - b.x, y - b.y, z - b.z); } + Vector& operator += (const Vector& b) { + return *this = *this + b; + } + + Vector& operator -= (const Vector& b) { + return *this = *this - b; + } + // Element-wise multiplication Vector operator * (const Vector& b) const { return Vector(x * b.x, y * b.y, z * b.z); @@ -96,3 +108,6 @@ public: p.print(z, 15); } }; + +Vector operator * (const float a, const Vector& b) { return b * a; } +Vector operator + (const float a, const Vector& b) { return b + a; }