From 84cc292217303b2d172dfa84f4e4198ffdd1e30c Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Thu, 30 Apr 2026 11:26:03 +0100 Subject: [PATCH] removed call to getSTNumberSwitchover --- src/libxrpl/protocol/IOUAmount.cpp | 47 +++++++----------------------- 1 file changed, 10 insertions(+), 37 deletions(-) diff --git a/src/libxrpl/protocol/IOUAmount.cpp b/src/libxrpl/protocol/IOUAmount.cpp index d2894bf5ce..998866cb8d 100644 --- a/src/libxrpl/protocol/IOUAmount.cpp +++ b/src/libxrpl/protocol/IOUAmount.cpp @@ -52,56 +52,29 @@ IOUAmount::normalize() return; } - if (getSTNumberSwitchover()) + Number const v{mantissa_, exponent_}; + *this = fromNumber(v); + if (exponent_ > maxExponent) { - Number const v{mantissa_, exponent_}; - *this = fromNumber(v); - if (exponent_ > maxExponent) - Throw("value overflow"); - if (exponent_ < minExponent) - *this = beast::zero; - return; + Throw("value overflow"); } - - bool const negative = (mantissa_ < 0); - - if (negative) - mantissa_ = -mantissa_; - - while ((mantissa_ < minMantissa) && (exponent_ > minExponent)) - { - mantissa_ *= 10; - --exponent_; - } - - while (mantissa_ > maxMantissa) - { - if (exponent_ >= maxExponent) - Throw("IOUAmount::normalize"); - - mantissa_ /= 10; - ++exponent_; - } - - if ((exponent_ < minExponent) || (mantissa_ < minMantissa)) + if (exponent_ < minExponent) { *this = beast::zero; - return; } - - if (exponent_ > maxExponent) - Throw("value overflow"); - - if (negative) - mantissa_ = -mantissa_; + return; } IOUAmount::IOUAmount(Number const& other) : IOUAmount(fromNumber(other)) { if (exponent_ > maxExponent) + { Throw("value overflow"); + } if (exponent_ < minExponent) + { *this = beast::zero; + } } IOUAmount&