Removing unused serialization code in CalculatorManager (#858)
This commit is contained in:
		
				
					committed by
					
						
						Matt Cooley
					
				
			
			
				
	
			
			
			
						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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user