Removing unused serialization code in CalculatorManager (#858)
This commit is contained in:
parent
06f43ad373
commit
b6f9634e34
@ -681,96 +681,4 @@ namespace CalculationManager
|
||||
{
|
||||
m_inHistoryItemLoadMode = isHistoryItemLoadMode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serialize Rational to vector of long
|
||||
/// How Rational is serialized :
|
||||
/// Serialized Rational.P(Number) + Serialized Rational.Q(Number)
|
||||
/// How Number is saved :
|
||||
/// [0] = Rational.P.Sign
|
||||
/// [1] = Rational.P.Mantissa.size
|
||||
/// [2] = Rational.P.Exp
|
||||
/// [3] = Rational.P.Mantissa[0]
|
||||
/// [4] = Rational.P.Mantissa[1]
|
||||
/// ...
|
||||
/// [2 + Rational.P.Mantissa.size] = Rational.P.Mantissa[size - 1]
|
||||
/// </summary>
|
||||
/// <param name = "rat">Rational number to be serialized</param>
|
||||
vector<long> CalculatorManager::SerializeRational(Rational const& rat)
|
||||
{
|
||||
vector<long> serializedRational{};
|
||||
|
||||
auto serialP = SerializeNumber(rat.P());
|
||||
serializedRational.insert(serializedRational.end(), serialP.begin(), serialP.end());
|
||||
|
||||
auto serialQ = SerializeNumber(rat.Q());
|
||||
serializedRational.insert(serializedRational.end(), serialQ.begin(), serialQ.end());
|
||||
|
||||
return serializedRational;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DeserializeRational vector and construct a Rational
|
||||
/// How Rational is serialized :
|
||||
/// Serialized Rational.P(Number) + Serialized Rational.Q(Number)
|
||||
/// </summary>
|
||||
Rational CalculatorManager::DeSerializeRational(vector<long>::const_iterator itr)
|
||||
{
|
||||
auto p = DeSerializeNumber(itr);
|
||||
auto q = DeSerializeNumber(itr + SERIALIZED_NUMBER_MINSIZE + p.Mantissa().size());
|
||||
|
||||
return Rational(p, q);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serialize Number to vector of long
|
||||
/// How Number is saved :
|
||||
/// [0] = Number.Sign
|
||||
/// [1] = Number.Mantissa.size
|
||||
/// [2] = Number.Exp
|
||||
/// [3] = Number.Mantissa[0]
|
||||
/// [4] = Number.Mantissa[1]
|
||||
/// ...
|
||||
/// [2 + Number.Mantissa.size] = Number.Mantissa[size - 1]
|
||||
/// </summary>
|
||||
/// <param name = "num">Number to be serialized</param>
|
||||
vector<long> CalculatorManager::SerializeNumber(Number const& num)
|
||||
{
|
||||
vector<long> serializedNumber{};
|
||||
|
||||
serializedNumber.push_back(num.Sign());
|
||||
serializedNumber.push_back(static_cast<long>(num.Mantissa().size()));
|
||||
serializedNumber.push_back(num.Exp());
|
||||
for (auto const& digit : num.Mantissa())
|
||||
{
|
||||
serializedNumber.push_back(digit);
|
||||
}
|
||||
|
||||
return serializedNumber;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DeserializeNumber vector and construct a Number
|
||||
/// How Number is saved :
|
||||
/// [0] = Number.Sign
|
||||
/// [1] = Number.Mantissa.size
|
||||
/// [2] = Number.Exp
|
||||
/// [3] = Number.Mantissa[0]
|
||||
/// [4] = Number.Mantissa[1]
|
||||
/// ...
|
||||
/// [2 + Number.Mantissa.size] = Number.Mantissa[size - 1]
|
||||
/// </summary>
|
||||
Number CalculatorManager::DeSerializeNumber(vector<long>::const_iterator itr)
|
||||
{
|
||||
int32_t sign = *itr;
|
||||
uint32_t size = *(itr + 1);
|
||||
int32_t exp = *(itr + 2);
|
||||
vector<uint32_t> mant{};
|
||||
for (size_t i = 0; i < size; ++i)
|
||||
{
|
||||
mant.emplace_back(*(itr + 3 + i));
|
||||
}
|
||||
|
||||
return Number{ sign, exp, mant };
|
||||
}
|
||||
}
|
||||
|
@ -76,12 +76,6 @@ namespace CalculationManager
|
||||
|
||||
void LoadPersistedPrimaryValue();
|
||||
|
||||
static std::vector<long> SerializeRational(CalcEngine::Rational const& rat);
|
||||
static CalcEngine::Rational DeSerializeRational(std::vector<long>::const_iterator itr);
|
||||
|
||||
static std::vector<long> SerializeNumber(CalcEngine::Number const& num);
|
||||
static CalcEngine::Number DeSerializeNumber(std::vector<long>::const_iterator itr);
|
||||
|
||||
std::shared_ptr<CalculatorHistory> m_pStdHistory;
|
||||
std::shared_ptr<CalculatorHistory> m_pSciHistory;
|
||||
CalculatorHistory* m_pHistory;
|
||||
|
Loading…
Reference in New Issue
Block a user