void AccumulateDigits(bool isInput, string msg) { if (isInput) { currentState = CalcState.AccumulateDigits; tempNumber += msg; resultDelegate(tempNumber); } else { if (Rules.IsDigit(msg) || Rules.ABCDEF(msg)) { AccumulateDigits(true, msg); } else if (Rules.IsOperator(msg) || Rules.IsSquareSign(msg) || Rules.IsOneOverXSign(msg) || Rules.IsPlusMinus(msg) || Rules.IsDEL(msg) || Rules.IsXPowerY(msg)) { Compute(true, msg); } else if (Rules.IsEqualSign(msg) && operation.Length > 0) { Result(true, msg); } else if (Rules.IsSeparator(msg)) { AccumulateDigitsWithDecimal(true, msg); } else if (Rules.IsClearSign(msg)) { Zero(true, msg); } else if (Rules.IsOff(msg)) { Off(true, msg); } else if (Rules.IsDivisibleSign(msg)) { Error(true, msg); } else if (Rules.IsCheckComprSign(msg)) { Compute(true, msg); } else if (Rules.IsQuizSign(msg)) { Compute(true, msg); } } }