update boost on linux

This commit is contained in:
Bassem Girgis
2019-08-10 16:06:25 -05:00
parent 76ad52be58
commit 861b918727
5363 changed files with 483306 additions and 116507 deletions

View File

@@ -1,7 +1,7 @@
/* Boost interval/arith.hpp template implementation file
*
* Copyright 2000 Jens Maurer
* Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -4,7 +4,7 @@
* functions: fmod, sqrt, square, pov, inverse and
* a multi-interval division.
*
* Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/checking.hpp template implementation file
*
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/compare.hpp template implementation file
*
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/compare/explicit.hpp template implementation file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/constants.hpp template implementation file
*
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/detail/alpha_rounding_control.hpp file
*
* Copyright 2005 Felix Höfling, Guillaume Melquiond
* Copyright 2005 Felix Höfling, Guillaume Melquiond
*
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/bcc_rounding_control.hpp file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/bugs.hpp file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/c99_rounding_control.hpp file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/c99sub_rounding_control.hpp file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/detail/interval_prototype.hpp file
*
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/msvc_rounding_control.hpp file
*
* Copyright 2000 Maarten Keijzer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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
@@ -91,7 +91,7 @@ struct x86_rounding
{
_control87(hard2msvc(mode),
_MCW_EM | _MCW_RC
#if !defined(_M_AMD64) && !defined(_M_ARM)
#if !defined(_M_AMD64) && !defined(_M_ARM) && !defined(_M_ARM64)
// x64 ignores _MCW_PC and _MCW_IC, and the Debug CRT library actually
// asserts when these are passed to _control87.
// MSDN says on '_control87' that changing precision (_MCW_PC) or

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/ppc_rounding_control.hpp file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* Copyright 2005 Guillaume Melquiond
*
* Distributed under the Boost Software License, Version 1.0.

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/sparc_rounding_control.hpp file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/detail/test_input.hpp file
*
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/x86_rounding_control.hpp file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/detail/x86gcc_rounding_control.hpp file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -7,7 +7,7 @@
* overflow would happen without it. Indeed, only
* values in range are correctly rounded.
*
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/interval.hpp header file
*
* Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/limits.hpp template implementation file
*
* Copyright 2000 Jens Maurer
* Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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
@@ -26,18 +26,18 @@ private:
typedef boost::numeric::interval<T, Policies> I;
typedef numeric_limits<T> 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()); }
static I min BOOST_PREVENT_MACRO_SUBSTITUTION () BOOST_NOEXCEPT_OR_NOTHROW { return I((bl::min)(), (bl::min)()); }
static I max BOOST_PREVENT_MACRO_SUBSTITUTION () BOOST_NOEXCEPT_OR_NOTHROW { return I((bl::max)(), (bl::max)()); }
static I epsilon() BOOST_NOEXCEPT_OR_NOTHROW { 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()
static I infinity () BOOST_NOEXCEPT_OR_NOTHROW { return I::whole(); }
static I quiet_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return I::empty(); }
static I signaling_NaN() BOOST_NOEXCEPT_OR_NOTHROW
{ return I(bl::signaling_NaN(), bl::signaling_Nan()); }
static I denorm_min() throw()
static I denorm_min() BOOST_NOEXCEPT_OR_NOTHROW
{ return I(bl::denorm_min(), bl::denorm_min()); }
private:
static I round_error(); // hide this on purpose, not yet implemented

View File

@@ -1,6 +1,6 @@
/* Boost interval/rounded_arith.hpp template implementation file
*
* Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/rounded_transc.hpp template implementation file
*
* Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,6 +1,6 @@
/* Boost interval/rounding.hpp template implementation file
*
* Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/transc.hpp template implementation file
*
* Copyright 2000 Jens Maurer
* Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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

View File

@@ -1,7 +1,7 @@
/* Boost interval/utility.hpp template implementation file
*
* Copyright 2000 Jens Maurer
* Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
* 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
@@ -11,8 +11,7 @@
#ifndef BOOST_NUMERIC_INTERVAL_UTILITY_HPP
#define BOOST_NUMERIC_INTERVAL_UTILITY_HPP
#include <boost/config.hpp>
#include <boost/numeric/interval/detail/interval_prototype.hpp>
#include <boost/numeric/interval/utility_fwd.hpp>
#include <boost/numeric/interval/detail/test_input.hpp>
#include <boost/numeric/interval/detail/bugs.hpp>
#include <algorithm>
@@ -248,7 +247,6 @@ bisect(const interval<T, Policies>& x)
template<class T, class Policies> inline
T norm(const interval<T, Policies>& x)
{
typedef interval<T, Policies> I;
if (interval_lib::detail::test_input(x)) {
typedef typename Policies::checking checking;
return checking::nan();

View File

@@ -0,0 +1,172 @@
/* Boost interval/utility.hpp template interface file
*
* Copyright 2013 Cromwell D. Enage
*
* 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_FWD_HPP
#define BOOST_NUMERIC_INTERVAL_UTILITY_FWD_HPP
#include <boost/config.hpp>
#include <boost/numeric/interval/detail/interval_prototype.hpp>
#include <utility>
/*
* Interface of simple functions
*/
namespace boost { namespace numeric {
/*
* Utility Functions
*/
template<class T, class Policies>
const T& lower(const interval<T,Policies>& x);
template<class T, class Policies>
const T& upper(const interval<T,Policies>& x);
template<class T, class Policies>
T checked_lower(const interval<T,Policies>& x);
template<class T, class Policies>
T width(const interval<T,Policies>& x);
template<class T, class Policies>
T median(const interval<T,Policies>& x);
template<class T, class Policies>
interval<T,Policies> widen(const interval<T,Policies>& x, const T& v);
/*
* Set-like operations
*/
template <class T, class Policies>
bool empty(const interval<T,Policies>& x);
template <class T, class Policies>
bool zero_in(const interval<T,Policies>& x);
template <class T, class Policies>
bool in_zero(const interval<T,Policies>& x); // DEPRECATED
template <class T, class Policies>
bool in(const T& x, const interval<T,Policies>& y);
template <class T, class Policies>
bool
subset(
const interval<T,Policies>& x
, const interval<T,Policies>& y
);
template <class T, class Policies1, class Policies2>
bool
proper_subset(
const interval<T,Policies1>& x
, const interval<T,Policies2>& y
);
template <class T, class Policies1, class Policies2>
bool
overlap(
const interval<T,Policies1>& x
, const interval<T,Policies2>& y
);
template <class T, class Policies>
bool singleton(const interval<T, Policies>& x);
template <class T, class Policies1, class Policies2>
bool
equal(
const interval<T,Policies1>& x
, const interval<T,Policies2>& y
);
template <class T, class Policies>
interval<T, Policies>
intersect(
const interval<T,Policies>& x
, const interval<T,Policies>& y
);
template <class T, class Policies>
interval<T, Policies>
hull(const interval<T,Policies>& x, const interval<T,Policies>& y);
template <class T, class Policies>
interval<T, Policies>
hull(const interval<T,Policies>& x, const T& y);
template <class T, class Policies>
interval<T, Policies>
hull(const T& x, const interval<T,Policies>& y);
template <class T>
interval<T> hull(const T& x, const T& y);
template <class T, class Policies>
std::pair<interval<T,Policies>,interval<T,Policies> >
bisect(const interval<T,Policies>& x);
/*
* Elementary functions
*/
template <class T, class Policies>
T norm(const interval<T,Policies>& x);
template <class T, class Policies>
interval<T,Policies> abs(const interval<T,Policies>& x);
template <class T, class Policies>
interval<T,Policies>
max BOOST_PREVENT_MACRO_SUBSTITUTION (
const interval<T,Policies>& x
, const interval<T,Policies>& y
);
template <class T, class Policies>
interval<T,Policies>
max BOOST_PREVENT_MACRO_SUBSTITUTION (
const interval<T,Policies>& x
, const T& y
);
template <class T, class Policies>
interval<T,Policies>
max BOOST_PREVENT_MACRO_SUBSTITUTION (
const T& x
, const interval<T,Policies>& y
);
template <class T, class Policies>
interval<T,Policies>
min BOOST_PREVENT_MACRO_SUBSTITUTION (
const interval<T,Policies>& x
, const interval<T,Policies>& y
);
template <class T, class Policies>
interval<T,Policies>
min BOOST_PREVENT_MACRO_SUBSTITUTION (
const interval<T,Policies>& x
, const T& y
);
template <class T, class Policies>
interval<T,Policies>
min BOOST_PREVENT_MACRO_SUBSTITUTION (
const T& x
, const interval<T,Policies>& y
);
}} // namespace boost::numeric
#endif // include guard