From 3697be69b0dffc185c9b4cf8221c782f48546771 Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Mon, 21 Jun 2010 13:12:27 -0400 Subject: Use the stlplus::inf class in the money count to avoid overflow Also changed the degree of freedom to 0 --- src/tool/moneycount/portability_exceptions.hpp | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/tool/moneycount/portability_exceptions.hpp (limited to 'src/tool/moneycount/portability_exceptions.hpp') diff --git a/src/tool/moneycount/portability_exceptions.hpp b/src/tool/moneycount/portability_exceptions.hpp new file mode 100644 index 0000000..c66b7bf --- /dev/null +++ b/src/tool/moneycount/portability_exceptions.hpp @@ -0,0 +1,33 @@ +#ifndef STLPLUS_PORTABILITY_EXCEPTIONS +#define STLPLUS_PORTABILITY_EXCEPTIONS +//////////////////////////////////////////////////////////////////////////////// + +// Author: Andy Rushton +// Copyright: (c) Southampton University 1999-2004 +// (c) Andy Rushton 2004-2009 +// License: BSD License, see ../docs/license.html + +// Adds missing arithmetic exceptions used in this library but missing from std + +//////////////////////////////////////////////////////////////////////////////// +#include "portability_fixes.hpp" +#include +#include + +namespace stlplus +{ + + //////////////////////////////////////////////////////////////////////////////// + // thrown by division when the divisor is zero + // This is a subclass of std::logic_error so can be caught by a generic catch clause for the superclass + + class divide_by_zero : public std::logic_error { + public: + divide_by_zero (const std::string& what_arg): std::logic_error (what_arg) { } + }; + +//////////////////////////////////////////////////////////////////////////////// + +} // end namespace stlplus + +#endif -- cgit v1.2.3-70-g09d2