From 4602b36e9d5ea08656e3222846a1f161bbb1cec1 Mon Sep 17 00:00:00 2001 From: y-jan137 Date: Mon, 27 Apr 2026 07:24:41 +0300 Subject: Module refactor --- src/linalgebra_error.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/linalgebra_error.cpp (limited to 'src/linalgebra_error.cpp') diff --git a/src/linalgebra_error.cpp b/src/linalgebra_error.cpp new file mode 100644 index 0000000..367c79d --- /dev/null +++ b/src/linalgebra_error.cpp @@ -0,0 +1,29 @@ +export module linalgebra:error; +import std; + +export namespace linalgebra { + +class LinAlgError : public std::runtime_error { +public: + using std::runtime_error::runtime_error; +}; + +class DimensionMismatchError : public LinAlgError { +public: + explicit DimensionMismatchError(const std::string& message) + : LinAlgError(message) {} +}; + +class SingularMatrixError : public LinAlgError { +public: + explicit SingularMatrixError(const std::string& message) + : LinAlgError(message) {} +}; + +class NonConvergenceError : public LinAlgError { +public: + explicit NonConvergenceError(const std::string& message) + : LinAlgError(message) {} +}; + +} // namespace linalgebra -- cgit v1.2.3