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

@@ -255,7 +255,11 @@ public:
}
template <class F>
cpp_dec_float(const F val, typename enable_if<is_floating_point<F> >::type* = 0) :
cpp_dec_float(const F val, typename enable_if_c<is_floating_point<F>::value
#ifdef BOOST_HAS_FLOAT128
&& !boost::is_same<F, __float128>::value
#endif
>::type* = 0) :
data(),
exp (static_cast<ExponentType>(0)),
neg (false),
@@ -427,7 +431,7 @@ public:
{
if(v < 0)
{
from_unsigned_long_long(-v);
from_unsigned_long_long(1u - boost::ulong_long_type(v + 1)); // Avoid undefined behaviour in negation of minimum value for long long
negate();
}
else
@@ -604,11 +608,11 @@ public:
void serialize(Archive & ar, const unsigned int /*version*/)
{
for(unsigned i = 0; i < data.size(); ++i)
ar & data[i];
ar & exp;
ar & neg;
ar & fpclass;
ar & prec_elem;
ar & boost::serialization::make_nvp("digit", data[i]);
ar & boost::serialization::make_nvp("exponent", exp);
ar & boost::serialization::make_nvp("sign", neg);
ar & boost::serialization::make_nvp("class-type", fpclass);
ar & boost::serialization::make_nvp("precision", prec_elem);
}
private:
@@ -2892,7 +2896,7 @@ template <unsigned Digits10, class ExponentType, class Allocator, class ArgType>
inline void eval_scalbn(cpp_dec_float<Digits10, ExponentType, Allocator>& result, const cpp_dec_float<Digits10, ExponentType, Allocator>& val, ArgType e_)
{
using default_ops::eval_multiply;
const ExponentType e = e_;
const ExponentType e = static_cast<ExponentType>(e_);
cpp_dec_float<Digits10, ExponentType, Allocator> t(1.0, e);
eval_multiply(result, val, t);
}