Disable rescaling big GncNumerics when there is a pre-calculated auto denom.

This commit is contained in:
John Ralls 2014-12-03 10:31:37 -08:00
parent 503a607090
commit 7c7946dec8

View File

@ -286,10 +286,12 @@ GncDenom::GncDenom (GncNumeric& a, GncNumeric& b,
{ {
m_error = GNC_ERROR_DENOM_DIFF; m_error = GNC_ERROR_DENOM_DIFF;
} }
m_auto = false;
break; break;
case DenomType::lcd: case DenomType::lcd:
m_value = a.m_den.lcm(b.m_den); m_value = a.m_den.lcm(b.m_den);
m_auto = false;
break; break;
default: default:
break; break;
@ -324,6 +326,8 @@ GncDenom::reduce (const GncNumeric& a) noexcept
} }
m_value = (a.m_num.abs() > a.m_den ? powten (m_sigfigs - digits - 1) : m_value = (a.m_num.abs() > a.m_den ? powten (m_sigfigs - digits - 1) :
powten (m_sigfigs + digits)); powten (m_sigfigs + digits));
m_auto = false;
break;
} }
} }