From 38f86a4e0a63b695f4246e93c49df5350673c926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Viana?= <57032457+vollous@users.noreply.github.com> Date: Tue, 23 Apr 2024 20:17:07 +0100 Subject: [PATCH] Fixed additional asserts -> throw --- include/BSMPT/utility/utility.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/BSMPT/utility/utility.h b/include/BSMPT/utility/utility.h index bffad273b..6d4130102 100644 --- a/include/BSMPT/utility/utility.h +++ b/include/BSMPT/utility/utility.h @@ -133,7 +133,8 @@ std::vector operator+(const std::vector &a, const std::vector &b) template std::vector operator-(const std::vector &a, const std::vector &b) { - assert(a.size() == b.size()); + if (a.size() != b.size()) + throw("Vector cannot be subtracted. Must have the same size."); std::vector result; result.reserve(a.size()); @@ -184,7 +185,9 @@ std::vector operator/(const std::vector &a, const T2 &b) template T operator*(const std::vector &a, const std::vector &b) { - assert(a.size() == b.size()); + if (a.size() != b.size()) + throw( + "Dot product between vectors cannot be done. Must have the same size."); std::vector result; result.reserve(a.size()); @@ -207,7 +210,9 @@ template std::vector operator*(const std::vector> &a, const std::vector &b) { - assert(a.size() == b.size()); + if (a.size() != b.size()) + throw("Multiplication of matrix with vector cannot be done. Must have the " + "same size."); std::vector result; result.reserve(a.size());