/* Boost test/overflow.cpp * test if extended precision exponent does not disturb interval computation * * Copyright 2002-2003 Guillaume Melquiond * * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or * copy at http://www.boost.org/LICENSE_1_0.txt) */ #include #include #include "bugs.hpp" template void test_one(typename I::base_type x, typename I::base_type f) { I y = x; typename I::base_type g = 1 / f; const int nb = 10000; for(int i = 0; i < nb; i++) y *= f; for(int i = 0; i < nb; i++) y *= g; BOOST_TEST(in(x, y)); # ifdef BOOST_BORLANDC ::detail::ignore_unused_variable_warning(nb); # endif } template void test() { test_one(1., 25.); test_one(1., 0.04); test_one(-1., 25.); test_one(-1., 0.04); } int main() { test >(); test >(); //test >(); # ifdef BOOST_BORLANDC ::detail::ignore_warnings(); # endif return boost::report_errors(); }