[GIT] ppl/ppl(products): Revert "Uniformed code and get rid of a warning."

Module: ppl/ppl Branch: products Commit: 77feabbd9e3c40b7a765ba82a3f6e9082af2b78f URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=77feabbd9e3c4...
Author: Abramo Bagnara abramo.bagnara@gmail.com Date: Mon Apr 5 16:58:39 2010 +0200
Revert "Uniformed code and get rid of a warning."
This reverts commit 5bdc9854986308b794925967fff6995acd5bbb85.
---
src/checked_int.inlines.hh | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/checked_int.inlines.hh b/src/checked_int.inlines.hh index f55416c..ab82f95 100644 --- a/src/checked_int.inlines.hh +++ b/src/checked_int.inlines.hh @@ -1383,12 +1383,16 @@ add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { case 0: return add<To_Policy, To_Policy, To_Policy>(to, to, z, dir); case -1: - if (to <= 0) - return set_neg_overflow_int<To_Policy>(to, dir); + if (to <= 0) { + to = z; + return r; + } return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW); case 1: - if (to >= 0) - return set_pos_overflow_int<To_Policy>(to, dir); + if (to >= 0) { + to = z; + return r; + } return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW); default: PPL_ASSERT(false); @@ -1407,11 +1411,11 @@ sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { case -1: if (to >= 0) return set_pos_overflow_int<To_Policy>(to, dir); - return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW); + return V_UNKNOWN_NEG_OVERFLOW; case 1: if (to <= 0) return set_neg_overflow_int<To_Policy>(to, dir); - return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW); + return V_UNKNOWN_POS_OVERFLOW; default: PPL_ASSERT(false); return V_NAN;
participants (1)
-
Abramo Bagnara