Add some missing operator for vector library

This commit is contained in:
Oleg Kalachev 2025-04-29 23:21:12 +03:00
parent b2736e6a5b
commit c14fe7c48b

View File

@ -28,6 +28,10 @@ public:
z /= n; z /= n;
} }
Vector operator + (const float b) const {
return Vector(x + b, y + b, z + b);
}
Vector operator * (const float b) const { Vector operator * (const float b) const {
return Vector(x * b, y * b, z * b); return Vector(x * b, y * b, z * b);
} }
@ -44,6 +48,14 @@ public:
return Vector(x - b.x, y - b.y, z - b.z); 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 // Element-wise multiplication
Vector operator * (const Vector& b) const { Vector operator * (const Vector& b) const {
return Vector(x * b.x, y * b.y, z * b.z); return Vector(x * b.x, y * b.y, z * b.z);
@ -96,3 +108,6 @@ public:
p.print(z, 15); 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; }