Chris@16: /* Boost interval/ext/integer.hpp template implementation file Chris@16: * Chris@16: * Copyright 2003 Guillaume Melquiond Chris@16: * Chris@16: * Distributed under the Boost Software License, Version 1.0. Chris@16: * (See accompanying file LICENSE_1_0.txt or Chris@16: * copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: */ Chris@16: Chris@16: #ifndef BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP Chris@16: #define BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: namespace boost { Chris@16: namespace numeric { Chris@16: Chris@16: template inline Chris@16: interval operator+ (const interval& x, int y) Chris@16: { Chris@16: return x + static_cast(y); Chris@16: } Chris@16: Chris@16: template inline Chris@16: interval operator+ (int x, const interval& y) Chris@16: { Chris@16: return static_cast(x) + y; Chris@16: } Chris@16: Chris@16: template inline Chris@16: interval operator- (const interval& x, int y) Chris@16: { Chris@16: return x - static_cast(y); Chris@16: } Chris@16: Chris@16: template inline Chris@16: interval operator- (int x, const interval& y) Chris@16: { Chris@16: return static_cast(x) - y; Chris@16: } Chris@16: Chris@16: template inline Chris@16: interval operator* (const interval& x, int y) Chris@16: { Chris@16: return x * static_cast(y); Chris@16: } Chris@16: Chris@16: template inline Chris@16: interval operator* (int x, const interval& y) Chris@16: { Chris@16: return static_cast(x) * y; Chris@16: } Chris@16: Chris@16: template inline Chris@16: interval operator/ (const interval& x, int y) Chris@16: { Chris@16: return x / static_cast(y); Chris@16: } Chris@16: Chris@16: template inline Chris@16: interval operator/ (int x, const interval& y) Chris@16: { Chris@16: return static_cast(x) / y; Chris@16: } Chris@16: Chris@16: } // namespace numeric Chris@16: } // namespace boost Chris@16: Chris@16: #endif // BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP