diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-10-06 10:41:18 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-10-06 10:43:11 +0900 |
commit | f763a99a501650eff2c60288aa6f10ef916d769e (patch) | |
tree | 02af7e13f9a38c888ebf340fe764cbe7dae99da9 /boost/multiprecision/cpp_int/divide.hpp | |
parent | 5cde13f21d36c7224b0e13d11c4b49379ae5210d (diff) | |
download | boost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.gz boost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.bz2 boost-f763a99a501650eff2c60288aa6f10ef916d769e.zip |
Imported Upstream version 1.62.0upstream/1.62.0
Change-Id: I9d4c1ddb7b7d8f0069217ecc582700f9fda6dd4c
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/multiprecision/cpp_int/divide.hpp')
-rw-r--r-- | boost/multiprecision/cpp_int/divide.hpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/boost/multiprecision/cpp_int/divide.hpp b/boost/multiprecision/cpp_int/divide.hpp index 5fe6ce6ad8..2f83d1ba71 100644 --- a/boost/multiprecision/cpp_int/divide.hpp +++ b/boost/multiprecision/cpp_int/divide.hpp @@ -227,12 +227,20 @@ void divide_unsigned_helper( for(unsigned i = 0; i < y.size(); ++i) { carry += static_cast<double_limb_type>(py[i]) * static_cast<double_limb_type>(guess); +#ifdef __MSVC_RUNTIME_CHECKS + pt[i + shift] = static_cast<limb_type>(carry & ~static_cast<limb_type>(0)); +#else pt[i + shift] = static_cast<limb_type>(carry); +#endif carry >>= CppInt1::limb_bits; } if(carry && !truncated_t) { +#ifdef __MSVC_RUNTIME_CHECKS + pt[t.size() - 1] = static_cast<limb_type>(carry & ~static_cast<limb_type>(0)); +#else pt[t.size() - 1] = static_cast<limb_type>(carry); +#endif } else if(!truncated_t) { |