diff options
Diffstat (limited to 'src/linalgebra_error.cpp')
| -rw-r--r-- | src/linalgebra_error.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
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 |