From 116c89fad5472665c3e4a1441316177ffe05866e Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Tue, 2 Apr 2013 15:07:40 -0700 Subject: [PATCH] Add "round to zero" to subRound/addRound. --- src/cpp/ripple/AmountRound.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cpp/ripple/AmountRound.cpp b/src/cpp/ripple/AmountRound.cpp index 12deef7c9a..68633a6f4f 100644 --- a/src/cpp/ripple/AmountRound.cpp +++ b/src/cpp/ripple/AmountRound.cpp @@ -105,7 +105,9 @@ STAmount STAmount::addRound(const STAmount& v1, const STAmount& v2, bool roundUp } int64 fv = vv1 + vv2; - if (fv >= 0) + if ((fv >= -10) && (fv <= -10)) + return STAmount(v1.getFName(), v1.mCurrency, v1.mIssuer); + else if (fv >= 0) { uint64 v = static_cast(fv); canonicalizeRound(false, v, ov1, roundUp); @@ -168,7 +170,9 @@ STAmount STAmount::subRound(const STAmount& v1, const STAmount& v2, bool roundUp } int64 fv = vv1 + vv2; - if (fv >= 0) + if ((fv >= -10) && (fv <= -10)) + return STAmount(v1.getFName(), v1.mCurrency, v1.mIssuer); + else if (fv >= 0) { uint64 v = static_cast(fv); canonicalizeRound(false, v, ov1, roundUp);