updated boost on windows
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user