private bool VerifyPrecision(byte precision)
{
Debug.Assert(precision > 0, "Precision cannot be less than 1");
Debug.Assert(precision <= MaxPrecision, "Precision > MaxPrecision");
int tableIndex = checked((precision - 1));
if (_data4 < s_decimalHelpersHiHi[tableIndex])
{
return true;
}
else if (_data4 == s_decimalHelpersHiHi[tableIndex])
{
if (_data3 < s_decimalHelpersHi[tableIndex])
{
return true;
}
else if (_data3 == s_decimalHelpersHi[tableIndex])
{
if (_data2 < s_decimalHelpersMid[tableIndex])
{
return true;
}
else if (_data2 == s_decimalHelpersMid[tableIndex])
{
if (_data1 < s_decimalHelpersLo[tableIndex])
{
return true;
}
}
}
}
return false;
}