From 6b464f7fa67e6bdc4c6039da2acf79d9a60e7a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Sat, 4 Oct 2014 16:37:40 +0200 Subject: [PATCH] Deprecated "eo/contrib/boost/" folder + minor errors on several CMakeLists.txt from test folder and on an eompi test file. --- src/eo/contrib/boost/config.hpp | 59 -- src/eo/contrib/boost/config/abi_prefix.hpp | 20 - src/eo/contrib/boost/config/abi_suffix.hpp | 21 - src/eo/contrib/boost/config/auto_link.hpp | 344 ----------- .../contrib/boost/config/compiler/borland.hpp | 175 ------ .../contrib/boost/config/compiler/comeau.hpp | 59 -- .../boost/config/compiler/common_edg.hpp | 62 -- .../boost/config/compiler/compaq_cxx.hpp | 19 - .../boost/config/compiler/digitalmars.hpp | 49 -- src/eo/contrib/boost/config/compiler/gcc.hpp | 105 ---- .../boost/config/compiler/greenhills.hpp | 28 - .../contrib/boost/config/compiler/hp_acc.hpp | 70 --- .../contrib/boost/config/compiler/intel.hpp | 146 ----- src/eo/contrib/boost/config/compiler/kai.hpp | 35 -- .../boost/config/compiler/metrowerks.hpp | 104 ---- src/eo/contrib/boost/config/compiler/mpw.hpp | 51 -- .../boost/config/compiler/sgi_mipspro.hpp | 24 - .../boost/config/compiler/sunpro_cc.hpp | 90 --- .../contrib/boost/config/compiler/vacpp.hpp | 58 -- .../contrib/boost/config/compiler/visualc.hpp | 147 ----- src/eo/contrib/boost/config/platform/aix.hpp | 33 -- .../contrib/boost/config/platform/amigaos.hpp | 15 - src/eo/contrib/boost/config/platform/beos.hpp | 26 - src/eo/contrib/boost/config/platform/bsd.hpp | 71 --- .../contrib/boost/config/platform/cygwin.hpp | 48 -- src/eo/contrib/boost/config/platform/hpux.hpp | 68 --- src/eo/contrib/boost/config/platform/irix.hpp | 31 - .../contrib/boost/config/platform/linux.hpp | 98 ---- .../contrib/boost/config/platform/macos.hpp | 78 --- .../contrib/boost/config/platform/solaris.hpp | 21 - .../contrib/boost/config/platform/win32.hpp | 50 -- .../contrib/boost/config/posix_features.hpp | 87 --- .../contrib/boost/config/requires_threads.hpp | 92 --- .../boost/config/select_compiler_config.hpp | 83 --- .../boost/config/select_platform_config.hpp | 86 --- .../boost/config/select_stdlib_config.hpp | 68 --- .../boost/config/stdlib/dinkumware.hpp | 106 ---- .../contrib/boost/config/stdlib/libcomo.hpp | 46 -- .../boost/config/stdlib/libstdcpp3.hpp | 61 -- src/eo/contrib/boost/config/stdlib/modena.hpp | 30 - src/eo/contrib/boost/config/stdlib/msl.hpp | 59 -- .../contrib/boost/config/stdlib/roguewave.hpp | 127 ---- src/eo/contrib/boost/config/stdlib/sgi.hpp | 111 ---- .../contrib/boost/config/stdlib/stlport.hpp | 201 ------- src/eo/contrib/boost/config/stdlib/vacpp.hpp | 18 - src/eo/contrib/boost/config/suffix.hpp | 547 ------------------ src/eo/contrib/boost/config/user.hpp | 124 ---- src/eo/contrib/boost/limits.hpp | 142 ----- src/eo/contrib/boost/numeric/interval.hpp | 32 - .../contrib/boost/numeric/interval/arith.hpp | 305 ---------- .../contrib/boost/numeric/interval/arith2.hpp | 212 ------- .../contrib/boost/numeric/interval/arith3.hpp | 69 --- .../boost/numeric/interval/checking.hpp | 130 ----- .../boost/numeric/interval/compare.hpp | 19 - .../numeric/interval/compare/certain.hpp | 113 ---- .../numeric/interval/compare/explicit.hpp | 248 -------- .../interval/compare/lexicographic.hpp | 122 ---- .../numeric/interval/compare/possible.hpp | 113 ---- .../boost/numeric/interval/compare/set.hpp | 101 ---- .../numeric/interval/compare/tribool.hpp | 138 ----- .../boost/numeric/interval/constants.hpp | 85 --- .../interval/detail/bcc_rounding_control.hpp | 57 -- .../boost/numeric/interval/detail/bugs.hpp | 79 --- .../interval/detail/c99_rounding_control.hpp | 47 -- .../detail/c99sub_rounding_control.hpp | 43 -- .../numeric/interval/detail/division.hpp | 194 ------- .../interval/detail/interval_prototype.hpp | 41 -- .../interval/detail/msvc_rounding_control.hpp | 88 --- .../interval/detail/ppc_rounding_control.hpp | 95 --- .../detail/sparc_rounding_control.hpp | 112 ---- .../numeric/interval/detail/test_input.hpp | 76 --- .../interval/detail/x86_rounding_control.hpp | 108 ---- .../detail/x86gcc_rounding_control.hpp | 51 -- .../boost/numeric/interval/ext/integer.hpp | 70 --- .../ext/x86_fast_rounding_control.hpp | 70 --- .../boost/numeric/interval/hw_rounding.hpp | 64 -- .../boost/numeric/interval/interval.hpp | 450 -------------- src/eo/contrib/boost/numeric/interval/io.hpp | 41 -- .../contrib/boost/numeric/interval/limits.hpp | 51 -- .../boost/numeric/interval/policies.hpp | 75 --- .../boost/numeric/interval/rounded_arith.hpp | 120 ---- .../boost/numeric/interval/rounded_transc.hpp | 140 ----- .../boost/numeric/interval/rounding.hpp | 101 ---- .../contrib/boost/numeric/interval/transc.hpp | 232 -------- .../boost/numeric/interval/utility.hpp | 331 ----------- test/edo/CMakeLists.txt | 2 +- test/eompi/CMakeLists.txt | 2 +- test/eompi/t-mpi-distrib-exp.cpp | 6 +- 88 files changed, 7 insertions(+), 8619 deletions(-) delete mode 100755 src/eo/contrib/boost/config.hpp delete mode 100755 src/eo/contrib/boost/config/abi_prefix.hpp delete mode 100755 src/eo/contrib/boost/config/abi_suffix.hpp delete mode 100755 src/eo/contrib/boost/config/auto_link.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/borland.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/comeau.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/common_edg.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/compaq_cxx.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/digitalmars.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/gcc.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/greenhills.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/hp_acc.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/intel.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/kai.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/metrowerks.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/mpw.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/sunpro_cc.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/vacpp.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/visualc.hpp delete mode 100755 src/eo/contrib/boost/config/platform/aix.hpp delete mode 100755 src/eo/contrib/boost/config/platform/amigaos.hpp delete mode 100755 src/eo/contrib/boost/config/platform/beos.hpp delete mode 100755 src/eo/contrib/boost/config/platform/bsd.hpp delete mode 100755 src/eo/contrib/boost/config/platform/cygwin.hpp delete mode 100755 src/eo/contrib/boost/config/platform/hpux.hpp delete mode 100755 src/eo/contrib/boost/config/platform/irix.hpp delete mode 100755 src/eo/contrib/boost/config/platform/linux.hpp delete mode 100755 src/eo/contrib/boost/config/platform/macos.hpp delete mode 100755 src/eo/contrib/boost/config/platform/solaris.hpp delete mode 100755 src/eo/contrib/boost/config/platform/win32.hpp delete mode 100755 src/eo/contrib/boost/config/posix_features.hpp delete mode 100755 src/eo/contrib/boost/config/requires_threads.hpp delete mode 100755 src/eo/contrib/boost/config/select_compiler_config.hpp delete mode 100755 src/eo/contrib/boost/config/select_platform_config.hpp delete mode 100755 src/eo/contrib/boost/config/select_stdlib_config.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/dinkumware.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/libcomo.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/modena.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/msl.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/roguewave.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/sgi.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/stlport.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/vacpp.hpp delete mode 100755 src/eo/contrib/boost/config/suffix.hpp delete mode 100755 src/eo/contrib/boost/config/user.hpp delete mode 100755 src/eo/contrib/boost/limits.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/arith.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/arith2.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/arith3.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/checking.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/certain.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/explicit.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/possible.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/set.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/tribool.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/constants.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/bugs.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/division.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/test_input.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/ext/integer.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/hw_rounding.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/interval.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/io.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/limits.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/policies.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/rounded_arith.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/rounded_transc.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/rounding.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/transc.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/utility.hpp diff --git a/src/eo/contrib/boost/config.hpp b/src/eo/contrib/boost/config.hpp deleted file mode 100755 index 176b4391c..000000000 --- a/src/eo/contrib/boost/config.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org/libs/config for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config -// -// CAUTION: This file is intended to be completely stable - -// DO NOT MODIFY THIS FILE! -// - -#ifndef BOOST_CONFIG_HPP -#define BOOST_CONFIG_HPP - -// if we don't have a user config, then use the default location: -#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) -# define BOOST_USER_CONFIG -#endif -// include it first: -#ifdef BOOST_USER_CONFIG -# include BOOST_USER_CONFIG -#endif - -// if we don't have a compiler config set, try and find one: -#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a compiler config, include it now: -#ifdef BOOST_COMPILER_CONFIG -# include BOOST_COMPILER_CONFIG -#endif - -// if we don't have a std library config set, try and find one: -#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a std library config, include it now: -#ifdef BOOST_STDLIB_CONFIG -# include BOOST_STDLIB_CONFIG -#endif - -// if we don't have a platform config set, try and find one: -#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a platform config, include it now: -#ifdef BOOST_PLATFORM_CONFIG -# include BOOST_PLATFORM_CONFIG -#endif - -// get config suffix code: -#include - -#endif // BOOST_CONFIG_HPP diff --git a/src/eo/contrib/boost/config/abi_prefix.hpp b/src/eo/contrib/boost/config/abi_prefix.hpp deleted file mode 100755 index a1d93a2a5..000000000 --- a/src/eo/contrib/boost/config/abi_prefix.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// abi_prefix header -------------------------------------------------------// - -// © Copyright John Maddock 2003 - -// Use, modification and distribution are subject to 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). - -#ifndef BOOST_CONFIG_ABI_PREFIX_HPP -# define BOOST_CONFIG_ABI_PREFIX_HPP -#else -# error double inclusion of header boost/config/abi_prefix.hpp is an error -#endif - -#include - -// this must occur after all other includes and before any code appears: -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif diff --git a/src/eo/contrib/boost/config/abi_suffix.hpp b/src/eo/contrib/boost/config/abi_suffix.hpp deleted file mode 100755 index f9eb493d9..000000000 --- a/src/eo/contrib/boost/config/abi_suffix.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// abi_sufffix header -------------------------------------------------------// - -// © Copyright John Maddock 2003 - -// Use, modification and distribution are subject to 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). - -// This header should be #included AFTER code that was preceded by a #include -// . - -#ifndef BOOST_CONFIG_ABI_PREFIX_HPP -# error Header boost/config/abi_prefix.hpp must only be used after boost/config/abi_prefix.hpp -#else -# undef BOOST_CONFIG_ABI_PREFIX_HPP -#endif - -// the suffix header occurs after all of our code: -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif diff --git a/src/eo/contrib/boost/config/auto_link.hpp b/src/eo/contrib/boost/config/auto_link.hpp deleted file mode 100755 index 8a3c2e194..000000000 --- a/src/eo/contrib/boost/config/auto_link.hpp +++ /dev/null @@ -1,344 +0,0 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to 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) - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE auto_link.hpp - * VERSION see - * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. - */ - -/************************************************************************* - -USAGE: -~~~~~~ - -Before including this header you must define one or more of define the following macros: - -BOOST_LIB_NAME: Required: A string containing the basename of the library, - for example boost_regex. -BOOST_LIB_TOOLSET: Optional: the base name of the toolset. -BOOST_DYN_LINK: Optional: when set link to dll rather than static library. -BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name - of the library selected (useful for debugging). -BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, - rather than a mangled-name version. - -These macros will be undef'ed at the end of the header, further this header -has no include guards - so be sure to include it only once from your library! - -Algorithm: -~~~~~~~~~~ - -Libraries for Borland and Microsoft compilers are automatically -selected here, the name of the lib is selected according to the following -formula: - -BOOST_LIB_PREFIX - + BOOST_LIB_NAME - + "_" - + BOOST_LIB_TOOLSET - + BOOST_LIB_THREAD_OPT - + BOOST_LIB_RT_OPT - "-" - + BOOST_LIB_VERSION - -These are defined as: - -BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". - -BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). - -BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). - -BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. - -BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, - contains one or more of the following letters after - a hiphen: - - s static runtime (dynamic if not present). - d debug build (release if not present). - g debug/diagnostic runtime (release if not present). - p STLPort Build. - -BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. - - -***************************************************************************/ - -#ifdef __cplusplus -# ifndef BOOST_CONFIG_HPP -# include -# endif -#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) -// -// C language compatability (no, honestly) -// -# define BOOST_MSVC _MSC_VER -# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -# define BOOST_DO_STRINGIZE(X) #X -#endif -// -// Only include what follows for known and supported compilers: -// -#if defined(BOOST_MSVC) \ - || defined(__BORLANDC__) \ - || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ - || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) - -#ifndef BOOST_VERSION_HPP -# include -#endif - -#ifndef BOOST_LIB_NAME -# error "Macro BOOST_LIB_NAME not set (internal error)" -#endif - -// -// error check: -// -#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) -# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") -# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") -# error "Incompatible build options" -#endif -// -// select toolset if not defined already: -// -#ifndef BOOST_LIB_TOOLSET -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) - - // vc6: -# define BOOST_LIB_TOOLSET "vc6" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) - - // vc7: -# define BOOST_LIB_TOOLSET "vc7" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310) - - // vc71: -# define BOOST_LIB_TOOLSET "vc71" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) - - // vc80: -# define BOOST_LIB_TOOLSET "vc80" - -#elif defined(__BORLANDC__) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb" - -#elif defined(__ICL) - - // Intel C++, no version number: -# define BOOST_LIB_TOOLSET "iw" - -#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) - - // Metrowerks CodeWarrior 8.x -# define BOOST_LIB_TOOLSET "cw8" - -#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) - - // Metrowerks CodeWarrior 9.x -# define BOOST_LIB_TOOLSET "cw9" - -#endif -#endif // BOOST_LIB_TOOLSET - -// -// select thread opt: -// -#if defined(_MT) || defined(__MT__) -# define BOOST_LIB_THREAD_OPT "-mt" -#else -# define BOOST_LIB_THREAD_OPT -#endif - -#if defined(_MSC_VER) || defined(__MWERKS__) - -# ifdef _DLL - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdp" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdp" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-p" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdpn" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdpn" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-pn" -# endif - -# else - -# if defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gd" -# else -# define BOOST_LIB_RT_OPT -# endif - -# endif - -# else - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdp" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdp" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-sp" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdpn" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdpn" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-spn" -# endif - -# else - -# if defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -# endif - -#elif defined(__BORLANDC__) - -// -// figure out whether we want the debug builds or not: -// -#if __BORLANDC__ > 0x561 -#pragma defineonoption BOOST_BORLAND_DEBUG -v -#endif -// -// sanity check: -// -#if defined(__STL_DEBUG) || defined(_STLP_DEBUG) -#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form" -#endif - -# ifdef _RTLDLL - -# ifdef BOOST_BORLAND_DEBUG -# define BOOST_LIB_RT_OPT "-d" -# else -# define BOOST_LIB_RT_OPT -# endif - -# else - -# ifdef BOOST_BORLAND_DEBUG -# define BOOST_LIB_RT_OPT "-sd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -#endif - -// -// select linkage opt: -// -#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) -# define BOOST_LIB_PREFIX -#elif defined(BOOST_DYN_LINK) -# error "Mixing a dll boost library with a static runtime is a really bad idea..." -#else -# define BOOST_LIB_PREFIX "lib" -#endif - -// -// now include the lib: -// -#if defined(BOOST_LIB_NAME) \ - && defined(BOOST_LIB_PREFIX) \ - && defined(BOOST_LIB_TOOLSET) \ - && defined(BOOST_LIB_THREAD_OPT) \ - && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_VERSION) - -#ifndef BOOST_AUTO_LINK_NOMANGLE -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") -# endif -#else -# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") -# endif -#endif - -#else -# error "some required macros where not defined (internal logic error)." -#endif - - -#endif // _MSC_VER || __BORLANDC__ - -// -// finally undef any macros we may have set: -// -#ifdef BOOST_LIB_PREFIX -# undef BOOST_LIB_PREFIX -#endif -#if defined(BOOST_LIB_NAME) -# undef BOOST_LIB_NAME -#endif -#if defined(BOOST_LIB_TOOLSET) -# undef BOOST_LIB_TOOLSET -#endif -#if defined(BOOST_LIB_THREAD_OPT) -# undef BOOST_LIB_THREAD_OPT -#endif -#if defined(BOOST_LIB_RT_OPT) -# undef BOOST_LIB_RT_OPT -#endif -#if defined(BOOST_LIB_LINK_OPT) -# undef BOOST_LIB_LINK_OPT -#endif -#if defined(BOOST_LIB_DEBUG_OPT) -# undef BOOST_LIB_DEBUG_OPT -#endif -#if defined(BOOST_DYN_LINK) -# undef BOOST_DYN_LINK -#endif -#if defined(BOOST_AUTO_LINK_NOMANGLE) -# undef BOOST_AUTO_LINK_NOMANGLE -#endif diff --git a/src/eo/contrib/boost/config/compiler/borland.hpp b/src/eo/contrib/boost/config/compiler/borland.hpp deleted file mode 100755 index 66769bec5..000000000 --- a/src/eo/contrib/boost/config/compiler/borland.hpp +++ /dev/null @@ -1,175 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Borland C++ compiler setup: - -// Version 5.0 and below: -# if __BORLANDC__ <= 0x0550 -// Borland C++Builder 4 and 5: -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# if __BORLANDC__ == 0x0550 -// Borland C++Builder 5, command-line compiler 5.5: -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif -# endif - -// Version 5.51 and below: -#if (__BORLANDC__ <= 0x551) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_DEDUCED_TYPENAME -// workaround for missing WCHAR_MAX/WCHAR_MIN: -#include -#include -#ifndef WCHAR_MAX -# define WCHAR_MAX 0xffff -#endif -#ifndef WCHAR_MIN -# define WCHAR_MIN 0 -#endif -#endif - -// Version 7.0 (Kylix) and below: -#if (__BORLANDC__ <= 0x570) -# define BOOST_NO_SFINAE -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# define BOOST_NO_USING_TEMPLATE -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS - // we shouldn't really need this - but too many things choke - // without it, this needs more investigation: -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# define BOOST_NO_IS_ABSTRACT -# ifdef NDEBUG - // fix broken so that Boost.test works: -# include -# undef strcmp -# endif - -// -// new bug in 5.61: -#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x570) - // this seems to be needed by the command line compiler, but not the IDE: -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -# ifdef _WIN32 -# define BOOST_NO_SWPRINTF -# elif defined(linux) || defined(__linux__) || defined(__linux) - // we should really be able to do without this - // but the wcs* functions aren't imported into std:: -# define BOOST_NO_STDC_NAMESPACE - // _CPPUNWIND doesn't get automatically set for some reason: -# pragma defineonoption BOOST_CPPUNWIND -x -# endif -#endif - -// -// Post 0x561 we have long long and stdint.h: -#if __BORLANDC__ >= 0x561 -# ifndef __NO_LONG_LONG -# define BOOST_HAS_LONG_LONG -# endif - // On non-Win32 platforms let the platform config figure this out: -# ifdef _WIN32 -# define BOOST_HAS_STDINT_H -# endif -#endif - -// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is -// defined, then we have 0x560 or greater with the Rogue Wave implementation -// which presumably has the std::DBL_MAX bug. -#if ((__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560)) || defined(_USE_OLD_RW_STL) -// is partly broken, some macros define symbols that are really in -// namespace std, so you end up having to use illegal constructs like -// std::DBL_MAX, as a fix we'll just include float.h and have done with: -#include -#endif -// -// __int64: -// -#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) -# define BOOST_HAS_MS_INT64 -#endif -// -// check for exception handling support: -// -#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif -// -// all versions have a : -// -#ifndef __STRICT_ANSI__ -# define BOOST_HAS_DIRENT_H -#endif -// -// all versions support __declspec: -// -#ifndef __STRICT_ANSI__ -# define BOOST_HAS_DECLSPEC -#endif -// -// ABI fixing headers: -// -#if __BORLANDC__ < 0x600 // not implemented for version 6 compiler yet -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" -#endif -#endif -// -// Disable Win32 support in ANSI mode: -// -#if __BORLANDC__ < 0x600 -# pragma defineonoption BOOST_DISABLE_WIN32 -A -#elif defined(__STRICT_ANSI__) -# define BOOST_DISABLE_WIN32 -#endif -// -// MSVC compatibility mode does some nasty things: -// -#if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_VOID_RETURNS -#endif - -#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) - -// -// versions check: -// we don't support Borland prior to version 5.4: -#if __BORLANDC__ < 0x540 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 1536 (Builder X preview): -#if (__BORLANDC__ > 1536) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -# pragma message( "Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - - - - - - - - diff --git a/src/eo/contrib/boost/config/compiler/comeau.hpp b/src/eo/contrib/boost/config/compiler/comeau.hpp deleted file mode 100755 index 1b71008e0..000000000 --- a/src/eo/contrib/boost/config/compiler/comeau.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Douglas Gregor 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Aleksey Gurtovoy 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Comeau C++ compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -#if (__COMO_VERSION__ <= 4245) - -# if defined(_MSC_VER) && _MSC_VER <= 1300 -# if _MSC_VER > 100 - // only set this in non-strict mode: -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# endif -# endif - -// Void returns don't work when emulating VC 6 (Peter Dimov) - -# if defined(_MSC_VER) && (_MSC_VER == 1200) -# define BOOST_NO_VOID_RETURNS -# endif - -#endif // version 4245 - -// -// enable __int64 support in VC emulation mode -// -# if defined(_MSC_VER) && (_MSC_VER >= 1200) -# define BOOST_HAS_MS_INT64 -# endif - -#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) - -// -// versions check: -// we don't know Comeau prior to version 4245: -#if __COMO_VERSION__ < 4245 -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 4245: -#if (__COMO_VERSION__ > 4245) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/src/eo/contrib/boost/config/compiler/common_edg.hpp b/src/eo/contrib/boost/config/compiler/common_edg.hpp deleted file mode 100755 index 0443be1ae..000000000 --- a/src/eo/contrib/boost/config/compiler/common_edg.hpp +++ /dev/null @@ -1,62 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright Markus Schoepflin 2005. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// -// Options common to all edg based compilers. -// -// This is included from within the individual compiler mini-configs. - -#ifndef __EDG_VERSION__ -# error This file requires that __EDG_VERSION__ be defined. -#endif - -#if (__EDG_VERSION__ <= 238) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_SFINAE -#endif - -#if (__EDG_VERSION__ <= 240) -# define BOOST_NO_VOID_RETURNS -#endif - -#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -#endif - -#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) -# define BOOST_NO_TEMPLATE_TEMPLATES -#endif - -#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) -# define BOOST_NO_IS_ABSTRACT -#endif - -#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// See also kai.hpp which checks a Kai-specific symbol for EH -# if !defined(__KCC) && !defined(__EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -# endif - -# if !defined(__NO_LONG_LONG) -# define BOOST_HAS_LONG_LONG -# endif - -#ifdef c_plusplus -// EDG has "long long" in non-strict mode -// However, some libraries have insufficient "long long" support -// #define BOOST_HAS_LONG_LONG -#endif - - - diff --git a/src/eo/contrib/boost/config/compiler/compaq_cxx.hpp b/src/eo/contrib/boost/config/compiler/compaq_cxx.hpp deleted file mode 100755 index a52e66a29..000000000 --- a/src/eo/contrib/boost/config/compiler/compaq_cxx.hpp +++ /dev/null @@ -1,19 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Dec Alpha True64 C++ compiler setup: - -#define BOOST_COMPILER "Dec Alpha True64 " BOOST_STRINGIZE(__DECCXX_VER) - -#include "boost/config/compiler/common_edg.hpp" - -// -// versions check: -// Nothing to do here? - - - diff --git a/src/eo/contrib/boost/config/compiler/digitalmars.hpp b/src/eo/contrib/boost/config/compiler/digitalmars.hpp deleted file mode 100755 index 32fc71faf..000000000 --- a/src/eo/contrib/boost/config/compiler/digitalmars.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (C) Christof Meerwald 2003 -// Copyright (C) Dan Watkins 2003 -// -// Use, modification and distribution are subject to 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) - -// Digital Mars C++ compiler setup: -#define BOOST_COMPILER __DMC_VERSION_STRING__ - -#define BOOST_HAS_LONG_LONG -#define BOOST_HAS_PRAGMA_ONCE - -#if (__DMC__ <= 0x833) -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#define BOOST_NO_TEMPLATE_TEMPLATES -#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING -#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#endif -#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG) -#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#define BOOST_NO_OPERATORS_IN_NAMESPACE -#define BOOST_NO_UNREACHABLE_RETURN_DETECTION -#define BOOST_NO_SFINAE -#define BOOST_NO_USING_TEMPLATE -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// has macros: -#if (__DMC__ >= 0x840) -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_WINTHREADS -#endif - - -// check for exception handling support: -#ifndef _CPPUNWIND -# define BOOST_NO_EXCEPTIONS -#endif - -#if (__DMC__ < 0x840) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif diff --git a/src/eo/contrib/boost/config/compiler/gcc.hpp b/src/eo/contrib/boost/config/compiler/gcc.hpp deleted file mode 100755 index d94b16b76..000000000 --- a/src/eo/contrib/boost/config/compiler/gcc.hpp +++ /dev/null @@ -1,105 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Jens Maurer 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Douglas Gregor 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Synge Todo 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// GNU C++ compiler setup: - -#if __GNUC__ < 3 -# if __GNUC_MINOR__ == 91 - // egcs 1.1 won't parse shared_ptr.hpp without this: -# define BOOST_NO_AUTO_PTR -# endif -# if __GNUC_MINOR__ < 95 - // - // Prior to gcc 2.95 member templates only partly - // work - define BOOST_MSVC6_MEMBER_TEMPLATES - // instead since inline member templates mostly work. - // -# define BOOST_NO_MEMBER_TEMPLATES -# if __GNUC_MINOR__ >= 9 -# define BOOST_MSVC6_MEMBER_TEMPLATES -# endif -# endif - -# if __GNUC_MINOR__ < 96 -# define BOOST_NO_SFINAE -# endif - -# if __GNUC_MINOR__ <= 97 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif - -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# define BOOST_NO_IS_ABSTRACT -#elif __GNUC__ == 3 - // - // gcc-3.x problems: - // - // Bug specific to gcc 3.1 and 3.2: - // -# if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2)) -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# endif -# if __GNUC_MINOR__ < 4 -# define BOOST_NO_IS_ABSTRACT -# endif -#endif - -#ifndef __EXCEPTIONS -# define BOOST_NO_EXCEPTIONS -#endif - - -// -// Threading support: Turn this on unconditionally here (except for -// those platforms where we can know for sure). It will get turned off again -// later if no threading API is detected. -// -#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) -# define BOOST_HAS_THREADS -#endif - -// -// gcc has "long long" -// -#define BOOST_HAS_LONG_LONG - -// -// gcc implements the named return value optimization since version 3.1 -// -#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 ) -#define BOOST_HAS_NRVO -#endif - -#define BOOST_COMPILER "GNU C++ version " __VERSION__ - -// -// versions check: -// we don't know gcc prior to version 2.90: -#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 4.0 (Pre-release): -#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 0)) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -// we don't emit warnings here anymore since there are no defect macros defined for -// gcc post 3.4, so any failures are gcc regressions... -//# warning "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/src/eo/contrib/boost/config/compiler/greenhills.hpp b/src/eo/contrib/boost/config/compiler/greenhills.hpp deleted file mode 100755 index 038b6b2b5..000000000 --- a/src/eo/contrib/boost/config/compiler/greenhills.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Greenhills C++ compiler setup: - -#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) - -#include "boost/config/compiler/common_edg.hpp" - -// -// versions check: -// we don't support Greenhills prior to version 0: -#if __ghs < 0 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0: -#if (__ghs > 0) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/src/eo/contrib/boost/config/compiler/hp_acc.hpp b/src/eo/contrib/boost/config/compiler/hp_acc.hpp deleted file mode 100755 index 3d05ba563..000000000 --- a/src/eo/contrib/boost/config/compiler/hp_acc.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Toon Knapen 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// HP aCC C++ compiler setup: - -#if (__HP_aCC <= 33100) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# if !defined(_NAMESPACE_STD) -# define BOOST_NO_STD_LOCALE -# define BOOST_NO_STRINGSTREAM -# endif -#endif - -#if (__HP_aCC <= 33300) -// member templates are sufficiently broken that we disable them for now -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -#endif - -#if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_SWPRINTF -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_IS_ABSTRACT -// std lib config should set this one already: -//# define BOOST_NO_STD_ALLOCATOR -#endif - -// optional features rather than defects: -#if (__HP_aCC >= 33900) -# define BOOST_HAS_LONG_LONG -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS - -#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) - -// -// versions check: -// we don't support HP aCC prior to version 0: -#if __HP_aCC < 33000 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0: -#if (__HP_aCC > 53800) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/src/eo/contrib/boost/config/compiler/intel.hpp b/src/eo/contrib/boost/config/compiler/intel.hpp deleted file mode 100755 index 652557766..000000000 --- a/src/eo/contrib/boost/config/compiler/intel.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright Guillaume Melquiond 2002 - 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Martin Wille 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Intel compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -#if defined(__INTEL_COMPILER) -# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER -#elif defined(__ICL) -# define BOOST_INTEL_CXX_VERSION __ICL -#elif defined(__ICC) -# define BOOST_INTEL_CXX_VERSION __ICC -#elif defined(__ECC) -# define BOOST_INTEL_CXX_VERSION __ECC -#endif - -#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -#define BOOST_INTEL BOOST_INTEL_CXX_VERSION - -#if defined(_WIN32) || defined(_WIN64) -# define BOOST_INTEL_WIN BOOST_INTEL -#else -# define BOOST_INTEL_LINUX BOOST_INTEL -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# define BOOST_NO_TEMPLATE_TEMPLATES -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 600) - -# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) - -// Boost libraries assume strong standard conformance unless otherwise -// indicated by a config macro. As configured by Intel, the EDG front-end -// requires certain compiler options be set to achieve that strong conformance. -// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) -// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for -// details as they apply to particular versions of the compiler. When the -// compiler does not predefine a macro indicating if an option has been set, -// this config file simply assumes the option has been set. -// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if -// the compiler option is not enabled. - -# define BOOST_NO_SWPRINTF -# endif - -// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) - -# if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_VOID_RETURNS -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -#endif - -// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 -#if BOOST_INTEL_CXX_VERSION < 600 -# define BOOST_NO_INTRINSIC_WCHAR_T -#else -// We should test the macro _WCHAR_T_DEFINED to check if the compiler -// supports wchar_t natively. *BUT* there is a problem here: the standard -// headers define this macro if they typedef wchar_t. Anyway, we're lucky -// because they define it without a value, while Intel C++ defines it -// to 1. So we can check its value to see if the macro was defined natively -// or not. -// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T -// is used instead. -# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) -# define BOOST_NO_INTRINSIC_WCHAR_T -# endif -#endif - -// -// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T -// set correctly, if we don't do this now, we will get errors later -// in type_traits code among other things, getting this correct -// for the Intel compiler is actually remarkably fragile and tricky: -// -#if defined(BOOST_NO_INTRINSIC_WCHAR_T) -#include -template< typename T > struct assert_no_intrinsic_wchar_t; -template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; -// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T -// where it is defined above: -typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; -#else -template< typename T > struct assert_intrinsic_wchar_t; -template<> struct assert_intrinsic_wchar_t {}; -// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: -template<> struct assert_intrinsic_wchar_t {}; -#endif - -#if _MSC_VER+0 >= 1000 -# if _MSC_VER >= 1200 -# define BOOST_HAS_MS_INT64 -# endif -# define BOOST_NO_SWPRINTF -#elif defined(_WIN32) -# define BOOST_DISABLE_WIN32 -#endif - -// I checked version 6.0 build 020312Z, it implements the NRVO. -// Correct this as you find out which version of the compiler -// implemented the NRVO first. (Daniel Frey) -#if (BOOST_INTEL_CXX_VERSION >= 600) -# define BOOST_HAS_NRVO -#endif - -// -// versions check: -// we don't support Intel prior to version 5.0: -#if BOOST_INTEL_CXX_VERSION < 500 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version: -#if (BOOST_INTEL_CXX_VERSION > 900) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# elif defined(_MSC_VER) -# pragma message("Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - - - - - diff --git a/src/eo/contrib/boost/config/compiler/kai.hpp b/src/eo/contrib/boost/config/compiler/kai.hpp deleted file mode 100755 index de16f1a67..000000000 --- a/src/eo/contrib/boost/config/compiler/kai.hpp +++ /dev/null @@ -1,35 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Kai C++ compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) - // at least on Sun, the contents of is not in namespace std -# define BOOST_NO_STDC_NAMESPACE -# endif - -// see also common_edg.hpp which needs a special check for __KCC -# if !defined(_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -# endif - -#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION) - -// -// last known and checked version is 4001: -#if (__KCC_VERSION > 4001) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - diff --git a/src/eo/contrib/boost/config/compiler/metrowerks.hpp b/src/eo/contrib/boost/config/compiler/metrowerks.hpp deleted file mode 100755 index f173295eb..000000000 --- a/src/eo/contrib/boost/config/compiler/metrowerks.hpp +++ /dev/null @@ -1,104 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright David Abrahams 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Stefan Slapeta 2004. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Metrowerks C++ compiler setup: - -// locale support is disabled when linking with the dynamic runtime -# ifdef _MSL_NO_LOCALE -# define BOOST_NO_STD_LOCALE -# endif - -# if __MWERKS__ <= 0x2301 // 5.3 -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_NO_POINTER_TO_MEMBER_CONST -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# endif - -# if __MWERKS__ <= 0x2401 // 6.2 -//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# endif - -# if(__MWERKS__ <= 0x2407) // 7.x -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -# define BOOST_NO_UNREACHABLE_RETURN_DETECTION -# endif - -# if(__MWERKS__ <= 0x3003) // 8.x -# define BOOST_NO_SFINAE -# endif - -// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last -// tested version *only*: -# if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_IS_ABSTRACT -# endif - -#if !__option(wchar_type) -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -#if !__option(exceptions) -# define BOOST_NO_EXCEPTIONS -#endif - -#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) -# if __MWERKS__ == 0x3000 -# define BOOST_COMPILER_VERSION 8.0 -# elif __MWERKS__ == 0x3001 -# define BOOST_COMPILER_VERSION 8.1 -# elif __MWERKS__ == 0x3002 -# define BOOST_COMPILER_VERSION 8.2 -# elif __MWERKS__ == 0x3003 -# define BOOST_COMPILER_VERSION 8.3 -# elif __MWERKS__ == 0x3200 -# define BOOST_COMPILER_VERSION 9.0 -# elif __MWERKS__ == 0x3201 -# define BOOST_COMPILER_VERSION 9.1 -# elif __MWERKS__ == 0x3202 -# define BOOST_COMPILER_VERSION 9.2 -# elif __MWERKS__ == 0x3204 -# define BOOST_COMPILER_VERSION 9.3 -# elif __MWERKS__ == 0x3205 -# define BOOST_COMPILER_VERSION 9.4 -# elif __MWERKS__ == 0x3206 -# define BOOST_COMPILER_VERSION 9.5 -# else -# define BOOST_COMPILER_VERSION __MWERKS__ -# endif -#else -# define BOOST_COMPILER_VERSION __MWERKS__ -#endif - -#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - -// -// versions check: -// we don't support Metrowerks prior to version 5.3: -#if __MWERKS__ < 0x2301 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version: -#if (__MWERKS__ > 0x3205) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - - - - diff --git a/src/eo/contrib/boost/config/compiler/mpw.hpp b/src/eo/contrib/boost/config/compiler/mpw.hpp deleted file mode 100755 index 8ab2aacb6..000000000 --- a/src/eo/contrib/boost/config/compiler/mpw.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// MPW C++ compilers setup: - -# if defined(__SC__) -# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) -# elif defined(__MRC__) -# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) -# else -# error "Using MPW compiler configuration by mistake. Please update." -# endif - -// -// MPW 8.90: -// -#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_USING_TEMPLATE - -# define BOOST_NO_CWCHAR -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - -# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ -#endif - -// -// versions check: -// we don't support MPW prior to version 8.9: -#if MPW_CPLUS < 0x890 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0x890: -#if (MPW_CPLUS > 0x890) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp b/src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp deleted file mode 100755 index 689b67eeb..000000000 --- a/src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// SGI C++ compiler setup: - -#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) - -#include "boost/config/compiler/common_edg.hpp" - -// -// Threading support: -// Turn this on unconditionally here, it will get turned off again later -// if no threading API is detected. -// -#define BOOST_HAS_THREADS -// -// version check: -// probably nothing to do here? - - diff --git a/src/eo/contrib/boost/config/compiler/sunpro_cc.hpp b/src/eo/contrib/boost/config/compiler/sunpro_cc.hpp deleted file mode 100755 index eca19feb0..000000000 --- a/src/eo/contrib/boost/config/compiler/sunpro_cc.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright Peter Dimov 2002. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright David Abrahams 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Sun C++ compiler setup: - -# if __SUNPRO_CC <= 0x500 -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# endif - -# if (__SUNPRO_CC <= 0x520) - // - // Sunpro 5.2 and earler: - // - // although sunpro 5.2 supports the syntax for - // inline initialization it often gets the value - // wrong, especially where the value is computed - // from other constants (J Maddock 6th May 2001) -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION - - // Although sunpro 5.2 supports the syntax for - // partial specialization, it often seems to - // bind to the wrong specialization. Better - // to disable it until suppport becomes more stable - // (J Maddock 6th May 2001). -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# endif - -# if (__SUNPRO_CC <= 0x530) - // Requesting debug info (-g) with Boost.Python results - // in an internal compiler error for "static const" - // initialized in-class. - // >> Assertion: (../links/dbg_cstabs.cc, line 611) - // while processing ../test.cpp at line 0. - // (Jens Maurer according to Gottfried Ganßauge 04 Mar 2002) -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION - - // SunPro 5.3 has better support for partial specialization, - // but breaks when compiling std::less > - // (Jens Maurer 4 Nov 2001). - - // std::less specialization fixed as reported by George - // Heintzelman; partial specialization re-enabled - // (Peter Dimov 17 Jan 2002) - -//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - // integral constant expressions with 64 bit numbers fail -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -# if (__SUNPRO_CC < 0x570) -# define BOOST_NO_TEMPLATE_TEMPLATES - // see http://lists.boost.org/MailArchives/boost/msg47184.php - // and http://lists.boost.org/MailArchives/boost/msg47220.php -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_SFINAE -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# define BOOST_NO_IS_ABSTRACT -# endif - -#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) - -// -// versions check: -// we don't support sunpro prior to version 4: -#if __SUNPRO_CC < 0x400 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0x570: -#if (__SUNPRO_CC > 0x570) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - - - diff --git a/src/eo/contrib/boost/config/compiler/vacpp.hpp b/src/eo/contrib/boost/config/compiler/vacpp.hpp deleted file mode 100755 index 4cf0de7c1..000000000 --- a/src/eo/contrib/boost/config/compiler/vacpp.hpp +++ /dev/null @@ -1,58 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Toon Knapen 2001 - 2003. -// (C) Copyright Lie-Quan Lee 2001. -// (C) Copyright Markus Schöpflin 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Visual Age (IBM) C++ compiler setup: - -#if __IBMCPP__ <= 501 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -#if (__IBMCPP__ <= 502) -// Actually the compiler supports inclass member initialization but it -// requires a definition for the class member and it doesn't recognize -// it as an integral constant expression when used as a template argument. -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES 1 -#endif - -// -// On AIX thread support seems to be indicated by _THREAD_SAFE: -// -#ifdef _THREAD_SAFE -# define BOOST_HAS_THREADS -#endif - -#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) - -// -// versions check: -// we don't support Visual age prior to version 5: -#if __IBMCPP__ < 500 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 600: -#if (__IBMCPP__ > 600) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/src/eo/contrib/boost/config/compiler/visualc.hpp b/src/eo/contrib/boost/config/compiler/visualc.hpp deleted file mode 100755 index 1ce600ccf..000000000 --- a/src/eo/contrib/boost/config/compiler/visualc.hpp +++ /dev/null @@ -1,147 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Microsoft Visual C++ compiler setup: - -#define BOOST_MSVC _MSC_VER - -// turn off the warnings before we #include anything -#pragma warning( disable : 4503 ) // warning: decorated name length exceeded - -#if _MSC_VER < 1300 // 1200 == VC++ 6.0, 1201 == EVC4.2 -#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_VOID_RETURNS -# define BOOST_NO_EXCEPTION_STD_NAMESPACE - // disable min/max macro defines on vc6: - // -#endif - -#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0 - -#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -#endif - -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_DEDUCED_TYPENAME -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE - -// VC++ 6/7 has member templates but they have numerous problems including -// cases of silent failure, so for safety we define: -# define BOOST_NO_MEMBER_TEMPLATES -// For VC++ experts wishing to attempt workarounds, we define: -# define BOOST_MSVC6_MEMBER_TEMPLATES - -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_NO_USING_TEMPLATE -# define BOOST_NO_SWPRINTF -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_SFINAE -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -# define BOOST_NO_IS_ABSTRACT -# if (_MSC_VER > 1200) -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -# endif - -#endif - -#if _MSC_VER < 1310 // 1310 == VC++ 7.1 -# define BOOST_NO_SWPRINTF -#endif - -#if _MSC_VER <= 1400 // 1400 == VC++ 8.0 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#endif - -#ifndef _NATIVE_WCHAR_T_DEFINED -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -#ifdef _WIN32_WCE -# define BOOST_NO_THREADEX -# define BOOST_NO_GETSYSTEMTIMEASFILETIME -#endif - -// -// check for exception handling support: -#ifndef _CPPUNWIND -# define BOOST_NO_EXCEPTIONS -#endif - -// -// __int64 support: -// -#if (_MSC_VER >= 1200) -# define BOOST_HAS_MS_INT64 -#endif -#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS) -# define BOOST_HAS_LONG_LONG -#endif -// -// disable Win32 API's if compiler extentions are -// turned off: -// -#ifndef _MSC_EXTENSIONS -# define BOOST_DISABLE_WIN32 -#endif - -// -// all versions support __declspec: -// -#define BOOST_HAS_DECLSPEC -// -// prefix and suffix headers: -// -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" -#endif - -# if _MSC_VER == 1200 -# define BOOST_COMPILER_VERSION 6.0 -# elif _MSC_VER == 1300 -# define BOOST_COMPILER_VERSION 7.0 -# elif _MSC_VER == 1310 -# define BOOST_COMPILER_VERSION 7.1 -# elif _MSC_VER == 1400 -# define BOOST_COMPILER_VERSION 8.0 -# else -# define BOOST_COMPILER_VERSION _MSC_VER -# endif - -#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - -// -// versions check: -// we don't support Visual C++ prior to version 6: -#if _MSC_VER < 1200 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 1310: -#if (_MSC_VER > 1400) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -# pragma message("Unknown compiler version - please run the configure tests and report the results") -# endif -#endif diff --git a/src/eo/contrib/boost/config/platform/aix.hpp b/src/eo/contrib/boost/config/platform/aix.hpp deleted file mode 100755 index 894ef42ce..000000000 --- a/src/eo/contrib/boost/config/platform/aix.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// IBM/Aix specific config options: - -#define BOOST_PLATFORM "IBM Aix" - -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_NL_TYPES_H -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_CLOCK_GETTIME - -// This needs support in "boost/cstdint.hpp" exactly like FreeBSD. -// This platform has header named which includes all -// the things needed. -#define BOOST_HAS_STDINT_H - -// Threading API's: -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_PTHREAD_DELAY_NP -#define BOOST_HAS_SCHED_YIELD -//#define BOOST_HAS_PTHREAD_YIELD - -// boilerplate code: -#include - - - - diff --git a/src/eo/contrib/boost/config/platform/amigaos.hpp b/src/eo/contrib/boost/config/platform/amigaos.hpp deleted file mode 100755 index 34bcf4128..000000000 --- a/src/eo/contrib/boost/config/platform/amigaos.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -#define BOOST_PLATFORM "AmigaOS" - -#define BOOST_DISABLE_THREADS -#define BOOST_NO_CWCHAR -#define BOOST_NO_STD_WSTRING -#define BOOST_NO_INTRINSIC_WCHAR_T - - diff --git a/src/eo/contrib/boost/config/platform/beos.hpp b/src/eo/contrib/boost/config/platform/beos.hpp deleted file mode 100755 index 48c3d8dc5..000000000 --- a/src/eo/contrib/boost/config/platform/beos.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// BeOS specific config options: - -#define BOOST_PLATFORM "BeOS" - -#define BOOST_NO_CWCHAR -#define BOOST_NO_CWCTYPE -#define BOOST_HAS_UNISTD_H - -#define BOOST_HAS_BETHREADS - -#ifndef BOOST_DISABLE_THREADS -# define BOOST_HAS_THREADS -#endif - -// boilerplate code: -#include - - - diff --git a/src/eo/contrib/boost/config/platform/bsd.hpp b/src/eo/contrib/boost/config/platform/bsd.hpp deleted file mode 100755 index 09988e0ca..000000000 --- a/src/eo/contrib/boost/config/platform/bsd.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Douglas Gregor 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// generic BSD config options: - -#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) -#error "This platform is not BSD" -#endif - -#ifdef __FreeBSD__ -#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__) -#elif defined(__NetBSD__) -#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__) -#elif defined(__OpenBSD__) -#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__) -#endif - -// -// is this the correct version check? -// FreeBSD has but does not -// advertise the fact in : -// -#if defined(__FreeBSD__) && (__FreeBSD__ >= 3) -# define BOOST_HAS_NL_TYPES_H -#endif - -// -// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in -// and not in -// -#if defined(__FreeBSD__) && (__FreeBSD__ <= 3) -# define BOOST_HAS_PTHREADS -#endif - -// -// No wide character support in the BSD header files: -// -#if !(defined(__FreeBSD__) && (__FreeBSD__ >= 5)) -# define BOOST_NO_CWCHAR -#endif -// -// The BSD has macros only, no functions: -// -#if !defined(__OpenBSD__) -# define BOOST_NO_CTYPE_FUNCTIONS -#endif - -// -// thread API's not auto detected: -// -#define BOOST_HAS_SCHED_YIELD -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#define BOOST_HAS_SIGACTION - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - - - - diff --git a/src/eo/contrib/boost/config/platform/cygwin.hpp b/src/eo/contrib/boost/config/platform/cygwin.hpp deleted file mode 100755 index 0fd2ebe2d..000000000 --- a/src/eo/contrib/boost/config/platform/cygwin.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// cygwin specific config options: - -#define BOOST_PLATFORM "Cygwin" -#define BOOST_NO_CWCTYPE -#define BOOST_NO_CWCHAR -#define BOOST_NO_SWPRINTF -#define BOOST_HAS_DIRENT_H - -// -// Threading API: -// See if we have POSIX threads, if we do use them, otherwise -// revert to native Win threads. -#define BOOST_HAS_UNISTD_H -#include -#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) -# define BOOST_HAS_PTHREADS -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_SIGACTION -#else -# if !defined(BOOST_HAS_WINTHREADS) -# define BOOST_HAS_WINTHREADS -# endif -# define BOOST_HAS_FTIME -#endif - -// -// find out if we have a stdint.h, there should be a better way to do this: -// -#include -#ifdef _STDINT_H -#define BOOST_HAS_STDINT_H -#endif - -// boilerplate code: -#include - - - - diff --git a/src/eo/contrib/boost/config/platform/hpux.hpp b/src/eo/contrib/boost/config/platform/hpux.hpp deleted file mode 100755 index fa773aa79..000000000 --- a/src/eo/contrib/boost/config/platform/hpux.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Toon Knapen 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// hpux specific config options: - -#define BOOST_PLATFORM "HP-UX" - -// In principle, HP-UX has a nice under the name -// However, it has the following problem: -// Use of UINT32_C(0) results in "0u l" for the preprocessed source -// (verifyable with gcc 2.95.3, assumed for HP aCC) -// #define BOOST_HAS_STDINT_H - -#define BOOST_NO_SWPRINTF -#define BOOST_NO_CWCTYPE - -#if defined(__GNUC__) -# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) - // GNU C on HP-UX does not support threads (checked up to gcc 3.3) -# define BOOST_DISABLE_THREADS -# elif !defined(BOOST_DISABLE_THREADS) - // threads supported from gcc-3.3 onwards: -# define BOOST_HAS_THREADS -# define BOOST_HAS_PTHREADS -# endif -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - -// the following are always available: -#ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -#endif -#ifndef BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_SCHED_YIELD -#endif -#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#endif -#ifndef BOOST_HAS_NL_TYPES_H -# define BOOST_HAS_NL_TYPES_H -#endif -#ifndef BOOST_HAS_NANOSLEEP -# define BOOST_HAS_NANOSLEEP -#endif -#ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -#endif -#ifndef BOOST_HAS_DIRENT_H -# define BOOST_HAS_DIRENT_H -#endif -#ifndef BOOST_HAS_CLOCK_GETTIME -# define BOOST_HAS_CLOCK_GETTIME -#endif -#ifndef BOOST_HAS_SIGACTION -# define BOOST_HAS_SIGACTION -#endif - - diff --git a/src/eo/contrib/boost/config/platform/irix.hpp b/src/eo/contrib/boost/config/platform/irix.hpp deleted file mode 100755 index aeae49c8b..000000000 --- a/src/eo/contrib/boost/config/platform/irix.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to 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) - - -// See http://www.boost.org for most recent version. - -// SGI Irix specific config options: - -#define BOOST_PLATFORM "SGI Irix" - -#define BOOST_NO_SWPRINTF -// -// these are not auto detected by POSIX feature tests: -// -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE - -#ifdef __GNUC__ - // GNU C on IRIX does not support threads (checked up to gcc 3.3) -# define BOOST_DISABLE_THREADS -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - diff --git a/src/eo/contrib/boost/config/platform/linux.hpp b/src/eo/contrib/boost/config/platform/linux.hpp deleted file mode 100755 index 51ae13347..000000000 --- a/src/eo/contrib/boost/config/platform/linux.hpp +++ /dev/null @@ -1,98 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// linux specific config options: - -#define BOOST_PLATFORM "linux" - -// make sure we have __GLIBC_PREREQ if available at all -#include - -// -// added to glibc 2.1.1 -// We can only test for 2.1 though: -// -#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) - // defines int64_t unconditionally, but defines - // int64_t only if __GNUC__. Thus, assume a fully usable - // only when using GCC. -# if defined __GNUC__ -# define BOOST_HAS_STDINT_H -# endif -#endif - -#if defined(__LIBCOMO__) - // - // como on linux doesn't have std:: c functions: - // NOTE: versions of libcomo prior to beta28 have octal version numbering, - // e.g. version 25 is 21 (dec) - // -# if __LIBCOMO_VERSION__ <= 20 -# define BOOST_NO_STDC_NAMESPACE -# endif - -# if __LIBCOMO_VERSION__ <= 21 -# define BOOST_NO_SWPRINTF -# endif - -#endif - -// -// If glibc is past version 2 then we definitely have -// gettimeofday, earlier versions may or may not have it: -// -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -# define BOOST_HAS_GETTIMEOFDAY -#endif - -#ifdef __USE_POSIX199309 -# define BOOST_HAS_NANOSLEEP -#endif - -#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) -// __GLIBC_PREREQ is available since 2.1.2 - - // swprintf is available since glibc 2.2.0 -# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) -# define BOOST_NO_SWPRINTF -# endif -#else -# define BOOST_NO_SWPRINTF -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - -#ifndef __GNUC__ -// -// if the compiler is not gcc we still need to be able to parse -// the GNU system headers, some of which (mainly ) -// use GNU specific extensions: -// -# ifndef __extension__ -# define __extension__ -# endif -# ifndef __const__ -# define __const__ const -# endif -# ifndef __volatile__ -# define __volatile__ volatile -# endif -# ifndef __signed__ -# define __signed__ signed -# endif -# ifndef __typeof__ -# define __typeof__ typeof -# endif -# ifndef __inline__ -# define __inline__ inline -# endif -#endif - - diff --git a/src/eo/contrib/boost/config/platform/macos.hpp b/src/eo/contrib/boost/config/platform/macos.hpp deleted file mode 100755 index d6877d311..000000000 --- a/src/eo/contrib/boost/config/platform/macos.hpp +++ /dev/null @@ -1,78 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Bill Kempf 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Mac OS specific config options: - -#define BOOST_PLATFORM "Mac OS" - -#if __MACH__ && !defined(_MSL_USING_MSL_C) - -// Using the Mac OS X system BSD-style C library. - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif -// -// Begin by including our boilerplate code for POSIX -// feature detection, this is safe even when using -// the MSL as Metrowerks supply their own -// to replace the platform-native BSD one. G++ users -// should also always be able to do this on MaxOS X. -// -# include -# ifndef BOOST_HAS_STDINT_H -# define BOOST_HAS_STDINT_H -# endif - -// -// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, -// of these only pthreads are advertised in , so set the -// other options explicitly: -// -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_SIGACTION - -# if (__GNUC__ < 3) && !defined( __APPLE_CC__) - -// GCC strange "ignore std" mode works better if you pretend everything -// is in the std namespace, for the most part. - -# define BOOST_NO_STDC_NAMESPACE -# endif - -#else - -// Using the MSL C library. - -// We will eventually support threads in non-Carbon builds, but we do -// not support this yet. -# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) - -# if !defined(BOOST_HAS_PTHREADS) -# define BOOST_HAS_MPTASKS -# elif ( __dest_os == __mac_os_x ) -// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the -// gettimeofday and no posix. -# define BOOST_HAS_GETTIMEOFDAY -# endif - -// The MP task implementation of Boost Threads aims to replace MP-unsafe -// parts of the MSL, so we turn on threads unconditionally. -# define BOOST_HAS_THREADS - -// The remote call manager depends on this. -# define BOOST_BIND_ENABLE_PASCAL - -# endif - -#endif - - - diff --git a/src/eo/contrib/boost/config/platform/solaris.hpp b/src/eo/contrib/boost/config/platform/solaris.hpp deleted file mode 100755 index 700dc3ce6..000000000 --- a/src/eo/contrib/boost/config/platform/solaris.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// sun specific config options: - -#define BOOST_PLATFORM "Sun Solaris" - -#define BOOST_HAS_GETTIMEOFDAY - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - - diff --git a/src/eo/contrib/boost/config/platform/win32.hpp b/src/eo/contrib/boost/config/platform/win32.hpp deleted file mode 100755 index 548bff280..000000000 --- a/src/eo/contrib/boost/config/platform/win32.hpp +++ /dev/null @@ -1,50 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Bill Kempf 2001. -// (C) Copyright Aleksey Gurtovoy 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Win32 specific config options: - -#define BOOST_PLATFORM "Win32" - -#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -#endif - -#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC) -# define BOOST_HAS_DECLSPEC -#endif - -#if defined(__MINGW32__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2))) -# define BOOST_HAS_STDINT_H -# define __STDC_LIMIT_MACROS -#endif - -// -// Win32 will normally be using native Win32 threads, -// but there is a pthread library avaliable as an option, -// we used to disable this when BOOST_DISABLE_WIN32 was -// defined but no longer - this should allow some -// files to be compiled in strict mode - while maintaining -// a consistent setting of BOOST_HAS_THREADS across -// all translation units (needed for shared_ptr etc). -// - -#ifdef _WIN32_WCE -# define BOOST_NO_ANSI_APIS -#endif - -#ifndef BOOST_HAS_PTHREADS -# define BOOST_HAS_WINTHREADS -#endif - -#ifndef BOOST_DISABLE_WIN32 -// WEK: Added -#define BOOST_HAS_FTIME -#define BOOST_WINDOWS 1 - -#endif diff --git a/src/eo/contrib/boost/config/posix_features.hpp b/src/eo/contrib/boost/config/posix_features.hpp deleted file mode 100755 index 4afb476b7..000000000 --- a/src/eo/contrib/boost/config/posix_features.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to 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) - - -// See http://www.boost.org for most recent version. - -// All POSIX feature tests go in this file, -// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well -// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's -// may be present but none-functional unless _POSIX_C_SOURCE and -// _XOPEN_SOURCE have been defined to the right value (it's up -// to the user to do this *before* including any header, although -// in most cases the compiler will do this for you). - -# if defined(BOOST_HAS_UNISTD_H) -# include - - // XOpen has , but is this the correct version check? -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) -# define BOOST_HAS_NL_TYPES_H -# endif - - // POSIX version 6 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) -# define BOOST_HAS_STDINT_H -# endif - - // POSIX version 2 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) -# define BOOST_HAS_DIRENT_H -# endif - - // POSIX version 3 requires to have sigaction: -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) -# define BOOST_HAS_SIGACTION -# endif - // POSIX defines _POSIX_THREADS > 0 for pthread support, - // however some platforms define _POSIX_THREADS without - // a value, hence the (_POSIX_THREADS+0 >= 0) check. - // Strictly speaking this may catch platforms with a - // non-functioning stub , but such occurrences should - // occur very rarely if at all. -# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) -# define BOOST_HAS_PTHREADS -# endif - - // BOOST_HAS_NANOSLEEP: - // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_NANOSLEEP -# endif - - // BOOST_HAS_CLOCK_GETTIME: - // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME - // but at least one platform - linux - defines that flag without - // defining clock_gettime): -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) -# define BOOST_HAS_CLOCK_GETTIME -# endif - - // BOOST_HAS_SCHED_YIELD: - // This is predicated on _POSIX_PRIORITY_SCHEDULING or - // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. -# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ - || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_SCHED_YIELD -# endif - - // BOOST_HAS_GETTIMEOFDAY: - // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: - // These are predicated on _XOPEN_VERSION, and appears to be first released - // in issue 4, version 2 (_XOPEN_VERSION > 500). -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) -# define BOOST_HAS_GETTIMEOFDAY -# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# endif -# endif - -# endif - - - diff --git a/src/eo/contrib/boost/config/requires_threads.hpp b/src/eo/contrib/boost/config/requires_threads.hpp deleted file mode 100755 index cfaff2302..000000000 --- a/src/eo/contrib/boost/config/requires_threads.hpp +++ /dev/null @@ -1,92 +0,0 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to 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) - - -#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP -#define BOOST_CONFIG_REQUIRES_THREADS_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif - -#if defined(BOOST_DISABLE_THREADS) - -// -// special case to handle versions of gcc which don't currently support threads: -// -#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) -// -// this is checked up to gcc 3.3: -// -#if defined(__sgi) || defined(__hpux) -# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" -#endif - -#endif - -# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" - -#elif !defined(BOOST_HAS_THREADS) - -# if defined __COMO__ -// Comeau C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -#ifdef _WIN32 -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" -#else -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" -#endif - -# elif defined __GNUC__ -// GNU C++: -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" - -#elif defined __sgi -// SGI MIPSpro C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" - -#elif defined __BORLANDC__ -// Borland -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" - -#elif defined __HP_aCC -// HP aCC -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" - -#elif defined(__IBMCPP__) -// IBM Visual Age -# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" - -#else - -# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use" - -#endif // compilers - -#endif // BOOST_HAS_THREADS - -#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP diff --git a/src/eo/contrib/boost/config/select_compiler_config.hpp b/src/eo/contrib/boost/config/select_compiler_config.hpp deleted file mode 100755 index 3453f1a35..000000000 --- a/src/eo/contrib/boost/config/select_compiler_config.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Martin Wille 2003. -// (C) Copyright Guillaume Melquiond 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// locate which compiler we are using and define -// BOOST_COMPILER_CONFIG as needed: - -# if defined __COMO__ -// Comeau C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" - -#elif defined __DMC__ -// Digital Mars C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" - -# elif defined __GNUC__ -// GNU C++: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" - -#elif defined __KCC -// Kai C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" - -#elif defined __sgi -// SGI MIPSpro C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" - -#elif defined __ghs -// Greenhills C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" - -#elif defined __BORLANDC__ -// Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" - -#elif defined __HP_aCC -// HP aCC -# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" - -#elif defined(__MRC__) || defined(__SC__) -// MPW MrCpp or SCpp -# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" - -#elif defined(__IBMCPP__) -// IBM Visual Age -# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the compiler: -# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" - -#endif diff --git a/src/eo/contrib/boost/config/select_platform_config.hpp b/src/eo/contrib/boost/config/select_platform_config.hpp deleted file mode 100755 index 60bfa5095..000000000 --- a/src/eo/contrib/boost/config/select_platform_config.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. -// Note that we define the headers to include using "header_name" not -// in order to prevent macro expansion within the header -// name (for example "linux" is a macro on linux systems). - -#if defined(linux) || defined(__linux) || defined(__linux__) -// linux: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" - -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -// BSD: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" - -#elif defined(sun) || defined(__sun) -// solaris: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" - -#elif defined(__sgi) -// SGI Irix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" - -#elif defined(__hpux) -// hp unix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" - -#elif defined(__CYGWIN__) -// cygwin is not win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -// win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" - -#elif defined(__BEOS__) -// BeOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" - -#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) -// MacOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" - -#elif defined(__IBMCPP__) || defined(_AIX) -// IBM -# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" - -#elif defined(__amigaos__) -// AmigaOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" - -#else - -# if defined(unix) \ - || defined(__unix) \ - || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) - - // generic unix platform: - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif - -# include - -# endif - -# if defined (BOOST_ASSERT_CONFIG) - // this must come last - generate an error if we don't - // recognise the platform: -# error "Unknown platform - please configure and report the results to boost.org" -# endif - -#endif - - - diff --git a/src/eo/contrib/boost/config/select_stdlib_config.hpp b/src/eo/contrib/boost/config/select_stdlib_config.hpp deleted file mode 100755 index b7bf59143..000000000 --- a/src/eo/contrib/boost/config/select_stdlib_config.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2002. -// Use, modification and distribution are subject to 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) - - -// See http://www.boost.org for most recent version. - -// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: - -// we need to include a std lib header here in order to detect which -// library is in use, use as it's about the smallest -// of the std lib headers - do not rely on this header being included - -// users can short-circuit this header if they know whose std lib -// they are using. - -#include - -#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) -// STLPort library; this _must_ come first, otherwise since -// STLport typically sits on top of some other library, we -// can end up detecting that first rather than STLport: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" - -#elif defined(__LIBCOMO__) -// Comeau STL: -#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" - -#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) -// Rogue Wave library: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" - -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) -// GNU libstdc++ 3 -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" - -#elif defined(__STL_CONFIG_H) -// generic SGI STL -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" - -#elif defined(__MSL_CPP__) -// MSL standard lib: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" - -#elif defined(__IBMCPP__) -// take the default VACPP std lib -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" - -#elif defined(MSIPL_COMPILE_H) -// Modena C++ standard library -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" - -#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) -// Dinkumware Library (this has to appear after any possible replacement libraries): -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the library: -# error "Unknown standard library - please configure and report the results to boost.org" - -#endif - - - diff --git a/src/eo/contrib/boost/config/stdlib/dinkumware.hpp b/src/eo/contrib/boost/config/stdlib/dinkumware.hpp deleted file mode 100755 index aa214fc1b..000000000 --- a/src/eo/contrib/boost/config/stdlib/dinkumware.hpp +++ /dev/null @@ -1,106 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Guillaume Melquiond 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Dinkumware standard library config: - -#if !defined(_YVALS) && !defined(_CPPLIB_VER) -#include -#if !defined(_YVALS) && !defined(_CPPLIB_VER) -#error This is not the Dinkumware lib! -#endif -#endif - - -#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) - // full dinkumware 3.06 and above - // fully conforming provided the compiler supports it: -# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h -# define BOOST_NO_STDC_NAMESPACE -# endif -# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) -# define BOOST_NO_STD_ALLOCATOR -# endif -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) - // if this lib version is set up for vc6 then there is no std::use_facet: -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET - // C lib functions aren't in namespace std either: -# define BOOST_NO_STDC_NAMESPACE - // and nor is -# define BOOST_NO_EXCEPTION_STD_NAMESPACE -# endif -// There's no numeric_limits support unless _LONGLONG is defined: -# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# endif -// 3.06 appears to have (non-sgi versions of) & , -// and no at all -#else -# define BOOST_MSVC_STD_ITERATOR 1 -# define BOOST_NO_STD_ITERATOR -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_STD_USE_FACET -# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -# define BOOST_HAS_MACRO_USE_FACET -# ifndef _CPPLIB_VER - // Updated Dinkum library defines this, and provides - // its own min and max definitions. -# define BOOST_NO_STD_MIN_MAX -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# endif -#endif - -// -// std extension namespace is stdext for vc7.1 and later, -// the same applies to other compilers that sit on top -// of vc7.1 (Intel and Comeau): -// -#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__) -# define BOOST_STD_EXTENSION_NAMESPACE stdext -#endif - - -#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) - // if we're using a dinkum lib that's - // been configured for VC6/7 then there is - // no iterator traits (true even for icl) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) -// Intel C++ chokes over any non-trivial use of -// this may be an overly restrictive define, but regex fails without it: -# define BOOST_NO_STD_LOCALE -#endif - -#ifdef _CPPLIB_VER -# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER -#else -# define BOOST_DINKUMWARE_STDLIB 1 -#endif - -#ifdef _CPPLIB_VER -# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) -#else -# define BOOST_STDLIB "Dinkumware standard library version 1.x" -#endif - - - - - - - - - diff --git a/src/eo/contrib/boost/config/stdlib/libcomo.hpp b/src/eo/contrib/boost/config/stdlib/libcomo.hpp deleted file mode 100755 index b2c8e4400..000000000 --- a/src/eo/contrib/boost/config/stdlib/libcomo.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// (C) Copyright John Maddock 2002 - 2003. -// (C) Copyright Jens Maurer 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Comeau STL: - -#if !defined(__LIBCOMO__) -# include -# if !defined(__LIBCOMO__) -# error "This is not the Comeau STL!" -# endif -#endif - -// -// std::streambuf is non-standard -// NOTE: versions of libcomo prior to beta28 have octal version numbering, -// e.g. version 25 is 21 (dec) -#if __LIBCOMO_VERSION__ <= 22 -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) -#define BOOST_NO_SWPRINTF -#endif - -#if __LIBCOMO_VERSION__ >= 31 -# define BOOST_HAS_HASH -# define BOOST_HAS_SLIST -#endif - -// -// Intrinsic type_traits support. -// The SGI STL has it's own __type_traits class, which -// has intrinsic compiler support with SGI's compilers. -// Whatever map SGI style type traits to boost equivalents: -// -#define BOOST_HAS_SGI_TYPE_TRAITS - -#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) - - diff --git a/src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp b/src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp deleted file mode 100755 index f367fa0f1..000000000 --- a/src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// config for libstdc++ v3 -// not much to go in here: - -#ifdef __GLIBCXX__ -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) -#else -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) -#endif - -#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -# define BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if defined(__osf__) && !defined(_REENTRANT) \ - && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) -// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header -// file is included, therefore for consistency we define it here as well. -# define _REENTRANT -#endif - -#ifdef __GLIBCXX__ // gcc 3.4 and greater: -# ifdef _GLIBCXX_HAVE_GTHR_DEFAULT - // - // If the std lib has thread support turned on, then turn it on in Boost - // as well. We do this because some gcc-3.4 std lib headers define _REENTANT - // while others do not... - // -# define BOOST_HAS_THREADS -# else -# define BOOST_DISABLE_THREADS -# endif -#elif defined(__GLIBCPP__) && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) - // disable thread support if the std lib was built single threaded: -# define BOOST_DISABLE_THREADS -#endif - -#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) -// linux on arm apparently doesn't define _REENTRANT -// so just turn on threading support whenever the std lib is thread safe: -# define BOOST_HAS_THREADS -#endif - - -#if !defined(_GLIBCPP_USE_LONG_LONG) \ - && !defined(_GLIBCXX_USE_LONG_LONG)\ - && defined(BOOST_HAS_LONG_LONG) -// May have been set by compiler/*.hpp, but "long long" without library -// support is useless. -# undef BOOST_HAS_LONG_LONG -#endif diff --git a/src/eo/contrib/boost/config/stdlib/modena.hpp b/src/eo/contrib/boost/config/stdlib/modena.hpp deleted file mode 100755 index 61e31b7d1..000000000 --- a/src/eo/contrib/boost/config/stdlib/modena.hpp +++ /dev/null @@ -1,30 +0,0 @@ -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Modena C++ standard library (comes with KAI C++) - -#if !defined(MSIPL_COMPILE_H) -# include -# if !defined(__MSIPL_COMPILE_H) -# error "This is not the Modena C++ library!" -# endif -#endif - -#ifndef MSIPL_NL_TYPES -#define BOOST_NO_STD_MESSAGES -#endif - -#ifndef MSIPL_WCHART -#define BOOST_NO_STD_WSTRING -#endif - -#define BOOST_STDLIB "Modena C++ standard library" - - - - - diff --git a/src/eo/contrib/boost/config/stdlib/msl.hpp b/src/eo/contrib/boost/config/stdlib/msl.hpp deleted file mode 100755 index 0df8e0e3b..000000000 --- a/src/eo/contrib/boost/config/stdlib/msl.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Darin Adler 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Metrowerks standard library: - -#ifndef __MSL_CPP__ -# include -# ifndef __MSL_CPP__ -# error This is not the MSL standard library! -# endif -#endif - -#if __MSL_CPP__ >= 0x6000 // Pro 6 -# define BOOST_HAS_HASH -# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks -#endif -#define BOOST_HAS_SLIST - -#if __MSL_CPP__ < 0x6209 -# define BOOST_NO_STD_MESSAGES -#endif - -// check C lib version for -#include - -#if defined(__MSL__) && (__MSL__ >= 0x5000) -# define BOOST_HAS_STDINT_H -# if !defined(__PALMOS_TRAPS__) -# define BOOST_HAS_UNISTD_H -# endif - // boilerplate code: -# include -#endif - -#if defined(_MWMT) || _MSL_THREADSAFE -# define BOOST_HAS_THREADS -#endif - -#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET -#endif - - -#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) - - - - - - - - - diff --git a/src/eo/contrib/boost/config/stdlib/roguewave.hpp b/src/eo/contrib/boost/config/stdlib/roguewave.hpp deleted file mode 100755 index b331f6538..000000000 --- a/src/eo/contrib/boost/config/stdlib/roguewave.hpp +++ /dev/null @@ -1,127 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Rogue Wave std lib: - -#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) -# include -# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) -# error This is not the Rogue Wave standard library -# endif -#endif -// -// figure out a consistent version number: -// -#ifndef _RWSTD_VER -# define BOOST_RWSTD_VER 0x010000 -#elif _RWSTD_VER < 0x010000 -# define BOOST_RWSTD_VER (_RWSTD_VER << 8) -#else -# define BOOST_RWSTD_VER _RWSTD_VER -#endif - -#ifndef _RWSTD_VER -# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" -#else -# define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) -#endif - -// -// Prior to version 2.2.0 the primary template for std::numeric_limits -// does not have compile time constants, even though specializations of that -// template do: -// -#if BOOST_RWSTD_VER < 0x020200 -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - -// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the -// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): -#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// Borland version of numeric_limits lacks __int64 specialisation: -// -#ifdef __BORLANDC__ -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// No std::iterator if it can't figure out default template args: -// -#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) -# define BOOST_NO_STD_ITERATOR -#endif - -// -// No iterator traits without partial specialization: -// -#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// Prior to version 2.0, std::auto_ptr was buggy, and there were no -// new-style iostreams, and no conformant std::allocator: -// -#if (BOOST_RWSTD_VER < 0x020000) -# define BOOST_NO_AUTO_PTR -# define BOOST_NO_STRINGSTREAM -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STD_LOCALE -#endif - -// -// No template iterator constructors without member template support: -// -#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -#endif - -// -// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use -// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR -// on HP aCC systems even though the allocator is in fact broken): -// -#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// If we have a std::locale, we still may not have std::use_facet: -// -#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET -#endif - -// -// There's no std::distance prior to version 2, or without -// partial specialization support: -// -#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) - #define BOOST_NO_STD_DISTANCE -#endif - -// -// Some versions of the rogue wave library don't have assignable -// OutputIterators: -// -#if BOOST_RWSTD_VER < 0x020100 -# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -#endif - -// -// Disable BOOST_HAS_LONG_LONG when the library has no support for it. -// -#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) -# undef BOOST_HAS_LONG_LONG -#endif diff --git a/src/eo/contrib/boost/config/stdlib/sgi.hpp b/src/eo/contrib/boost/config/stdlib/sgi.hpp deleted file mode 100755 index 67f7a0a4b..000000000 --- a/src/eo/contrib/boost/config/stdlib/sgi.hpp +++ /dev/null @@ -1,111 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// generic SGI STL: - -#if !defined(__STL_CONFIG_H) -# include -# if !defined(__STL_CONFIG_H) -# error "This is not the SGI STL!" -# endif -#endif - -// -// No std::iterator traits without partial specialisation: -// -#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// No std::stringstream with gcc < 3 -// -#if defined(__GNUC__) && (__GNUC__ < 3) && \ - ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ - !defined(__STL_USE_NEW_IOSTREAMS) || \ - defined(__APPLE_CC__) - // Note that we only set this for GNU C++ prior to 2.95 since the - // latest patches for that release do contain a minimal - // If you are running a 2.95 release prior to 2.95.3 then this will need - // setting, but there is no way to detect that automatically (other - // than by running the configure script). - // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't - // have . -# define BOOST_NO_STRINGSTREAM -#endif - -// -// Assume no std::locale without own iostreams (this may be an -// incorrect assumption in some cases): -// -#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -#endif - -// -// Original native SGI streams have non-standard std::messages facet: -// -#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -#endif - -// -// SGI's new iostreams have missing "const" in messages<>::open -// -#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) -# define BOOST_NO_STD_MESSAGES -#endif - -// -// No template iterator constructors, or std::allocator -// without member templates: -// -#if !defined(__STL_MEMBER_TEMPLATES) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// We always have SGI style hash_set, hash_map, and slist: -// -#define BOOST_HAS_HASH -#define BOOST_HAS_SLIST - -// -// If this is GNU libstdc++2, then no and no std::wstring: -// -#if (defined(__GNUC__) && (__GNUC__ < 3)) -# include -# if defined(__BASTRING__) -# define BOOST_NO_LIMITS -// Note: will provide compile-time constants -# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_STD_WSTRING -# endif -#endif - -// -// There is no standard iterator unless we have namespace support: -// -#if !defined(__STL_USE_NAMESPACES) -# define BOOST_NO_STD_ITERATOR -#endif - -// -// Intrinsic type_traits support. -// The SGI STL has it's own __type_traits class, which -// has intrinsic compiler support with SGI's compilers. -// Whatever map SGI style type traits to boost equivalents: -// -#define BOOST_HAS_SGI_TYPE_TRAITS - -#define BOOST_STDLIB "SGI standard library" - - - diff --git a/src/eo/contrib/boost/config/stdlib/stlport.hpp b/src/eo/contrib/boost/config/stdlib/stlport.hpp deleted file mode 100755 index 4843ea59b..000000000 --- a/src/eo/contrib/boost/config/stdlib/stlport.hpp +++ /dev/null @@ -1,201 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// STLPort standard library config: - -#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -# include -# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -# error "This is not STLPort!" -# endif -#endif - -// -// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -// for versions prior to 4.1(beta) -// -#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - -// -// If STLport thinks that there is no partial specialisation, then there is no -// std::iterator traits: -// -#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// No new style iostreams on GCC without STLport's iostreams enabled: -// -#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) -# define BOOST_NO_STRINGSTREAM -#endif - -// -// No new iostreams implies no std::locale, and no std::stringstream: -// -#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -# define BOOST_NO_STRINGSTREAM -#endif - -// -// If the streams are not native, and we have a "using ::x" compiler bug -// then the io stream facets are not available in namespace std:: -// -#ifdef _STLPORT_VERSION -# if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) -# define BOOST_NO_STD_LOCALE -# endif -#else -# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) -# define BOOST_NO_STD_LOCALE -# endif -#endif - -// -// Without member template support enabled, their are no template -// iterate constructors, and no std::allocator: -// -#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -#endif -// -// however we always have at least a partial allocator: -// -#define BOOST_HAS_PARTIAL_STD_ALLOCATOR - -#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) -# define BOOST_NO_STD_ALLOCATOR -#endif - -#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// If STLport thinks there is no wchar_t at all, then we have to disable -// the support for the relevant specilazations of std:: templates. -// -#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) -# ifndef BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTRING -# endif -# ifndef BOOST_NO_STD_WSTREAMBUF -# define BOOST_NO_STD_WSTREAMBUF -# endif -#endif - -// -// We always have SGI style hash_set, hash_map, and slist: -// -#define BOOST_HAS_HASH -#define BOOST_HAS_SLIST - -// -// STLport does a good job of importing names into namespace std::, -// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our -// workaround does not conflict with STLports: -// -// -// Harold Howe says: -// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with -// BCB6 does cause problems. If we detect C++ Builder, then don't define -// BOOST_NO_STDC_NAMESPACE -// -#if !defined(__BORLANDC__) && !defined(__DMC__) -// -// If STLport is using it's own namespace, and the real names are in -// the global namespace, then we duplicate STLport's using declarations -// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't -// necessarily import all the names we need into namespace std:: -// -# if (defined(__STL_IMPORT_VENDOR_CSTD) \ - || defined(__STL_USE_OWN_NAMESPACE) \ - || defined(_STLP_IMPORT_VENDOR_CSTD) \ - || defined(_STLP_USE_OWN_NAMESPACE)) \ - && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_EXCEPTION_STD_NAMESPACE -# endif -#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560 -// STLport doesn't import std::abs correctly: -#include -namespace std { using ::abs; } -// and strcmp/strcpy don't get imported either ('cos they are macros) -#include -#ifdef strcpy -# undef strcpy -#endif -#ifdef strcmp -# undef strcmp -#endif -#ifdef _STLP_VENDOR_CSTD -namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } -#endif -#endif - -// -// std::use_facet may be non-standard, uses a class instead: -// -#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_STLP_USE_FACET -#endif - -// -// If STLport thinks there are no wide functions, etc. is not working; but -// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import -// into std:: ourselves). -// -#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -#endif - -// -// If STLport for some reason was configured so that it thinks that wchar_t -// is not an intrinsic type, then we have to disable the support for it as -// well (we would be missing required specializations otherwise). -// -#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) -# undef BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -// -// Borland ships a version of STLport with C++ Builder 6 that lacks -// hashtables and the like: -// -#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560) -# undef BOOST_HAS_HASH -#endif - -// -// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max -// -#if defined(__GNUC__) && (__GNUC__ < 3) -# include // for std::min and std::max -# define BOOST_USING_STD_MIN() ((void)0) -# define BOOST_USING_STD_MAX() ((void)0) -namespace boost { using std::min; using std::max; } -#endif - -#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) - - - - - - - - diff --git a/src/eo/contrib/boost/config/stdlib/vacpp.hpp b/src/eo/contrib/boost/config/stdlib/vacpp.hpp deleted file mode 100755 index 8321ee0cc..000000000 --- a/src/eo/contrib/boost/config/stdlib/vacpp.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -#if __IBMCPP__ <= 501 -# define BOOST_NO_STD_ALLOCATOR -#endif - -#define BOOST_HAS_MACRO_USE_FACET -#define BOOST_NO_STD_MESSAGES - -#define BOOST_STDLIB "Visual Age default standard library" - - - diff --git a/src/eo/contrib/boost/config/suffix.hpp b/src/eo/contrib/boost/config/suffix.hpp deleted file mode 100755 index d4d9502d4..000000000 --- a/src/eo/contrib/boost/config/suffix.hpp +++ /dev/null @@ -1,547 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Bill Kempf 2002. -// (C) Copyright Jens Maurer 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Gennaro Prota 2003. -// (C) Copyright Eric Friedman 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config -// -// This file is intended to be stable, and relatively unchanging. -// It should contain boilerplate code only - no compiler specific -// code unless it is unavoidable - no changes unless unavoidable. - -#ifndef BOOST_CONFIG_SUFFIX_HPP -#define BOOST_CONFIG_SUFFIX_HPP - -// -// look for long long by looking for the appropriate macros in . -// Note that we use limits.h rather than climits for maximal portability, -// remember that since these just declare a bunch of macros, there should be -// no namespace issues from this. -// -#include -# if !defined(BOOST_HAS_LONG_LONG) \ - && !defined(BOOST_MSVC) && !defined(__BORLANDC__) \ - && (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) -# define BOOST_HAS_LONG_LONG -#endif - -// TODO: Remove the following lines after the 1.33 release because the presence -// of an integral 64 bit type has nothing to do with support for long long. - -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(__DECCXX_VER) -# define BOOST_NO_INTEGRAL_INT64_T -#endif - -// GCC 3.x will clean up all of those nasty macro definitions that -// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine -// it under GCC 3.x. -#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) -# undef BOOST_NO_CTYPE_FUNCTIONS -#endif - - -// -// Assume any extensions are in namespace std:: unless stated otherwise: -// -# ifndef BOOST_STD_EXTENSION_NAMESPACE -# define BOOST_STD_EXTENSION_NAMESPACE std -# endif - -// -// If cv-qualified specializations are not allowed, then neither are cv-void ones: -// -# if defined(BOOST_NO_CV_SPECIALIZATIONS) \ - && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# endif - -// -// If there is no numeric_limits template, then it can't have any compile time -// constants either! -// -# if defined(BOOST_NO_LIMITS) \ - && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// if there is no long long then there is no specialisation -// for numeric_limits either: -// -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -#endif - -// -// if there is no __int64 then there is no specialisation -// for numeric_limits<__int64> either: -// -#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// if member templates are supported then so is the -// VC6 subset of member templates: -// -# if !defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) -# define BOOST_MSVC6_MEMBER_TEMPLATES -# endif - -// -// Without partial specialization, can't test for partial specialisation bugs: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# endif - -// -// Without partial specialization, we can't have array-type partial specialisations: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# endif - -// -// Without partial specialization, std::iterator_traits can't work: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_STD_ITERATOR_TRAITS) -# define BOOST_NO_STD_ITERATOR_TRAITS -# endif - -// -// Without member template support, we can't have template constructors -// in the standard library either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# endif - -// -// Without member template support, we can't have a conforming -// std::allocator template either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_NO_STD_ALLOCATOR -# endif - -// -// without ADL support then using declarations will break ADL as well: -// -#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// If we have a standard allocator, then we have a partial one as well: -// -#if !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -// -// We can't have a working std::use_facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) -# define BOOST_NO_STD_USE_FACET -# endif - -// -// We can't have a std::messages facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) -# define BOOST_NO_STD_MESSAGES -# endif - -// -// We can't have a working std::wstreambuf if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) -# define BOOST_NO_STD_WSTREAMBUF -# endif - -// -// We can't have a if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) -# define BOOST_NO_CWCTYPE -# endif - -// -// We can't have a swprintf if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -# endif - -// -// If Win32 support is turned off, then we must turn off -// threading support also, unless there is some other -// thread API enabled: -// -#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ - && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) -# define BOOST_DISABLE_THREADS -#endif - -// -// Turn on threading support if the compiler thinks that it's in -// multithreaded mode. We put this here because there are only a -// limited number of macros that identify this (if there's any missing -// from here then add to the appropriate compiler section): -// -#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ - || defined(_PTHREADS)) && !defined(BOOST_HAS_THREADS) -# define BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if BOOST_DISABLE_THREADS is defined: -// -#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if we don't recognise the threading API: -// -#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ - && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ - && !defined(BOOST_HAS_MPTASKS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading detail macros off if we don't (want to) use threading -// -#ifndef BOOST_HAS_THREADS -# undef BOOST_HAS_PTHREADS -# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# undef BOOST_HAS_WINTHREADS -# undef BOOST_HAS_BETHREADS -# undef BOOST_HAS_MPTASKS -#endif - -// -// If the compiler claims to be C99 conformant, then it had better -// have a : -// -# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) -# define BOOST_HAS_STDINT_H -# endif - -// -// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. -// Note that this is for backwards compatibility only. -// -# ifndef BOOST_HAS_SLIST -# define BOOST_NO_SLIST -# endif - -# ifndef BOOST_HAS_HASH -# define BOOST_NO_HASH -# endif - -// BOOST_HAS_ABI_HEADERS -// This macro gets set if we have headers that fix the ABI, -// and prevent ODR violations when linking to external libraries: -#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) -# define BOOST_HAS_ABI_HEADERS -#endif - -#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) -# undef BOOST_HAS_ABI_HEADERS -#endif - -// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// -// Because std::size_t usage is so common, even in boost headers which do not -// otherwise use the C library, the workaround is included here so -// that ugly workaround code need not appear in many other boost headers. -// NOTE WELL: This is a workaround for non-conforming compilers; -// must still be #included in the usual places so that inclusion -// works as expected with standard conforming compilers. The resulting -// double inclusion of is harmless. - -# ifdef BOOST_NO_STDC_NAMESPACE -# include - namespace std { using ::ptrdiff_t; using ::size_t; } -# endif - -// Workaround for the unfortunate min/max macros defined by some platform headers - -#define BOOST_PREVENT_MACRO_SUBSTITUTION - -#ifndef BOOST_USING_STD_MIN -# define BOOST_USING_STD_MIN() using std::min -#endif - -#ifndef BOOST_USING_STD_MAX -# define BOOST_USING_STD_MAX() using std::max -#endif - -// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// - -# ifdef BOOST_NO_STD_MIN_MAX - -namespace std { - template - inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __b < __a ? __b : __a; - } - template - inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __a < __b ? __b : __a; - } -} - -# endif - -// BOOST_STATIC_CONSTANT workaround --------------------------------------- // -// On compilers which don't allow in-class initialization of static integral -// constant members, we must use enums as a workaround if we want the constants -// to be available at compile-time. This macro gives us a convenient way to -// declare such constants. - -# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } -# else -# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment -# endif - -// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// -// When the standard library does not have a conforming std::use_facet there -// are various workarounds available, but they differ from library to library. -// The same problem occurs with has_facet. -// These macros provide a consistent way to access a locale's facets. -// Usage: -// replace -// std::use_facet(loc); -// with -// BOOST_USE_FACET(Type, loc); -// Note do not add a std:: prefix to the front of BOOST_USE_FACET! -// Use for BOOST_HAS_FACET is analagous. - -#if defined(BOOST_NO_STD_USE_FACET) -# ifdef BOOST_HAS_TWO_ARG_USE_FACET -# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) -# elif defined(BOOST_HAS_MACRO_USE_FACET) -# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) -# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) -# elif defined(BOOST_HAS_STLP_USE_FACET) -# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -# endif -#else -# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -#endif - -// BOOST_NESTED_TEMPLATE workaround ------------------------------------------// -// Member templates are supported by some compilers even though they can't use -// the A::template member syntax, as a workaround replace: -// -// typedef typename A::template rebind binder; -// -// with: -// -// typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; - -#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# define BOOST_NESTED_TEMPLATE template -#else -# define BOOST_NESTED_TEMPLATE -#endif - -// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// -// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION -// is defined, in which case it evaluates to return x; Use when you have a return -// statement that can never be reached. - -#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_UNREACHABLE_RETURN(x) return x; -#else -# define BOOST_UNREACHABLE_RETURN(x) -#endif - -// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// -// -// Some compilers don't support the use of `typename' for dependent -// types in deduced contexts, e.g. -// -// template void f(T, typename T::type); -// ^^^^^^^^ -// Replace these declarations with: -// -// template void f(T, BOOST_DEDUCED_TYPENAME T::type); - -#ifndef BOOST_NO_DEDUCED_TYPENAME -# define BOOST_DEDUCED_TYPENAME typename -#else -# define BOOST_DEDUCED_TYPENAME -#endif - -// long long workaround ------------------------------------------// -// On gcc (and maybe other compilers?) long long is alway supported -// but it's use may generate either warnings (with -ansi), or errors -// (with -pedantic -ansi) unless it's use is prefixed by __extension__ -// -#if defined(BOOST_HAS_LONG_LONG) -namespace boost{ -# ifdef __GNUC__ - __extension__ typedef long long long_long_type; - __extension__ typedef unsigned long long ulong_long_type; -# else - typedef long long long_long_type; - typedef unsigned long long ulong_long_type; -# endif -} -#endif - -// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// -// -// Some compilers have problems with function templates whose -// template parameters don't appear in the function parameter -// list (basically they just link one instantiation of the -// template in the final executable). These macros provide a -// uniform way to cope with the problem with no effects on the -// calling syntax. - -// Example: -// -// #include -// #include -// #include -// -// template -// void f() { std::cout << n << ' '; } -// -// template -// void g() { std::cout << typeid(T).name() << ' '; } -// -// int main() { -// f<1>(); -// f<2>(); -// -// g(); -// g(); -// } -// -// With VC++ 6.0 the output is: -// -// 2 2 double double -// -// To fix it, write -// -// template -// void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... } -// -// template -// void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... } -// - - -#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS - -# include "boost/type.hpp" -# include "boost/non_type.hpp" - -# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) boost::type* = 0 -# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type* -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type* = 0 -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type* - -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \ - , BOOST_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \ - , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \ - , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \ - , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -#else - -// no workaround needed: expand to nothing - -# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - - -#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS - - -// ---------------------------------------------------------------------------// - -// -// Helper macro BOOST_STRINGIZE: -// Converts the parameter X to a string after macro replacement -// on X has been performed. -// -#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -#define BOOST_DO_STRINGIZE(X) #X - -// -// Helper macro BOOST_JOIN: -// The following piece of macro magic joins the two -// arguments together, even when one of the arguments is -// itself a macro (see 16.3.1 in C++ standard). The key -// is that macro expansion of macro arguments does not -// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN. -// -#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y ) -#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y) -#define BOOST_DO_JOIN2( X, Y ) X##Y - -// -// Set some default values for compiler/library/platform names. -// These are for debugging config setup only: -// -# ifndef BOOST_COMPILER -# define BOOST_COMPILER "Unknown ISO C++ Compiler" -# endif -# ifndef BOOST_STDLIB -# define BOOST_STDLIB "Unknown ISO standard library" -# endif -# ifndef BOOST_PLATFORM -# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) -# define BOOST_PLATFORM "Generic Unix" -# else -# define BOOST_PLATFORM "Unknown" -# endif -# endif - -#endif - - - diff --git a/src/eo/contrib/boost/config/user.hpp b/src/eo/contrib/boost/config/user.hpp deleted file mode 100755 index 5a4a9d477..000000000 --- a/src/eo/contrib/boost/config/user.hpp +++ /dev/null @@ -1,124 +0,0 @@ -// boost/config/user.hpp ---------------------------------------------------// - -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to 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) - -// Do not check in modified versions of this file, -// This file may be customized by the end user, but not by boost. - -// -// Use this file to define a site and compiler specific -// configuration policy: -// - -// define this to locate a compiler config file: -// #define BOOST_COMPILER_CONFIG - -// define this to locate a stdlib config file: -// #define BOOST_STDLIB_CONFIG - -// define this to locate a platform config file: -// #define BOOST_PLATFORM_CONFIG - -// define this to disable compiler config, -// use if your compiler config has nothing to set: -// #define BOOST_NO_COMPILER_CONFIG - -// define this to disable stdlib config, -// use if your stdlib config has nothing to set: -// #define BOOST_NO_STDLIB_CONFIG - -// define this to disable platform config, -// use if your platform config has nothing to set: -// #define BOOST_NO_PLATFORM_CONFIG - -// define this to disable all config options, -// excluding the user config. Use if your -// setup is fully ISO compliant, and has no -// useful extensions, or for autoconf generated -// setups: -// #define BOOST_NO_CONFIG - -// define this to make the config "optimistic" -// about unknown compiler versions. Normally -// unknown compiler versions are assumed to have -// all the defects of the last known version, however -// setting this flag, causes the config to assume -// that unknown compiler versions are fully conformant -// with the standard: -// #define BOOST_STRICT_CONFIG - -// define this to cause the config to halt compilation -// with an #error if it encounters anything unknown -- -// either an unknown compiler version or an unknown -// compiler/platform/library: -// #define BOOST_ASSERT_CONFIG - - -// define if you want to disable threading support, even -// when available: -// #define BOOST_DISABLE_THREADS - -// define when you want to disable Win32 specific features -// even when available: -// #define BOOST_DISABLE_WIN32 - -// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any -// prefix/suffix headers that normally control things like struct -// packing and alignment. -// #define BOOST_DISABLE_ABI_HEADERS - -// BOOST_ABI_PREFIX: A prefix header to include in place of whatever -// boost.config would normally select, any replacement should set up -// struct packing and alignment options as required. -// #define BOOST_ABI_PREFIX my-header-name - -// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever -// boost.config would normally select, any replacement should undo -// the effects of the prefix header. -// #define BOOST_ABI_SUFFIX my-header-name - -// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, -// to be linked as dll's rather than static libraries on Microsoft Windows -// (this macro is used to turn on __declspec(dllimport) modifiers, so that -// the compiler knows which symbols to look for in a dll rather than in a -// static library). Note that there may be some libraries that can only -// be statically linked (Boost.Test for example) and others which may only -// be dynamically linked (Boost.Threads for example), in these cases this -// macro has no effect. -// #define BOOST_ALL_DYN_LINK - -// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll -// rather than a static library on Microsoft Windows: replace the WHATEVER -// part of the macro name with the name of the library that you want to -// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or -// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) -// modifiers, so that the compiler knows which symbols to look for in a dll -// rather than in a static library). -// Note that there may be some libraries that can only be statically linked -// (Boost.Test for example) and others which may only be dynamically linked -// (Boost.Threads for example), in these cases this macro is unsupported. -// #define BOOST_WHATEVER_DYN_LINK - -// BOOST_ALL_NO_LIB: Tells the config system not to automatically select -// which libraries to link against. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, -// simply by the act of including one of that library's headers. -// This macro turns that feature off. -// #define BOOST_ALL_NO_LIB - -// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically -// select which library to link against for library "whatever", -// replace WHATEVER in the macro name with the name of the library; -// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, simply -// by the act of including one of that library's headers. This macro turns -// that feature off. -// #define BOOST_WHATEVER_NO_LIB - - - diff --git a/src/eo/contrib/boost/limits.hpp b/src/eo/contrib/boost/limits.hpp deleted file mode 100755 index 856072085..000000000 --- a/src/eo/contrib/boost/limits.hpp +++ /dev/null @@ -1,142 +0,0 @@ -// (C) Copyright John maddock 1999. -// (C) David Abrahams 2002. 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) -// -// use this header as a workaround for missing - -// See http://www.boost.org/libs/utility/limits.html for documentation. - -#ifndef BOOST_LIMITS -#define BOOST_LIMITS - -#include - -#ifdef BOOST_NO_LIMITS -# include -#else -# include -#endif - -#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \ - || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)) -// Add missing specializations for numeric_limits: -#ifdef BOOST_HAS_MS_INT64 -# define BOOST_LLT __int64 -# define BOOST_ULLT unsigned __int64 -#else -# define BOOST_LLT ::boost::long_long_type -# define BOOST_ULLT ::boost::ulong_long_type -#endif - -namespace std -{ - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; } -#elif defined(LLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; } -#elif defined(LONGLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; } -#else - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = true); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_LLT epsilon() throw() { return 0; }; - static BOOST_LLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_LLT infinity() throw() { return 0; }; - static BOOST_LLT quiet_NaN() throw() { return 0; }; - static BOOST_LLT signaling_NaN() throw() { return 0; }; - static BOOST_LLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = false); - BOOST_STATIC_CONSTANT(bool, is_modulo = false); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; - - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; } -#elif defined(ULLONG_MAX) && defined(ULLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; } -#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; } -#else - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = false); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_ULLT epsilon() throw() { return 0; }; - static BOOST_ULLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_ULLT infinity() throw() { return 0; }; - static BOOST_ULLT quiet_NaN() throw() { return 0; }; - static BOOST_ULLT signaling_NaN() throw() { return 0; }; - static BOOST_ULLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = false); - BOOST_STATIC_CONSTANT(bool, is_modulo = false); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; -} -#endif - -#endif diff --git a/src/eo/contrib/boost/numeric/interval.hpp b/src/eo/contrib/boost/numeric/interval.hpp deleted file mode 100755 index e6f976df0..000000000 --- a/src/eo/contrib/boost/numeric/interval.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Boost interval.hpp header file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_HPP -#define BOOST_NUMERIC_INTERVAL_HPP - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#endif // BOOST_NUMERIC_INTERVAL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/arith.hpp b/src/eo/contrib/boost/numeric/interval/arith.hpp deleted file mode 100755 index 64a8e97ee..000000000 --- a/src/eo/contrib/boost/numeric/interval/arith.hpp +++ /dev/null @@ -1,305 +0,0 @@ -/* Boost interval/arith.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -/* - * Basic arithmetic operators - */ - -template inline -const interval& operator+(const interval& x) -{ - return x; -} - -template inline -interval operator-(const interval& x) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - return interval(-x.upper(), -x.lower(), true); -} - -template inline -interval& interval::operator+=(const interval& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.add_down(low, r.low), rnd.add_up(up, r.up)); - } - return *this; -} - -template inline -interval& interval::operator+=(const T& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.add_down(low, r), rnd.add_up(up, r)); - } - return *this; -} - -template inline -interval& interval::operator-=(const interval& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.sub_down(low, r.up), rnd.sub_up(up, r.low)); - } - return *this; -} - -template inline -interval& interval::operator-=(const T& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.sub_down(low, r), rnd.sub_up(up, r)); - } - return *this; -} - -template inline -interval& interval::operator*=(const interval& r) -{ - return *this = *this * r; -} - -template inline -interval& interval::operator*=(const T& r) -{ - return *this = r * *this; -} - -template inline -interval& interval::operator/=(const interval& r) -{ - return *this = *this / r; -} - -template inline -interval& interval::operator/=(const T& r) -{ - return *this = *this / r; -} - -template inline -interval operator+(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.add_down(x.lower(), y.lower()), - rnd.add_up (x.upper(), y.upper()), true); -} - -template inline -interval operator+(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.add_down(x, y.lower()), - rnd.add_up (x, y.upper()), true); -} - -template inline -interval operator+(const interval& x, const T& y) -{ return y + x; } - -template inline -interval operator-(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), y.upper()), - rnd.sub_up (x.upper(), y.lower()), true); -} - -template inline -interval operator-(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x, y.upper()), - rnd.sub_up (x, y.lower()), true); -} - -template inline -interval operator-(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), y), - rnd.sub_up (x.upper(), y), true); -} - -template inline -interval operator*(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - - if (interval_lib::user::is_neg(xl)) - if (interval_lib::user::is_pos(xu)) - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // M * M - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.mul_down(xl, yu), rnd.mul_down(xu, yl)), - max BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.mul_up (xl, yl), rnd.mul_up (xu, yu)), true); - else // M * N - return I(rnd.mul_down(xu, yl), rnd.mul_up(xl, yl), true); - else - if (interval_lib::user::is_pos(yu)) // M * P - return I(rnd.mul_down(xl, yu), rnd.mul_up(xu, yu), true); - else // M * Z - return I(static_cast(0), static_cast(0), true); - else - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // N * M - return I(rnd.mul_down(xl, yu), rnd.mul_up(xl, yl), true); - else // N * N - return I(rnd.mul_down(xu, yu), rnd.mul_up(xl, yl), true); - else - if (interval_lib::user::is_pos(yu)) // N * P - return I(rnd.mul_down(xl, yu), rnd.mul_up(xu, yl), true); - else // N * Z - return I(static_cast(0), static_cast(0), true); - else - if (interval_lib::user::is_pos(xu)) - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // P * M - return I(rnd.mul_down(xu, yl), rnd.mul_up(xu, yu), true); - else // P * N - return I(rnd.mul_down(xu, yl), rnd.mul_up(xl, yu), true); - else - if (interval_lib::user::is_pos(yu)) // P * P - return I(rnd.mul_down(xl, yl), rnd.mul_up(xu, yu), true); - else // P * Z - return I(static_cast(0), static_cast(0), true); - else // Z * ? - return I(static_cast(0), static_cast(0), true); -} - -template inline -interval operator*(const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - const T& yl = y.lower(); - const T& yu = y.upper(); - // x is supposed not to be infinite - if (interval_lib::user::is_neg(x)) - return I(rnd.mul_down(x, yu), rnd.mul_up(x, yl), true); - else if (interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - else - return I(rnd.mul_down(x, yl), rnd.mul_up(x, yu), true); -} - -template inline -interval operator*(const interval& x, const T& y) -{ return y * x; } - -template inline -interval operator/(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - if (in_zero(y)) - if (!interval_lib::user::is_zero(y.lower())) - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_zero(x); - else - return interval_lib::detail::div_negative(x, y.lower()); - else - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_positive(x, y.upper()); - else - return interval::empty(); - else - return interval_lib::detail::div_non_zero(x, y); -} - -template inline -interval operator/(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - if (in_zero(y)) - if (!interval_lib::user::is_zero(y.lower())) - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_zero(x); - else - return interval_lib::detail::div_negative(x, y.lower()); - else - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_positive(x, y.upper()); - else - return interval::empty(); - else - return interval_lib::detail::div_non_zero(x, y); -} - -template inline -interval operator/(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y) || interval_lib::user::is_zero(y)) - return interval::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - if (interval_lib::user::is_neg(y)) - return interval(rnd.div_down(xu, y), rnd.div_up(xl, y), true); - else - return interval(rnd.div_down(xl, y), rnd.div_up(xu, y), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH_HPP diff --git a/src/eo/contrib/boost/numeric/interval/arith2.hpp b/src/eo/contrib/boost/numeric/interval/arith2.hpp deleted file mode 100755 index 274a68119..000000000 --- a/src/eo/contrib/boost/numeric/interval/arith2.hpp +++ /dev/null @@ -1,212 +0,0 @@ -/* Boost interval/arith2.hpp template implementation file - * - * This header provides some auxiliary arithmetic - * functions: fmod, sqrt, square, pov, inverse and - * a multi-interval division. - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH2_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH2_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval fmod(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T const &yb = interval_lib::user::is_neg(x.lower()) ? y.lower() : y.upper(); - T n = rnd.int_down(rnd.div_down(x.lower(), yb)); - return (const I&)x - n * (const I&)y; -} - -template inline -interval fmod(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T n = rnd.int_down(rnd.div_down(x.lower(), y)); - return (const I&)x - n * I(y); -} - -template inline -interval fmod(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T const &yb = interval_lib::user::is_neg(x) ? y.lower() : y.upper(); - T n = rnd.int_down(rnd.div_down(x, yb)); - return x - n * (const I&)y; -} - -namespace interval_lib { - -template inline -interval division_part1(const interval& x, - const interval& y, bool& b) -{ - typedef interval I; - b = false; - if (detail::test_input(x, y)) - return I::empty(); - if (in_zero(y)) - if (!user::is_zero(y.lower())) - if (!user::is_zero(y.upper())) - return detail::div_zero_part1(x, y, b); - else - return detail::div_negative(x, y.lower()); - else - if (!user::is_zero(y.upper())) - return detail::div_positive(x, y.upper()); - else - return I::empty(); - else - return detail::div_non_zero(x, y); -} - -template inline -interval division_part2(const interval& x, - const interval& y, bool b = true) -{ - if (!b) return interval::empty(); - return detail::div_zero_part2(x, y); -} - -template inline -interval multiplicative_inverse(const interval& x) -{ - typedef interval I; - if (detail::test_input(x)) - return I::empty(); - T one = static_cast(1); - typename Policies::rounding rnd; - if (in_zero(x)) { - typedef typename Policies::checking checking; - if (!user::is_zero(x.lower())) - if (!user::is_zero(x.upper())) - return I::whole(); - else - return I(checking::neg_inf(), rnd.div_up(one, x.lower()), true); - else - if (!user::is_zero(x.upper())) - return I(rnd.div_down(one, x.upper()), checking::pos_inf(), true); - else - return I::empty(); - } else - return I(rnd.div_down(one, x.upper()), rnd.div_up(one, x.lower()), true); -} - -namespace detail { - -template inline -T pow_aux(const T& x_, int pwr, Rounding& rnd) // x and pwr are positive -{ - T x = x_; - T y = (pwr & 1) ? x_ : static_cast(1); - pwr >>= 1; - while (pwr > 0) { - x = rnd.mul_up(x, x); - if (pwr & 1) y = rnd.mul_up(x, y); - pwr >>= 1; - } - return y; -} - -} // namespace detail -} // namespace interval_lib - -template inline -interval pow(const interval& x, int pwr) -{ - BOOST_USING_STD_MAX(); - using interval_lib::detail::pow_aux; - typedef interval I; - - if (interval_lib::detail::test_input(x)) - return I::empty(); - - if (pwr == 0) - if (interval_lib::user::is_zero(x.lower()) - && interval_lib::user::is_zero(x.upper())) - return I::empty(); - else - return I(static_cast(1)); - else if (pwr < 0) - return interval_lib::multiplicative_inverse(pow(x, -pwr)); - - typename Policies::rounding rnd; - - if (interval_lib::user::is_neg(x.upper())) { // [-2,-1] - T yl = pow_aux(-x.upper(), pwr, rnd); - T yu = pow_aux(-x.lower(), pwr, rnd); - if (pwr & 1) // [-2,-1]^1 - return I(-yu, -yl, true); - else // [-2,-1]^2 - return I(yl, yu, true); - } else if (interval_lib::user::is_neg(x.lower())) { // [-1,1] - if (pwr & 1) { // [-1,1]^1 - return I(-pow_aux(-x.lower(), pwr, rnd), pow_aux(x.upper(), pwr, rnd), true); - } else { // [-1,1]^2 - return I(static_cast(0), pow_aux(max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()), pwr, rnd), true); - } - } else { // [1,2] - return I(pow_aux(x.lower(), pwr, rnd), pow_aux(x.upper(), pwr, rnd), true); - } -} - -template inline -interval sqrt(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || interval_lib::user::is_neg(x.upper())) - return I::empty(); - typename Policies::rounding rnd; - T l = !interval_lib::user::is_pos(x.lower()) ? static_cast(0) : rnd.sqrt_down(x.lower()); - return I(l, rnd.sqrt_up(x.upper()), true); -} - -template inline -interval square(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - if (interval_lib::user::is_neg(xu)) - return I(rnd.mul_down(xu, xu), rnd.mul_up(xl, xl), true); - else if (interval_lib::user::is_pos(x.lower())) - return I(rnd.mul_down(xl, xl), rnd.mul_up(xu, xu), true); - else - return I(static_cast(0), (-xl > xu ? rnd.mul_up(xl, xl) : rnd.mul_up(xu, xu)), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH2_HPP diff --git a/src/eo/contrib/boost/numeric/interval/arith3.hpp b/src/eo/contrib/boost/numeric/interval/arith3.hpp deleted file mode 100755 index 518e6182f..000000000 --- a/src/eo/contrib/boost/numeric/interval/arith3.hpp +++ /dev/null @@ -1,69 +0,0 @@ -/* Boost interval/arith3.hpp template implementation file - * - * This headers provides arithmetical functions - * which compute an interval given some base - * numbers. The resulting interval encloses the - * real result of the arithmetic operation. - * - * Copyright 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH3_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH3_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -template inline -I add(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.add_down(x, y), rnd.add_up(x, y), true); -} - -template inline -I sub(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.sub_down(x, y), rnd.sub_up(x, y), true); -} - -template inline -I mul(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.mul_down(x, y), rnd.mul_up(x, y), true); -} - -template inline -I div(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y) || user::is_zero(y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.div_down(x, y), rnd.div_up(x, y), true); -} - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH3_HPP diff --git a/src/eo/contrib/boost/numeric/interval/checking.hpp b/src/eo/contrib/boost/numeric/interval/checking.hpp deleted file mode 100755 index 2db486a0b..000000000 --- a/src/eo/contrib/boost/numeric/interval/checking.hpp +++ /dev/null @@ -1,130 +0,0 @@ -/* Boost interval/checking.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_CHECKING_HPP -#define BOOST_NUMERIC_INTERVAL_CHECKING_HPP - -#include -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -struct exception_create_empty -{ - void operator()() - { - throw std::runtime_error("boost::interval: empty interval created"); - } -}; - -struct exception_invalid_number -{ - void operator()() - { - throw std::invalid_argument("boost::interval: invalid number"); - } -}; - -template -struct checking_base -{ - static T pos_inf() - { - assert(std::numeric_limits::has_infinity); - return std::numeric_limits::infinity(); - } - static T neg_inf() - { - assert(std::numeric_limits::has_infinity); - return -std::numeric_limits::infinity(); - } - static T nan() - { - assert(std::numeric_limits::has_quiet_NaN); - return std::numeric_limits::quiet_NaN(); - } - static bool is_nan(const T& x) - { - return std::numeric_limits::has_quiet_NaN && (x != x); - } - static T empty_lower() - { - return (std::numeric_limits::has_quiet_NaN ? - std::numeric_limits::quiet_NaN() : static_cast(1)); - } - static T empty_upper() - { - return (std::numeric_limits::has_quiet_NaN ? - std::numeric_limits::quiet_NaN() : static_cast(0)); - } - static bool is_empty(const T& l, const T& u) - { - return !(l <= u); // safety for partial orders - } -}; - -template, - class Exception = exception_create_empty> -struct checking_no_empty: Checking -{ - static T nan() - { - assert(false); - return Checking::nan(); - } - static T empty_lower() - { - Exception()(); - return Checking::empty_lower(); - } - static T empty_upper() - { - Exception()(); - return Checking::empty_upper(); - } - static bool is_empty(const T&, const T&) - { - return false; - } -}; - -template > -struct checking_no_nan: Checking -{ - static bool is_nan(const T&) - { - return false; - } -}; - -template, - class Exception = exception_invalid_number> -struct checking_catch_nan: Checking -{ - static bool is_nan(const T& x) - { - if (Checking::is_nan(x)) Exception()(); - return false; - } -}; - -template -struct checking_strict: - checking_no_nan > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_CHECKING_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare.hpp b/src/eo/contrib/boost/numeric/interval/compare.hpp deleted file mode 100755 index f21753e71..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/* Boost interval/compare.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_HPP - -#include -#include -#include -#include -#include - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/certain.hpp b/src/eo/contrib/boost/numeric/interval/compare/certain.hpp deleted file mode 100755 index 9232d5cd8..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/certain.hpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Boost interval/compare/certain.hpp template implementation file - * - * Copyright 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace certain { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y.lower(); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() <= y.lower(); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() <= y; -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() > y.upper(); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() > y; -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y.upper(); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() == y.lower() && x.lower() == y.upper(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() == y && x.lower() == y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y.lower() || x.lower() > y.upper(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y || x.lower() > y; -} - -} // namespace certain -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/explicit.hpp b/src/eo/contrib/boost/numeric/interval/compare/explicit.hpp deleted file mode 100755 index 8c68be891..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/explicit.hpp +++ /dev/null @@ -1,248 +0,0 @@ -/* Boost interval/compare/explicit.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Certainly... operations - */ - -template inline -bool cerlt(const interval& x, const interval& y) -{ - return x.upper() < y.lower(); -} - -template inline -bool cerlt(const interval& x, const T& y) -{ - return x.upper() < y; -} - -template inline -bool cerlt(const T& x, const interval& y) -{ - return x < y.lower(); -} - -template inline -bool cerle(const interval& x, const interval& y) -{ - return x.upper() <= y.lower(); -} - -template inline -bool cerle(const interval& x, const T& y) -{ - return x.upper() <= y; -} - -template inline -bool cerle(const T& x, const interval& y) -{ - return x <= y.lower(); -} - -template inline -bool cergt(const interval& x, const interval& y) -{ - return x.lower() > y.upper(); -} - -template inline -bool cergt(const interval& x, const T& y) -{ - return x.lower() > y; -} - -template inline -bool cergt(const T& x, const interval& y) -{ - return x > y.upper(); -} - -template inline -bool cerge(const interval& x, const interval& y) -{ - return x.lower() >= y.upper(); -} - -template inline -bool cerge(const interval& x, const T& y) -{ - return x.lower() >= y; -} - -template inline -bool cerge(const T& x, const interval& y) -{ - return x >= y.upper(); -} - -template inline -bool cereq(const interval& x, const interval& y) -{ - return x.lower() == y.upper() && y.lower() == x.upper(); -} - -template inline -bool cereq(const interval& x, const T& y) -{ - return x.lower() == y && x.upper() == y; -} - -template inline -bool cereq(const T& x, const interval& y) -{ - return x == y.lower() && x == y.upper(); -} - -template inline -bool cerne(const interval& x, const interval& y) -{ - return x.upper() < y.lower() || y.upper() < x.lower(); -} - -template inline -bool cerne(const interval& x, const T& y) -{ - return x.upper() < y || y < x.lower(); -} - -template inline -bool cerne(const T& x, const interval& y) -{ - return x < y.lower() || y.upper() < x; -} - -/* - * Possibly... comparisons - */ - -template inline -bool poslt(const interval& x, const interval& y) -{ - return x.lower() < y.upper(); -} - -template inline -bool poslt(const interval& x, const T& y) -{ - return x.lower() < y; -} - -template inline -bool poslt(const T& x, const interval& y) -{ - return x < y.upper(); -} - -template inline -bool posle(const interval& x, const interval& y) -{ - return x.lower() <= y.upper(); -} - -template inline -bool posle(const interval& x, const T& y) -{ - return x.lower() <= y; -} - -template inline -bool posle(const T& x, const interval& y) -{ - return x <= y.upper(); -} - -template inline -bool posgt(const interval& x, const interval& y) -{ - return x.upper() > y.lower(); -} - -template inline -bool posgt(const interval& x, const T& y) -{ - return x.upper() > y; -} - -template inline -bool posgt(const T& x, const interval & y) -{ - return x > y.lower(); -} - -template inline -bool posge(const interval& x, const interval& y) -{ - return x.upper() >= y.lower(); -} - -template inline -bool posge(const interval& x, const T& y) -{ - return x.upper() >= y; -} - -template inline -bool posge(const T& x, const interval& y) -{ - return x >= y.lower(); -} - -template inline -bool poseq(const interval& x, const interval& y) -{ - return x.upper() >= y.lower() && y.upper() >= x.lower(); -} - -template inline -bool poseq(const interval& x, const T& y) -{ - return x.upper() >= y && y >= x.lower(); -} - -template inline -bool poseq(const T& x, const interval& y) -{ - return x >= y.lower() && y.upper() >= x; -} - -template inline -bool posne(const interval& x, const interval& y) -{ - return x.upper() != y.lower() || y.upper() != x.lower(); -} - -template inline -bool posne(const interval& x, const T& y) -{ - return x.upper() != y || y != x.lower(); -} - -template inline -bool posne(const T& x, const interval& y) -{ - return x != y.lower() || y.upper() != x; -} - -} // namespace interval_lib -} // namespace numeric -} //namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp b/src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp deleted file mode 100755 index 03f6036d2..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp +++ /dev/null @@ -1,122 +0,0 @@ -/* Boost interval/compare/lexicographic.hpp template implementation file - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace lexicographic { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl < yl || (xl == yl && x.upper() < y.upper()); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl < yl || (xl == yl && x.upper() <= y.upper()); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - return xl < y || (xl == y && x.upper() <= y); -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl > yl || (xl == yl && x.upper() > y.upper()); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - return xl > y || (xl == y && x.upper() > y); -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl > yl || (xl == yl && x.upper() >= y.upper()); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() == y.lower() && x.upper() == y.upper(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() == y && x.upper() == y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y.lower() || x.upper() != y.upper(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y || x.upper() != y; -} - -} // namespace lexicographic -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/possible.hpp b/src/eo/contrib/boost/numeric/interval/compare/possible.hpp deleted file mode 100755 index 59bec31b9..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/possible.hpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Boost interval/compare/possible.hpp template implementation file - * - * Copyright 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace possible { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y.upper(); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y.upper(); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y; -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() > y.lower(); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() > y; -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() >= y.lower(); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y.upper() && x.upper() >= y.lower(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y && x.upper() >= y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y.upper() || x.upper() != y.lower(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y || x.upper() != y; -} - -} // namespace possible -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/set.hpp b/src/eo/contrib/boost/numeric/interval/compare/set.hpp deleted file mode 100755 index aa4f1716b..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/set.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/* Boost interval/compare/set.hpp template implementation file - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace set { - -template inline -bool operator<(const interval& x, const interval& y) -{ - return proper_subset(x, y); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - return subset(x, y); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - return proper_subset(y, x); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - return subset(y, x); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - return equal(y, x); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - return !equal(y, x); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -} // namespace set -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/tribool.hpp b/src/eo/contrib/boost/numeric/interval/compare/tribool.hpp deleted file mode 100755 index 6e4a83e27..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/tribool.hpp +++ /dev/null @@ -1,138 +0,0 @@ -/* Boost interval/compare/tribool.hpp template implementation file - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace tribool { - -template inline -logic::tribool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y.lower()) return true; - if (x.lower() >= y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y) return true; - if (x.lower() >= y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() <= y.lower()) return true; - if (x.lower() > y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() <= y) return true; - if (x.lower() > y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() > y.upper()) return true; - if (x.upper() <= y.lower()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() > y) return true; - if (x.upper() <= y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() >= y.upper()) return true; - if (x.upper() < y.lower()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() >= y) return true; - if (x.upper() < y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() == y.lower() && x.lower() == y.upper()) return true; - if (x.upper() < y.lower() || x.lower() > y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() == y && x.lower() == y) return true; - if (x.upper() < y || x.lower() > y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y.lower() || x.lower() > y.upper()) return true; - if (x.upper() == y.lower() && x.lower() == y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y || x.lower() > y) return true; - if (x.upper() == y && x.lower() == y) return false; - return logic::indeterminate; -} - -} // namespace tribool -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/constants.hpp b/src/eo/contrib/boost/numeric/interval/constants.hpp deleted file mode 100755 index a3a42efec..000000000 --- a/src/eo/contrib/boost/numeric/interval/constants.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/* Boost interval/constants.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP -#define BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace constants { - -// These constants should be exactly computed. -// Decimal representations wouldn't do it since the standard doesn't -// specify the rounding (even nearest) that should be used. - -static const float pi_f_l = 13176794.0f/(1<<22); -static const float pi_f_u = 13176795.0f/(1<<22); -static const double pi_d_l = (3373259426.0 + 273688.0 / (1<<21)) / (1<<30); -static const double pi_d_u = (3373259426.0 + 273689.0 / (1<<21)) / (1<<30); - -template inline T pi_lower() { return 3; } -template inline T pi_upper() { return 4; } -template inline T pi_half_lower() { return 1; } -template inline T pi_half_upper() { return 2; } -template inline T pi_twice_lower() { return 6; } -template inline T pi_twice_upper() { return 7; } - -template<> inline float pi_lower() { return pi_f_l; } -template<> inline float pi_upper() { return pi_f_u; } -template<> inline float pi_half_lower() { return pi_f_l / 2; } -template<> inline float pi_half_upper() { return pi_f_u / 2; } -template<> inline float pi_twice_lower() { return pi_f_l * 2; } -template<> inline float pi_twice_upper() { return pi_f_u * 2; } - -template<> inline double pi_lower() { return pi_d_l; } -template<> inline double pi_upper() { return pi_d_u; } -template<> inline double pi_half_lower() { return pi_d_l / 2; } -template<> inline double pi_half_upper() { return pi_d_u / 2; } -template<> inline double pi_twice_lower() { return pi_d_l * 2; } -template<> inline double pi_twice_upper() { return pi_d_u * 2; } - -template<> inline long double pi_lower() { return pi_d_l; } -template<> inline long double pi_upper() { return pi_d_u; } -template<> inline long double pi_half_lower() { return pi_d_l / 2; } -template<> inline long double pi_half_upper() { return pi_d_u / 2; } -template<> inline long double pi_twice_lower() { return pi_d_l * 2; } -template<> inline long double pi_twice_upper() { return pi_d_u * 2; } - -} // namespace constants - -template inline -I pi() -{ - typedef typename I::base_type T; - return I(constants::pi_lower(), - constants::pi_upper(), true); -} - -template inline -I pi_half() -{ - typedef typename I::base_type T; - return I(constants::pi_half_lower(), - constants::pi_half_upper(), true); -} - -template inline -I pi_twice() -{ - typedef typename I::base_type T; - return I(constants::pi_twice_lower(), - constants::pi_twice_upper(), true); -} - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp deleted file mode 100755 index e3aaf046c..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* Boost interval/detail/bcc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP - -#ifndef __BORLANDC__ -# error This header is only intended for Borland C++. -#endif - -#ifndef _M_IX86 -# error This header only works on x86 CPUs. -#endif - -#include // Borland C++ rounding control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -#ifndef BOOST_NUMERIC_INTERVAL_KEEP_EXCEPTIONS_FOR_BCC -extern "C" { unsigned int _RTLENTRY _fm_init(void); } - -struct borland_workaround { - borland_workaround() { _fm_init(); } -}; - -static borland_workaround borland_workaround_exec; -#endif // BOOST_NUMERIC_INTERVAL_KEEP_EXCEPTIONS_FOR_BCC - -__inline double rint(double) -{ __emit__(0xD9); __emit__(0xFC); /* asm FRNDINT */ } - -struct x86_rounding -{ - typedef unsigned int rounding_mode; - static void get_rounding_mode(rounding_mode& mode) - { mode = _control87(0, 0); } - static void set_rounding_mode(const rounding_mode mode) - { _control87(mode, 0xffff); } - static double to_int(const double& x) { return rint(x); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/bugs.hpp b/src/eo/contrib/boost/numeric/interval/detail/bugs.hpp deleted file mode 100755 index 2058b9aee..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/bugs.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/* Boost interval/detail/bugs.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BUGS -#define BOOST_NUMERIC_INTERVAL_DETAIL_BUGS - -#include - -#if defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_XOPEN_EXTENDED) || defined(__USE_ISOC99)) && !defined(__ICC) -# define BOOST_HAS_INV_HYPERBOLIC -#endif - -#ifdef BOOST_NO_STDC_NAMESPACE -# define BOOST_NUMERIC_INTERVAL_using_math(a) using ::a -# ifdef BOOST_HAS_INV_HYPERBOLIC -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a -# endif -#else -# define BOOST_NUMERIC_INTERVAL_using_math(a) using std::a -# if defined(BOOST_HAS_INV_HYPERBOLIC) -# if defined(__GLIBCPP__) || defined(__GLIBCXX__) -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a -# else -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using std::a -# endif -# endif -#endif - -#if defined(__COMO__) || defined(BOOST_INTEL) -# define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a -#elif defined(BOOST_NO_STDC_NAMESPACE) -# define BOOST_NUMERIC_INTERVAL_using_max(a) using ::a -#else -# define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a -#endif - -#ifndef BOOST_NUMERIC_INTERVAL_using_ahyp -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) -#endif - -#if defined(__GNUC__) && (__GNUC__ <= 2) -// cf PR c++/1981 for a description of the bug -#include -#include -namespace boost { -namespace numeric { - using std::min; - using std::max; - using std::sqrt; - using std::exp; - using std::log; - using std::cos; - using std::tan; - using std::asin; - using std::acos; - using std::atan; - using std::ceil; - using std::floor; - using std::sinh; - using std::cosh; - using std::tanh; -# undef BOOST_NUMERIC_INTERVAL_using_max -# undef BOOST_NUMERIC_INTERVAL_using_math -# define BOOST_NUMERIC_INTERVAL_using_max(a) -# define BOOST_NUMERIC_INTERVAL_using_math(a) -# undef BOOST_NUMERIC_INTERVAL_using_ahyp -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) -} // namespace numeric -} // namespace boost -#endif - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_BUGS diff --git a/src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp deleted file mode 100755 index 181d28666..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/* Boost interval/detail/c99_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct c99_rounding_control: c99_rounding -{ - template - static T force_rounding(const T& r) { volatile T r_ = r; return r_; } -}; - -} // namespace detail - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp deleted file mode 100755 index 571c51fcc..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/* Boost interval/detail/c99sub_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUNDING_CONTROL_HPP - -#include // ISO C 99 rounding mode control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -extern "C" { double rint(double); } - -struct c99_rounding -{ - typedef int rounding_mode; - - static void set_rounding_mode(const rounding_mode mode) { fesetround(mode); } - static void get_rounding_mode(rounding_mode &mode) { mode = fegetround(); } - static void downward() { set_rounding_mode(FE_DOWNWARD); } - static void upward() { set_rounding_mode(FE_UPWARD); } - static void to_nearest() { set_rounding_mode(FE_TONEAREST); } - static void toward_zero() { set_rounding_mode(FE_TOWARDZERO); } - - template - static T to_int(const T& r) { return rint(r); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUBDING_CONTROL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/division.hpp b/src/eo/contrib/boost/numeric/interval/detail/division.hpp deleted file mode 100755 index 24fb025ad..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/division.hpp +++ /dev/null @@ -1,194 +0,0 @@ -/* Boost interval/detail/division.hpp file - * - * Copyright 2003 Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP - -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -template inline -interval div_non_zero(const interval& x, - const interval& y) -{ - // assert(!in_zero(y)); - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - if (::boost::numeric::interval_lib::user::is_neg(xu)) - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yl), rnd.div_up(xl, yu), true); - else - return I(rnd.div_down(xl, yl), rnd.div_up(xu, yu), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yu), rnd.div_up(xl, yu), true); - else - return I(rnd.div_down(xl, yl), rnd.div_up(xu, yl), true); - else - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yu), rnd.div_up(xl, yl), true); - else - return I(rnd.div_down(xl, yu), rnd.div_up(xu, yl), true); -} - -template inline -interval div_non_zero(const T& x, const interval& y) -{ - // assert(!in_zero(y)); - typename Policies::rounding rnd; - typedef interval I; - const T& yl = y.lower(); - const T& yu = y.upper(); - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(rnd.div_down(x, yl), rnd.div_up(x, yu), true); - else - return I(rnd.div_down(x, yu), rnd.div_up(x, yl), true); -} - -template inline -interval div_positive(const interval& x, const T& yu) -{ - // assert(::boost::numeric::interval_lib::user::is_pos(yu)); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - return I(checking::neg_inf(), rnd.div_up(xu, yu), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - return I(checking::neg_inf(), checking::pos_inf(), true); - else - return I(rnd.div_down(xl, yu), checking::pos_inf(), true); -} - -template inline -interval div_positive(const T& x, const T& yu) -{ - // assert(::boost::numeric::interval_lib::user::is_pos(yu)); - typedef interval I; - if (::boost::numeric::interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(checking::neg_inf(), rnd.div_up(x, yu), true); - else - return I(rnd.div_down(x, yu), checking::pos_inf(), true); -} - -template inline -interval div_negative(const interval& x, const T& yl) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(yl)); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - return I(rnd.div_down(xu, yl), checking::pos_inf(), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - return I(checking::neg_inf(), checking::pos_inf(), true); - else - return I(checking::neg_inf(), rnd.div_up(xl, yl), true); -} - -template inline -interval div_negative(const T& x, const T& yl) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(yl)); - typedef interval I; - if (::boost::numeric::interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(rnd.div_down(x, yl), checking::pos_inf(), true); - else - return I(checking::neg_inf(), rnd.div_up(x, yl), true); -} - -template inline -interval div_zero(const interval& x) -{ - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - else return interval::whole(); -} - -template inline -interval div_zero(const T& x) -{ - if (::boost::numeric::interval_lib::user::is_zero(x)) - return interval(static_cast(0), static_cast(0), true); - else return interval::whole(); -} - -template inline -interval div_zero_part1(const interval& x, - const interval& y, bool& b) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(y.lower()) && ::boost::numeric::interval_lib::user::is_pos(y.upper())); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && ::boost::numeric::interval_lib::user::is_zero(x.upper())) - { b = false; return x; } - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - { b = true; return I(checking::neg_inf(), rnd.div_up(xu, yu), true); } - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - { b = false; return I(checking::neg_inf(), checking::pos_inf(), true); } - else - { b = true; return I(checking::neg_inf(), rnd.div_up(xl, yl), true); } -} - -template inline -interval div_zero_part2(const interval& x, - const interval& y) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(y.lower()) && ::boost::numeric::interval_lib::user::is_pos(y.upper()) && (div_zero_part1(x, y, b), b)); - typename Policies::rounding rnd; - typedef interval I; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x.upper())) - return I(rnd.div_down(x.upper(), y.lower()), checking::pos_inf(), true); - else - return I(rnd.div_down(x.lower(), y.upper()), checking::pos_inf(), true); -} - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp b/src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp deleted file mode 100755 index ac9029b70..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/* Boost interval/detail/interval_prototype.hpp file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP - -namespace boost { -namespace numeric { - -namespace interval_lib { - -template struct rounded_math; -template struct checking_strict; -class comparison_error; -template struct policies; - -/* - * default policies class - */ - -template -struct default_policies -{ - typedef policies, checking_strict > type; -}; - -} // namespace interval_lib - -template::type > -class interval; - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp deleted file mode 100755 index 2068c934c..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp +++ /dev/null @@ -1,88 +0,0 @@ -/* Boost interval/detail/msvc_rounding_control.hpp file - * - * Copyright 2000 Maarten Keijzer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP - -#ifndef _MSC_VER -# error This header is only intended for MSVC, but might work for Borland as well -#endif - -#include // MSVC rounding control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -extern "C" { double rint(double); } - -struct x86_rounding -{ - static unsigned int hard2msvc(unsigned short m) { - unsigned int n = 0; - if (m & 0x01) n |= _EM_INVALID; - if (m & 0x02) n |= _EM_DENORMAL; - if (m & 0x04) n |= _EM_ZERODIVIDE; - if (m & 0x08) n |= _EM_OVERFLOW; - if (m & 0x10) n |= _EM_UNDERFLOW; - if (m & 0x20) n |= _EM_INEXACT; - switch (m & 0x300) { - case 0x000: n |= _PC_24; break; - case 0x200: n |= _PC_53; break; - case 0x300: n |= _PC_64; break; - } - switch (m & 0xC00) { - case 0x000: n |= _RC_NEAR; break; - case 0x400: n |= _RC_DOWN; break; - case 0x800: n |= _RC_UP; break; - case 0xC00: n |= _RC_CHOP; break; - } - if (m & 0x1000) n |= _IC_AFFINE; // only useful on 287 - return n; - } - - static unsigned short msvc2hard(unsigned int n) { - unsigned short m = 0; - if (n & _EM_INVALID) m |= 0x01; - if (n & _EM_DENORMAL) m |= 0x02; - if (n & _EM_ZERODIVIDE) m |= 0x04; - if (n & _EM_OVERFLOW) m |= 0x08; - if (n & _EM_UNDERFLOW) m |= 0x10; - if (n & _EM_INEXACT) m |= 0x20; - switch (n & _MCW_RC) { - case _RC_NEAR: m |= 0x000; break; - case _RC_DOWN: m |= 0x400; break; - case _RC_UP: m |= 0x800; break; - case _RC_CHOP: m |= 0xC00; break; - } - switch (n & _MCW_PC) { - case _PC_24: m |= 0x000; break; - case _PC_53: m |= 0x200; break; - case _PC_64: m |= 0x300; break; - } - if ((n & _MCW_IC) == _IC_AFFINE) m |= 0x1000; - return m; - } - - typedef unsigned short rounding_mode; - static void get_rounding_mode(rounding_mode& mode) - { mode = msvc2hard(_control87(0, 0)); } - static void set_rounding_mode(const rounding_mode mode) - { _control87(hard2msvc(mode), _MCW_EM | _MCW_RC | _MCW_PC | _MCW_IC); } - static double to_int(const double& x) { return rint(x); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp deleted file mode 100755 index 400522a75..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/* Boost interval/detail/ppc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * Copyright 2005 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP - -#if !defined(powerpc) && !defined(__powerpc__) && !defined(__ppc__) -#error This header only works on PPC CPUs. -#endif - -#if defined(__GNUC__ ) || (__IBMCPP__ >= 700) - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -typedef union { - ::boost::long_long_type imode; - double dmode; -} rounding_mode_struct; - -static const rounding_mode_struct mode_upward = { 0xFFF8000000000002LL }; -static const rounding_mode_struct mode_downward = { 0xFFF8000000000003LL }; -static const rounding_mode_struct mode_to_nearest = { 0xFFF8000000000001LL }; -static const rounding_mode_struct mode_toward_zero = { 0xFFF8000000000000LL }; - -struct ppc_rounding_control -{ - typedef double rounding_mode; - - static void set_rounding_mode(const rounding_mode mode) - { __asm__ __volatile__ ("mtfsf 255,%0" : : "f"(mode)); } - - static void get_rounding_mode(rounding_mode& mode) - { __asm__ __volatile__ ("mffs %0" : "=f"(mode)); } - - static void downward() { set_rounding_mode(mode_downward.dmode); } - static void upward() { set_rounding_mode(mode_upward.dmode); } - static void to_nearest() { set_rounding_mode(mode_to_nearest.dmode); } - static void toward_zero() { set_rounding_mode(mode_toward_zero.dmode); } -}; - -} // namespace detail - -extern "C" { - float rintf(float); - double rint(double); -} - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static float force_rounding(const float r) - { - float tmp; - __asm__ __volatile__ ("frsp %0, %1" : "=f" (tmp) : "f" (r)); - return tmp; - } - static float to_int(const float& x) { return rintf(x); } -}; - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static const double & force_rounding(const double& r) { return r; } - static double to_int(const double& r) { return rint(r); } -}; - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static const long double & force_rounding(const long double& r) { return r; } - static long double to_int(const long double& r) { return rint(r); } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE -#endif - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp deleted file mode 100755 index 6ba5baf03..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp +++ /dev/null @@ -1,112 +0,0 @@ -/* Boost interval/detail/sparc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - * - * The basic code in this file was kindly provided by Jeremy Siek. - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP - -#if !defined(sparc) && !defined(__sparc__) -# error This header is only intended for SPARC CPUs. -#endif - -#ifdef __SUNPRO_CC -# include -#endif - - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct sparc_rounding_control -{ - typedef unsigned int rounding_mode; - - static void set_rounding_mode(const rounding_mode& mode) - { -# if defined(__GNUC__) - __asm__ __volatile__("ld %0, %%fsr" : : "m"(mode)); -# elif defined (__SUNPRO_CC) - fpsetround(fp_rnd(mode)); -# elif defined(__KCC) - asm("sethi %hi(mode), %o1"); - asm("ld [%o1+%lo(mode)], %fsr"); -# else -# error Unsupported compiler for Sparc rounding control. -# endif - } - - static void get_rounding_mode(rounding_mode& mode) - { -# if defined(__GNUC__) - __asm__ __volatile__("st %%fsr, %0" : "=m"(mode)); -# elif defined (__SUNPRO_CC) - mode = fpgetround(); -# elif defined(__KCC) -# error KCC on Sun SPARC get_round_mode: please fix me - asm("st %fsr, [mode]"); -# else -# error Unsupported compiler for Sparc rounding control. -# endif - } - -#if defined(__SUNPRO_CC) - static void downward() { set_rounding_mode(FP_RM); } - static void upward() { set_rounding_mode(FP_RP); } - static void to_nearest() { set_rounding_mode(FP_RN); } - static void toward_zero() { set_rounding_mode(FP_RZ); } -#else - static void downward() { set_rounding_mode(0xc0000000); } - static void upward() { set_rounding_mode(0x80000000); } - static void to_nearest() { set_rounding_mode(0x00000000); } - static void toward_zero() { set_rounding_mode(0x40000000); } -#endif -}; - -} // namespace detail - -extern "C" { - float rintf(float); - double rint(double); -} - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const float& force_rounding(const float& x) { return x; } - static float to_int(const float& x) { return rintf(x); } -}; - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const double& force_rounding(const double& x) { return x; } - static double to_int(const double& x) { return rint(x); } -}; - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const long double& force_rounding(const long double& x) { return x; } - static long double to_int(const long double& x) { return rint(x); } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/test_input.hpp b/src/eo/contrib/boost/numeric/interval/detail/test_input.hpp deleted file mode 100755 index 58695fec3..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/test_input.hpp +++ /dev/null @@ -1,76 +0,0 @@ -/* Boost interval/detail/test_input.hpp file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace user { - -template inline -bool is_zero(T const &v) { return v == static_cast(0); } - -template inline -bool is_neg (T const &v) { return v < static_cast(0); } - -template inline -bool is_pos (T const &v) { return v > static_cast(0); } - -} // namespace user - -namespace detail { - -template inline -bool test_input(const interval& x) { - typedef typename Policies::checking checking; - return checking::is_empty(x.lower(), x.upper()); -} - -template inline -bool test_input(const interval& x, const interval& y) { - typedef typename Policies1::checking checking1; - typedef typename Policies2::checking checking2; - return checking1::is_empty(x.lower(), x.upper()) || - checking2::is_empty(y.lower(), y.upper()); -} - -template inline -bool test_input(const T& x, const interval& y) { - typedef typename Policies::checking checking; - return checking::is_nan(x) || checking::is_empty(y.lower(), y.upper()); -} - -template inline -bool test_input(const interval& x, const T& y) { - typedef typename Policies::checking checking; - return checking::is_empty(x.lower(), x.upper()) || checking::is_nan(y); -} - -template inline -bool test_input(const T& x) { - typedef typename Policies::checking checking; - return checking::is_nan(x); -} - -template inline -bool test_input(const T& x, const T& y) { - typedef typename Policies::checking checking; - return checking::is_nan(x) || checking::is_nan(y); -} - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp deleted file mode 100755 index 3eebdbac5..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp +++ /dev/null @@ -1,108 +0,0 @@ -/* Boost interval/detail/x86_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP - -#ifdef __GNUC__ -# include -#elif defined(__BORLANDC__) -# include -#elif defined(_MSC_VER) -# include -#elif defined(__MWERKS__) || defined(__ICC) -# define BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -# include -#else -# error Unsupported C++ compiler. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { - -namespace detail { - -#ifdef BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -typedef c99_rounding x86_rounding_control; -#undef BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -#else -struct fpu_rounding_modes -{ - unsigned short to_nearest; - unsigned short downward; - unsigned short upward; - unsigned short toward_zero; -}; - -// exceptions masked, extended precision -// hardware default is 0x037f (0x1000 only has a meaning on 287) -static const fpu_rounding_modes rnd_mode = { 0x137f, 0x177f, 0x1b7f, 0x1f7f }; - -struct x86_rounding_control: x86_rounding -{ - static void to_nearest() { set_rounding_mode(rnd_mode.to_nearest); } - static void downward() { set_rounding_mode(rnd_mode.downward); } - static void upward() { set_rounding_mode(rnd_mode.upward); } - static void toward_zero() { set_rounding_mode(rnd_mode.toward_zero); } -}; -#endif // BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM - -} // namespace detail - -template<> -struct rounding_control: detail::x86_rounding_control -{ - static float force_rounding(const float& r) - { volatile float r_ = r; return r_; } -}; - -template<> -struct rounding_control: detail::x86_rounding_control -{ - /*static double force_rounding(double r) - { asm volatile ("" : "+m"(r) : ); return r; }*/ - static double force_rounding(const double& r) - { volatile double r_ = r; return r_; } -}; - -namespace detail { - -template -struct x86_rounding_control_long_double; - -template<> -struct x86_rounding_control_long_double: x86_rounding_control -{ - static long double force_rounding(long double const &r) - { volatile long double r_ = r; return r_; } -}; - -template<> -struct x86_rounding_control_long_double: x86_rounding_control -{ - static long double const &force_rounding(long double const &r) - { return r; } -}; - -} // namespace detail - -template<> -struct rounding_control: - detail::x86_rounding_control_long_double< (sizeof(long double) >= 10) > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp deleted file mode 100755 index 079d681df..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* Boost interval/detail/x86gcc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP - -#ifndef __GNUC__ -# error This header only works with GNU CC. -#endif - -#ifndef __i386__ -# error This header only works on x86 CPUs. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct x86_rounding -{ - typedef unsigned short rounding_mode; - - static void set_rounding_mode(const rounding_mode& mode) - { __asm__ __volatile__ ("fldcw %0" : : "m"(mode)); } - - static void get_rounding_mode(rounding_mode& mode) - { __asm__ __volatile__ ("fnstcw %0" : "=m"(mode)); } - - template - static T to_int(T r) - { - T r_; - __asm__ ("frndint" : "=&t"(r_) : "0"(r)); - return r_; - } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/ext/integer.hpp b/src/eo/contrib/boost/numeric/interval/ext/integer.hpp deleted file mode 100755 index 628a343ac..000000000 --- a/src/eo/contrib/boost/numeric/interval/ext/integer.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/* Boost interval/ext/integer.hpp template implementation file - * - * Copyright 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP -#define BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP - -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval operator+ (const interval& x, int y) -{ - return x + static_cast(y); -} - -template inline -interval operator+ (int x, const interval& y) -{ - return static_cast(x) + y; -} - -template inline -interval operator- (const interval& x, int y) -{ - return x - static_cast(y); -} - -template inline -interval operator- (int x, const interval& y) -{ - return static_cast(x) - y; -} - -template inline -interval operator* (const interval& x, int y) -{ - return x * static_cast(y); -} - -template inline -interval operator* (int x, const interval& y) -{ - return static_cast(x) * y; -} - -template inline -interval operator/ (const interval& x, int y) -{ - return x / static_cast(y); -} - -template inline -interval operator/ (int x, const interval& y) -{ - return static_cast(x) / y; -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP diff --git a/src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp deleted file mode 100755 index 7f89a4e54..000000000 --- a/src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/* Boost interval/detail/x86gcc_rounding_control.hpp file - * - * This header provides a rounding control policy - * that avoids flushing results to memory. In - * order for this optimization to be reliable, it - * should be used only when no underflow or - * overflow would happen without it. Indeed, only - * values in range are correctly rounded. - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { - -namespace detail { - -// exceptions masked, expected precision (the mask is 0x0300) -static const fpu_rounding_modes rnd_mode_f = { 0x107f, 0x147f, 0x187f, 0x1c7f }; -static const fpu_rounding_modes rnd_mode_d = { 0x127f, 0x167f, 0x1a7f, 0x1e7f }; -static const fpu_rounding_modes rnd_mode_l = { 0x137f, 0x177f, 0x1b7f, 0x1f7f }; - -} // namespace detail - -template -struct x86_fast_rounding_control; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_f.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_f.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_f.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_f.toward_zero); } - static const float& force_rounding(const float& r) { return r; } -}; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_d.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_d.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_d.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_d.toward_zero); } - static const double& force_rounding(const double& r) { return r; } -}; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_l.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_l.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_l.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_l.toward_zero); } - static const long double& force_rounding(const long double& r) { return r; } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/hw_rounding.hpp b/src/eo/contrib/boost/numeric/interval/hw_rounding.hpp deleted file mode 100755 index ed225d405..000000000 --- a/src/eo/contrib/boost/numeric/interval/hw_rounding.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/* Boost interval/hw_rounding.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * Copyright 2005 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP -#define BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP - -#include -#include - -#define BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -// define appropriate specialization of rounding_control for built-in types -#if defined(__i386__) || defined(_M_IX86) || defined(__BORLANDC__) -# include -#elif defined(powerpc) || defined(__powerpc__) || defined(__ppc__) -# include -#elif defined(sparc) || defined(__sparc__) -# include -#endif - -#if defined(BOOST_NUMERIC_INTERVAL_NO_HARDWARE) && (defined(__USE_ISOC99) || defined(__MSL__)) -# include -#endif - -#if defined(BOOST_NUMERIC_INTERVAL_NO_HARDWARE) -# undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE -# error Boost.Numeric.Interval: Please specify rounding control mechanism. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Three specializations of rounded_math - */ - -template<> -struct rounded_math - : save_state > -{}; - -template<> -struct rounded_math - : save_state > -{}; - -template<> -struct rounded_math - : save_state > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP diff --git a/src/eo/contrib/boost/numeric/interval/interval.hpp b/src/eo/contrib/boost/numeric/interval/interval.hpp deleted file mode 100755 index 0b2d0eec6..000000000 --- a/src/eo/contrib/boost/numeric/interval/interval.hpp +++ /dev/null @@ -1,450 +0,0 @@ -/* Boost interval/interval.hpp header file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_INTERVAL_HPP -#define BOOST_NUMERIC_INTERVAL_INTERVAL_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { - -namespace interval_lib { - -class comparison_error - : public std::runtime_error -{ -public: - comparison_error() - : std::runtime_error("boost::interval: uncertain comparison") - { } -}; - -} // namespace interval_lib - -/* - * interval class - */ - -template -class interval -{ -private: - struct interval_holder; - struct number_holder; -public: - typedef T base_type; - typedef Policies traits_type; - - T const &lower() const; - T const &upper() const; - - interval(); - interval(T const &v); - template interval(T1 const &v); - interval(T const &l, T const &u); - template interval(T1 const &l, T2 const &u); - interval(interval const &r); - template interval(interval const &r); - template interval(interval const &r); - - interval &operator=(T const &v); - template interval &operator=(T1 const &v); - interval &operator=(interval const &r); - template interval &operator=(interval const &r); - template interval &operator=(interval const &r); - - void assign(const T& l, const T& u); - - static interval empty(); - static interval whole(); - static interval hull(const T& x, const T& y); - - interval& operator+= (const T& r); - interval& operator+= (const interval& r); - interval& operator-= (const T& r); - interval& operator-= (const interval& r); - interval& operator*= (const T& r); - interval& operator*= (const interval& r); - interval& operator/= (const T& r); - interval& operator/= (const interval& r); - - bool operator< (const interval_holder& r) const; - bool operator> (const interval_holder& r) const; - bool operator<= (const interval_holder& r) const; - bool operator>= (const interval_holder& r) const; - bool operator== (const interval_holder& r) const; - bool operator!= (const interval_holder& r) const; - - bool operator< (const number_holder& r) const; - bool operator> (const number_holder& r) const; - bool operator<= (const number_holder& r) const; - bool operator>= (const number_holder& r) const; - bool operator== (const number_holder& r) const; - bool operator!= (const number_holder& r) const; - - // the following is for internal use only, it is not a published interface - // nevertheless, it's public because friends don't always work correctly. - interval(const T& l, const T& u, bool): low(l), up(u) {} - void set_empty(); - void set_whole(); - void set(const T& l, const T& u); - -private: - struct interval_holder { - template - interval_holder(const interval& r) - : low(r.lower()), up(r.upper()) - { - typedef typename Policies2::checking checking2; - if (checking2::is_empty(low, up)) - throw interval_lib::comparison_error(); - } - - const T& low; - const T& up; - }; - - struct number_holder { - number_holder(const T& r) : val(r) - { - typedef typename Policies::checking checking; - if (checking::is_nan(r)) - throw interval_lib::comparison_error(); - } - - const T& val; - }; - - typedef typename Policies::checking checking; - typedef typename Policies::rounding rounding; - - T low; - T up; -}; - -template inline -interval::interval(): - low(static_cast(0)), up(static_cast(0)) -{} - -template inline -interval::interval(T const &v): low(v), up(v) -{ - if (checking::is_nan(v)) set_empty(); -} - -template template inline -interval::interval(T1 const &v) -{ - if (checking::is_nan(v)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(v); - up = rnd.conv_up (v); - } -} - -template template inline -interval::interval(T1 const &l, T2 const &u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(l); - up = rnd.conv_up (u); - } -} - -template inline -interval::interval(T const &l, T const &u): low(l), up(u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) - set_empty(); -} - - -template inline -interval::interval(interval const &r): low(r.lower()), up(r.upper()) -{} - -template template inline -interval::interval(interval const &r): low(r.lower()), up(r.upper()) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); -} - -template template inline -interval::interval(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(r.lower()); - up = rnd.conv_up (r.upper()); - } -} - -template inline -interval &interval::operator=(T const &v) -{ - if (checking::is_nan(v)) set_empty(); - else low = up = v; - return *this; -} - -template template inline -interval &interval::operator=(T1 const &v) -{ - if (checking::is_nan(v)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(v); - up = rnd.conv_up (v); - } - return *this; -} - -template inline -interval &interval::operator=(interval const &r) -{ - low = r.lower(); - up = r.upper(); - return *this; -} - -template template inline -interval &interval::operator=(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - low = r.lower(); - up = r.upper(); - } - return *this; -} - -template template inline -interval &interval::operator=(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(r.lower()); - up = rnd.conv_up (r.upper()); - } - return *this; -} - -template inline -void interval::assign(const T& l, const T& u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) - set_empty(); - else set(l, u); -} - -template inline -void interval::set(const T& l, const T& u) -{ - low = l; - up = u; -} - -template inline -void interval::set_empty() -{ - low = checking::empty_lower(); - up = checking::empty_upper(); -} - -template inline -void interval::set_whole() -{ - low = checking::neg_inf(); - up = checking::pos_inf(); -} - -template inline -interval interval::hull(const T& x, const T& y) -{ - bool bad_x = checking::is_nan(x); - bool bad_y = checking::is_nan(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return interval(y, y, true); - else - if (bad_y) return interval(x, x, true); - if (x <= y) return interval(x, y, true); - else return interval(y, x, true); -} - -template inline -interval interval::empty() -{ - return interval(checking::empty_lower(), - checking::empty_upper(), true); -} - -template inline -interval interval::whole() -{ - return interval(checking::neg_inf(), checking::pos_inf(), true); -} - -template inline -const T& interval::lower() const -{ - return low; -} - -template inline -const T& interval::upper() const -{ - return up; -} - -/* - * interval/interval comparisons - */ - -template inline -bool interval::operator< (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.low) return true; - else if (low >= r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator> (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low > r.up) return true; - else if (up <= r.low) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator<= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up <= r.low) return true; - else if (low > r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator>= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low >= r.up) return true; - else if (up < r.low) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator== (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up == r.low && low == r.up) return true; - else if (up < r.low || low > r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator!= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.low || low > r.up) return true; - else if (up == r.low && low == r.up) return false; - } - throw interval_lib::comparison_error(); -} - -/* - * interval/number comparisons - */ - -template inline -bool interval::operator< (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.val) return true; - else if (low >= r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator> (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low > r.val) return true; - else if (up <= r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator<= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up <= r.val) return true; - else if (low > r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator>= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low >= r.val) return true; - else if (up < r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator== (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up == r.val && low == r.val) return true; - else if (up < r.val || low > r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator!= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.val || low > r.val) return true; - else if (up == r.val && low == r.val) return false; - } - throw interval_lib::comparison_error(); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_INTERVAL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/io.hpp b/src/eo/contrib/boost/numeric/interval/io.hpp deleted file mode 100755 index dc4179e52..000000000 --- a/src/eo/contrib/boost/numeric/interval/io.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/* Boost interval/io.hpp header file - * - * This file is only meant to provide a quick - * implementation of the output operator. It is - * provided for test programs that aren't even - * interested in the precision of the results. - * A real progam should define its own operators - * and never include this header. - * - * Copyright 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_IO_HPP -#define BOOST_NUMERIC_INTERVAL_IO_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { - -template -std::basic_ostream &operator<< - (std::basic_ostream &stream, - interval const &value) -{ - if (empty(value)) - return stream << "[]"; - else - return stream << '[' << lower(value) << ',' << upper(value) << ']'; -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_IO_HPP diff --git a/src/eo/contrib/boost/numeric/interval/limits.hpp b/src/eo/contrib/boost/numeric/interval/limits.hpp deleted file mode 100755 index d691ccee2..000000000 --- a/src/eo/contrib/boost/numeric/interval/limits.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* Boost interval/limits.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_LIMITS_HPP -#define BOOST_NUMERIC_INTERVAL_LIMITS_HPP - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#include -#include -#include - -namespace std { - -template -class numeric_limits > - : public numeric_limits -{ -private: - typedef boost::numeric::interval I; - typedef numeric_limits bl; -public: - static I min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::min)(), (bl::min)()); } - static I max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::max)(), (bl::max)()); } - static I epsilon() throw() { return I(bl::epsilon(), bl::epsilon()); } - - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_indeterminate); - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - - static I infinity () throw() { return I::whole(); } - static I quiet_NaN() throw() { return I::empty(); } - static I signaling_NaN() throw() - { return I(bl::signaling_NaN(), bl::signaling_Nan()); } - static I denorm_min() throw() - { return I(bl::denorm_min(), bl::denorm_min()); } -private: - static I round_error(); // hide this on purpose, not yet implemented -}; - -} // namespace std - -#endif - -#endif // BOOST_NUMERIC_INTERVAL_LIMITS_HPP diff --git a/src/eo/contrib/boost/numeric/interval/policies.hpp b/src/eo/contrib/boost/numeric/interval/policies.hpp deleted file mode 100755 index 70ad220d9..000000000 --- a/src/eo/contrib/boost/numeric/interval/policies.hpp +++ /dev/null @@ -1,75 +0,0 @@ -/* Boost interval/policies.hpp template implementation file - * - * Copyright 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_POLICIES_HPP -#define BOOST_NUMERIC_INTERVAL_POLICIES_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * policies class - */ - -template -struct policies -{ - typedef Rounding rounding; - typedef Checking checking; -}; - -/* - * policies switching classes - */ - -template -class change_rounding -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::checking checking; -public: - typedef interval > type; -}; - -template -class change_checking -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::rounding rounding; -public: - typedef interval > type; -}; - -/* - * Protect / unprotect: control whether the rounding mode is set/reset - * at each operation, rather than once and for all. - */ - -template -class unprotect -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::rounding r; - typedef typename r::unprotected_rounding newRounding; -public: - typedef typename change_rounding::type type; -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_POLICIES_HPP diff --git a/src/eo/contrib/boost/numeric/interval/rounded_arith.hpp b/src/eo/contrib/boost/numeric/interval/rounded_arith.hpp deleted file mode 100755 index 6ce5c7f7e..000000000 --- a/src/eo/contrib/boost/numeric/interval/rounded_arith.hpp +++ /dev/null @@ -1,120 +0,0 @@ -/* Boost interval/rounded_arith.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Three classes of rounding: exact, std, opp - * See documentation for details. - */ - -template -struct rounded_arith_exact: Rounding { - void init() { } - template T conv_down(U const &v) { return v; } - template T conv_up (U const &v) { return v; } - T add_down (const T& x, const T& y) { return x + y; } - T add_up (const T& x, const T& y) { return x + y; } - T sub_down (const T& x, const T& y) { return x - y; } - T sub_up (const T& x, const T& y) { return x - y; } - T mul_down (const T& x, const T& y) { return x * y; } - T mul_up (const T& x, const T& y) { return x * y; } - T div_down (const T& x, const T& y) { return x / y; } - T div_up (const T& x, const T& y) { return x / y; } - T median (const T& x, const T& y) { return (x + y) / 2; } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); return sqrt(x); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); return sqrt(x); } - T int_down (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(floor); return floor(x); } - T int_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(ceil); return ceil(x); } -}; - -template -struct rounded_arith_std: Rounding { -# define BOOST_DN(EXPR) this->downward(); return this->force_rounding(EXPR) -# define BOOST_NR(EXPR) this->to_nearest(); return this->force_rounding(EXPR) -# define BOOST_UP(EXPR) this->upward(); return this->force_rounding(EXPR) - void init() { } - template T conv_down(U const &v) { BOOST_DN(v); } - template T conv_up (U const &v) { BOOST_UP(v); } - T add_down(const T& x, const T& y) { BOOST_DN(x + y); } - T sub_down(const T& x, const T& y) { BOOST_DN(x - y); } - T mul_down(const T& x, const T& y) { BOOST_DN(x * y); } - T div_down(const T& x, const T& y) { BOOST_DN(x / y); } - T add_up (const T& x, const T& y) { BOOST_UP(x + y); } - T sub_up (const T& x, const T& y) { BOOST_UP(x - y); } - T mul_up (const T& x, const T& y) { BOOST_UP(x * y); } - T div_up (const T& x, const T& y) { BOOST_UP(x / y); } - T median(const T& x, const T& y) { BOOST_NR((x + y) / 2); } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_DN(sqrt(x)); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_UP(sqrt(x)); } - T int_down(const T& x) { this->downward(); return to_int(x); } - T int_up (const T& x) { this->upward(); return to_int(x); } -# undef BOOST_DN -# undef BOOST_NR -# undef BOOST_UP -}; - -template -struct rounded_arith_opp: Rounding { - void init() { this->upward(); } -# define BOOST_DN(EXPR) \ - this->downward(); \ - T r = this->force_rounding(EXPR); \ - this->upward(); \ - return r -# define BOOST_NR(EXPR) \ - this->to_nearest(); \ - T r = this->force_rounding(EXPR); \ - this->upward(); \ - return r -# define BOOST_UP(EXPR) return this->force_rounding(EXPR) -# define BOOST_UP_NEG(EXPR) return -this->force_rounding(EXPR) - template T conv_down(U const &v) { BOOST_UP_NEG(-v); } - template T conv_up (U const &v) { BOOST_UP(v); } - T add_down(const T& x, const T& y) { BOOST_UP_NEG((-x) - y); } - T sub_down(const T& x, const T& y) { BOOST_UP_NEG(y - x); } - T mul_down(const T& x, const T& y) { BOOST_UP_NEG(x * (-y)); } - T div_down(const T& x, const T& y) { BOOST_UP_NEG(x / (-y)); } - T add_up (const T& x, const T& y) { BOOST_UP(x + y); } - T sub_up (const T& x, const T& y) { BOOST_UP(x - y); } - T mul_up (const T& x, const T& y) { BOOST_UP(x * y); } - T div_up (const T& x, const T& y) { BOOST_UP(x / y); } - T median (const T& x, const T& y) { BOOST_NR((x + y) / 2); } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_DN(sqrt(x)); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_UP(sqrt(x)); } - T int_down(const T& x) { return -to_int(-x); } - T int_up (const T& x) { return to_int(x); } -# undef BOOST_DN -# undef BOOST_NR -# undef BOOST_UP -# undef BOOST_UP_NEG -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP diff --git a/src/eo/contrib/boost/numeric/interval/rounded_transc.hpp b/src/eo/contrib/boost/numeric/interval/rounded_transc.hpp deleted file mode 100755 index e1704f5f2..000000000 --- a/src/eo/contrib/boost/numeric/interval/rounded_transc.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/* Boost interval/rounded_transc.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -template -struct rounded_transc_exact: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_math(f); return f(x); } \ - T f##_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(f); return f(x); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(cosh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_ahyp(f); return f(x); } \ - T f##_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_ahyp(f); return f(x); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(acosh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -template -struct rounded_transc_std: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->downward(); return this->force_rounding(f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->upward(); return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(cosh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->downward(); return this->force_rounding(f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->upward(); return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(acosh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -template -struct rounded_transc_opp: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->downward(); T y = this->force_rounding(f(x)); \ - this->upward(); return y; } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(cosh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return -this->force_rounding(-f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->downward(); T y = this->force_rounding(f(x)); \ - this->upward(); return y; } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return -this->force_rounding(-f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(acosh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP diff --git a/src/eo/contrib/boost/numeric/interval/rounding.hpp b/src/eo/contrib/boost/numeric/interval/rounding.hpp deleted file mode 100755 index f69e2e4b5..000000000 --- a/src/eo/contrib/boost/numeric/interval/rounding.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/* Boost interval/rounding.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDING_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDING_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Default rounding_control class (does nothing) - */ - -template -struct rounding_control -{ - typedef int rounding_mode; - static void get_rounding_mode(rounding_mode&) {} - static void set_rounding_mode(rounding_mode) {} - static void upward() {} - static void downward() {} - static void to_nearest() {} - static const T& to_int(const T& x) { return x; } - static const T& force_rounding(const T& x) { return x; } -}; - -/* - * A few rounding control classes (exact/std/opp: see documentation) - * rounded_arith_* control the rounding of the arithmetic operators - * rounded_transc_* control the rounding of the transcendental functions - */ - -template > -struct rounded_arith_exact; - -template > -struct rounded_arith_std; - -template > -struct rounded_arith_opp; - -template -struct rounded_transc_dummy; - -template > -struct rounded_transc_exact; - -template > -struct rounded_transc_std; - -template > -struct rounded_transc_opp; - -/* - * State-saving classes: allow to set and reset rounding control - */ - -namespace detail { - -template -struct save_state_unprotected: Rounding -{ - typedef save_state_unprotected unprotected_rounding; -}; - -} // namespace detail - -template -struct save_state: Rounding -{ - typename Rounding::rounding_mode mode; - save_state() { - this->get_rounding_mode(mode); - this->init(); - } - ~save_state() { this->set_rounding_mode(mode); } - typedef detail::save_state_unprotected unprotected_rounding; -}; - -template -struct save_state_nothing: Rounding -{ - typedef save_state_nothing unprotected_rounding; -}; - -template -struct rounded_math: save_state_nothing > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDING_HPP diff --git a/src/eo/contrib/boost/numeric/interval/transc.hpp b/src/eo/contrib/boost/numeric/interval/transc.hpp deleted file mode 100755 index 88aebd6b3..000000000 --- a/src/eo/contrib/boost/numeric/interval/transc.hpp +++ /dev/null @@ -1,232 +0,0 @@ -/* Boost interval/transc.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_TRANSC_HPP -#define BOOST_NUMERIC_INTERVAL_TRANSC_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval exp(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.exp_down(x.lower()), rnd.exp_up(x.upper()), true); -} - -template inline -interval log(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || - !interval_lib::user::is_pos(x.upper())) - return I::empty(); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - T l = !interval_lib::user::is_pos(x.lower()) - ? checking::neg_inf() : rnd.log_down(x.lower()); - return I(l, rnd.log_up(x.upper()), true); -} - -template inline -interval cos(const interval& x) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - typename Policies::rounding rnd; - typedef interval I; - typedef typename interval_lib::unprotect::type R; - - // get lower bound within [0, pi] - const R pi2 = interval_lib::pi_twice(); - R tmp = fmod((const R&)x, pi2); - if (width(tmp) >= pi2.lower()) - return I(static_cast(-1), static_cast(1), true); // we are covering a full period - if (tmp.lower() >= interval_lib::constants::pi_upper()) - return -cos(tmp - interval_lib::pi()); - T l = tmp.lower(); - T u = tmp.upper(); - - BOOST_USING_STD_MIN(); - // separate into monotone subintervals - if (u <= interval_lib::constants::pi_lower()) - return I(rnd.cos_down(u), rnd.cos_up(l), true); - else if (u <= pi2.lower()) - return I(static_cast(-1), rnd.cos_up(min BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.sub_down(pi2.lower(), u), l)), true); - else - return I(static_cast(-1), static_cast(1), true); -} - -template inline -interval sin(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect::type R; - I r = cos((const R&)x - interval_lib::pi_half()); - (void)&rnd; - return r; -} - -template inline -interval tan(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect::type R; - - // get lower bound within [-pi/2, pi/2] - const R pi = interval_lib::pi(); - R tmp = fmod((const R&)x, pi); - const T pi_half_d = interval_lib::constants::pi_half_lower(); - if (tmp.lower() >= pi_half_d) - tmp -= pi; - if (tmp.lower() <= -pi_half_d || tmp.upper() >= pi_half_d) - return I::whole(); - return I(rnd.tan_down(tmp.lower()), rnd.tan_up(tmp.upper()), true); -} - -template inline -interval asin(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = (x.lower() <= static_cast(-1)) - ? -interval_lib::constants::pi_half_upper() - : rnd.asin_down(x.lower()); - T u = (x.upper() >= static_cast(1) ) - ? interval_lib::constants::pi_half_upper() - : rnd.asin_up (x.upper()); - return I(l, u, true); -} - -template inline -interval acos(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = (x.upper() >= static_cast(1) ) - ? static_cast(0) - : rnd.acos_down(x.upper()); - T u = (x.lower() <= static_cast(-1)) - ? interval_lib::constants::pi_upper() - : rnd.acos_up (x.lower()); - return I(l, u, true); -} - -template inline -interval atan(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.atan_down(x.lower()), rnd.atan_up(x.upper()), true); -} - -template inline -interval sinh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.sinh_down(x.lower()), rnd.sinh_up(x.upper()), true); -} - -template inline -interval cosh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - if (interval_lib::user::is_neg(x.upper())) - return I(rnd.cosh_down(x.upper()), rnd.cosh_up(x.lower()), true); - else if (!interval_lib::user::is_neg(x.lower())) - return I(rnd.cosh_down(x.lower()), rnd.cosh_up(x.upper()), true); - else - return I(static_cast(0), rnd.cosh_up(-x.lower() > x.upper() ? x.lower() : x.upper()), true); -} - -template inline -interval tanh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.tanh_down(x.lower()), rnd.tanh_up(x.upper()), true); -} - -template inline -interval asinh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.asinh_down(x.lower()), rnd.asinh_up(x.upper()), true); -} - -template inline -interval acosh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || x.upper() < static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = x.lower() <= static_cast(1) ? static_cast(0) : rnd.acosh_down(x.lower()); - return I(l, rnd.acosh_up(x.upper()), true); -} - -template inline -interval atanh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - T l = (x.lower() <= static_cast(-1)) - ? checking::neg_inf() : rnd.atanh_down(x.lower()); - T u = (x.upper() >= static_cast(1) ) - ? checking::pos_inf() : rnd.atanh_up (x.upper()); - return I(l, u, true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_TRANSC_HPP diff --git a/src/eo/contrib/boost/numeric/interval/utility.hpp b/src/eo/contrib/boost/numeric/interval/utility.hpp deleted file mode 100755 index d24d84d7a..000000000 --- a/src/eo/contrib/boost/numeric/interval/utility.hpp +++ /dev/null @@ -1,331 +0,0 @@ -/* Boost interval/utility.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * 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) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_UTILITY_HPP -#define BOOST_NUMERIC_INTERVAL_UTILITY_HPP - -#include -#include -#include -#include -#include -#include - -/* - * Implementation of simple functions - */ - -namespace boost { -namespace numeric { - -/* - * Utility Functions - */ - -template inline -const T& lower(const interval& x) -{ - return x.lower(); -} - -template inline -const T& upper(const interval& x) -{ - return x.upper(); -} - -template inline -T checked_lower(const interval& x) -{ - if (empty(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - return x.lower(); -} - -template inline -T checked_upper(const interval& x) -{ - if (empty(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - return x.upper(); -} - -template inline -T width(const interval& x) -{ - if (interval_lib::detail::test_input(x)) return static_cast(0); - typename Policies::rounding rnd; - return rnd.sub_up(x.upper(), x.lower()); -} - -template inline -T median(const interval& x) -{ - if (interval_lib::detail::test_input(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - typename Policies::rounding rnd; - return rnd.median(x.lower(), x.upper()); -} - -template inline -interval widen(const interval& x, const T& v) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), v), - rnd.add_up (x.upper(), v), true); -} - -/* - * Set-like operations - */ - -template inline -bool empty(const interval& x) -{ - return interval_lib::detail::test_input(x); -} - -template inline -bool in_zero(const interval& x) -{ - if (interval_lib::detail::test_input(x)) return false; - return (!interval_lib::user::is_pos(x.lower())) && - (!interval_lib::user::is_neg(x.upper())); -} - -template inline -bool in(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) return false; - return y.lower() <= x && x <= y.upper(); -} - -template inline -bool subset(const interval& x, - const interval& y) -{ - if (empty(x)) return true; - return !empty(y) && y.lower() <= x.lower() && x.upper() <= y.upper(); -} - -template inline -bool proper_subset(const interval& x, - const interval& y) -{ - if (empty(y)) return false; - if (empty(x)) return true; - return y.lower() <= x.lower() && x.upper() <= y.upper() && - (y.lower() != x.lower() || x.upper() != y.upper()); -} - -template inline -bool overlap(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) return false; - return x.lower() <= y.lower() && y.lower() <= x.upper() || - y.lower() <= x.lower() && x.lower() <= y.upper(); -} - -template inline -bool singleton(const interval& x) -{ - return !empty(x) && x.lower() == x.upper(); -} - -template inline -bool equal(const interval& x, const interval& y) -{ - if (empty(x)) return empty(y); - return !empty(y) && x.lower() == y.lower() && x.upper() == y.upper(); -} - -template inline -interval intersect(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - const T& l = max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()); - const T& u = min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()); - if (l <= u) return interval(l, u, true); - else return interval::empty(); -} - -template inline -interval hull(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return y; - else - if (bad_y) return x; - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval hull(const interval& x, const T& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_y) - if (bad_x) return interval::empty(); - else return x; - else - if (bad_x) return interval(y, y, true); - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval hull(const T& x, const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return y; - else - if (bad_y) return interval(x, x, true); - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -template inline -interval hull(const T& x, const T& y) -{ - return interval::hull(x, y); -} - -template inline -std::pair, interval > -bisect(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return std::pair(I::empty(), I::empty()); - const T m = median(x); - return std::pair(I(x.lower(), m, true), I(m, x.upper(), true)); -} - -/* - * Elementary functions - */ - -template inline -T norm(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - BOOST_USING_STD_MAX(); - return max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()); -} - -template inline -interval abs(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - if (!interval_lib::user::is_neg(x.lower())) return x; - if (!interval_lib::user::is_pos(x.upper())) return -x; - BOOST_USING_STD_MAX(); - return I(static_cast(0), max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, - const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const T& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, - const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const T& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_UTILITY_HPP diff --git a/test/edo/CMakeLists.txt b/test/edo/CMakeLists.txt index d92acb707..da8f5b50a 100755 --- a/test/edo/CMakeLists.txt +++ b/test/edo/CMakeLists.txt @@ -53,7 +53,7 @@ foreach(current ${SOURCES}) add_executable(${current} ${current}.cpp) add_test(${current} ${current}) target_link_libraries(${current} eo eoutils edoutils) - install(TARGETS ${current} RUNTIME DESTINATION share/edo/test COMPONENT test) + install(TARGETS ${current} RUNTIME DESTINATION share/${PROJECT_TAG}/edo/test COMPONENT test) endforeach() ###################################################################################### diff --git a/test/eompi/CMakeLists.txt b/test/eompi/CMakeLists.txt index 59a23d288..12c65f63c 100755 --- a/test/eompi/CMakeLists.txt +++ b/test/eompi/CMakeLists.txt @@ -46,7 +46,7 @@ if(ENABLE_CMAKE_TESTING) add_executable(${test} ${T_${test}_SOURCES}) add_test(${test} ${test}) target_link_libraries(${test} eoutils eompi eoserial eo) - install(TARGETS ${test} RUNTIME DESTINATION share/eo/test COMPONENT test) + install(TARGETS ${test} RUNTIME DESTINATION share/${PROJECT_TAG}/eompi/test COMPONENT test) endforeach (test) endif() diff --git a/test/eompi/t-mpi-distrib-exp.cpp b/test/eompi/t-mpi-distrib-exp.cpp index 175881879..3a1f5f207 100755 --- a/test/eompi/t-mpi-distrib-exp.cpp +++ b/test/eompi/t-mpi-distrib-exp.cpp @@ -385,7 +385,11 @@ class Experiment : public eoserial::Persistent mpi::communicator& comm = eo::mpi::Node::comm(); // reinits every objects eo::rng.reseed( _seed ); - eo::rng.clearCache(); // trick for repeatable sequences of normal numbers, cf eo::rng + + #ifndef HAVE_RANDOM + eo::rng.clearCache(); // trick for repeatable sequences of normal numbers, cf eo::rng + #endif + _distribution->clear(); _distribution->fill( _size );