aboutsummaryrefslogtreecommitdiff
path: root/src/vector.cpp
diff options
context:
space:
mode:
authory-jan137 <yousefjan24000@gmail.com>2026-03-12 16:40:43 +0300
committery-jan137 <yousefjan24000@gmail.com>2026-03-12 16:40:43 +0300
commit38004f74df5b2dbcb07e6ad5ac2272f16882e018 (patch)
tree119c13cab68e3f38c77a737a7f15a3dad74c1343 /src/vector.cpp
parent11568ad166dc9312593fa4caf05aaa4a11f21b17 (diff)
Add basic ops
Diffstat (limited to 'src/vector.cpp')
-rw-r--r--src/vector.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/vector.cpp b/src/vector.cpp
index b8b1c6f..8c4a8c4 100644
--- a/src/vector.cpp
+++ b/src/vector.cpp
@@ -83,6 +83,18 @@ Vector operator*(const Vector& v, double scalar) {
Vector operator*(double scalar, const Vector& v) { return v * scalar; }
+Vector operator/(const Vector& v, double scalar) {
+ if (scalar == 0.0) {
+ throw std::invalid_argument("Vector scalar division requires a nonzero scalar");
+ }
+
+ Vector result(v.size());
+ for (std::size_t i = 0; i < v.size(); ++i) {
+ result[i] = v[i] / scalar;
+ }
+ return result;
+}
+
double dot(const Vector& lhs, const Vector& rhs) {
check_same_size(lhs, rhs, "Dot product");