From 97fa6aa387e9c77b093f96f12ebd22f820b7355f Mon Sep 17 00:00:00 2001 From: fwcd Date: Thu, 11 Apr 2019 02:49:45 +0200 Subject: [PATCH] Fix some functions that require reference semantics instead of value semantics --- src/CalcManager/Ratpack/num.cpp | 12 ++++++------ src/CalcManager/Ratpack/ratpak.h | 2 +- src/CalcManager/Ratpack/support.cpp | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/CalcManager/Ratpack/num.cpp b/src/CalcManager/Ratpack/num.cpp index 134ec90f..bfd571df 100644 --- a/src/CalcManager/Ratpack/num.cpp +++ b/src/CalcManager/Ratpack/num.cpp @@ -427,21 +427,21 @@ void _divnum( NUMBER *pa, const NUMBER &b, uint32_t radix, int32_t precision) while (cdigits++ < thismax && !zernum(rem)) { digit = radix - 1; - NUMBER multiple; - for (const auto& num : numberList) + NUMBER* multiple; + for (auto& num : numberList) { if (!lessnum(rem, num) || !--digit) { - multiple = num; + multiple = # break; } } if (digit) { - multiple.sign *= -1; - addnum(&rem, multiple, radix); - multiple.sign *= -1; + multiple->sign *= -1; + addnum(&rem, *multiple, radix); + multiple->sign *= -1; } rem.exp++; *ptrc-- = (MANTTYPE)digit; diff --git a/src/CalcManager/Ratpack/ratpak.h b/src/CalcManager/Ratpack/ratpak.h index d749140a..00095c36 100644 --- a/src/CalcManager/Ratpack/ratpak.h +++ b/src/CalcManager/Ratpack/ratpak.h @@ -61,7 +61,7 @@ typedef struct _number // radix being used. int32_t exp; // The offset of digits from the radix point // (decimal point in radix 10) - std::vector mant = {0}; + std::vector mant; } NUMBER; diff --git a/src/CalcManager/Ratpack/support.cpp b/src/CalcManager/Ratpack/support.cpp index 6fa2aff8..fe86f6ad 100644 --- a/src/CalcManager/Ratpack/support.cpp +++ b/src/CalcManager/Ratpack/support.cpp @@ -657,8 +657,8 @@ void trimit( PRAT *px, int32_t precision) if ( !g_ftrueinfinite ) { int32_t trim; - NUMBER pp=(*px)->pp; - NUMBER pq=(*px)->pq; + NUMBER& pp=(*px)->pp; + NUMBER& pq=(*px)->pq; trim = g_ratio * (min((pp.cdigit+pp.exp),(pq.cdigit+pq.exp))-1) - precision; if ( trim > g_ratio ) {