private void AddVariable() { if (!IsValid()) { throw new EquationParsingException(Resources.IsNotEquationException); } var rank = int.Parse( myRankSign >= 0 ? myRankBuilder.ToString() : myRankBuilder.Insert(0, EquationConstants.MinusSign).ToString()); var key = VariableDescriptorNameBuilder.GetFullName(myVariableName, rank); var descriptor = VariableAggregator.GetOrCreateValue(key, () => new VariableDescriptor { Name = myVariableName, Rank = rank }); var variableCoefficient = AddCoefficient(myCoefficient); variableCoefficient.Type = rank == 0 ? CoefficientType.Constant : CoefficientType.VariableCoefficient; descriptor.Coefficients.Add(variableCoefficient); myRankBuilder.Clear(); }
private void AddVariable() { const int rank = 1; var key = VariableDescriptorNameBuilder.GetFullName(myVariableName, rank); var descriptor = VariableAggregator.GetOrCreateValue(key, () => new VariableDescriptor { Name = myVariableName, Rank = rank }); var variableCoefficient = AddCoefficient(myCoefficient); variableCoefficient.Type = CoefficientType.VariableCoefficient; descriptor.Coefficients.Add(variableCoefficient); }
private void AddVariable() { if (!IsValid()) { throw new EquationParsingException(Resources.IsNotEquationException); } const int rank = 1; var name = string.Concat(myVariableNameSet); var key = VariableDescriptorNameBuilder.GetFullName(name, rank); var descriptor = VariableAggregator.GetOrCreateValue(key, () => new VariableDescriptor { Name = name, Rank = rank }); var variableCoefficient = AddCoefficient(myCoefficient); variableCoefficient.Type = CoefficientType.VariableCoefficient; descriptor.Coefficients.Add(variableCoefficient); myVariableNameSet.Clear(); }
private void AddVariable() { if (!IsValid()) { throw new EquationParsingException(Resources.IsNotEquationException); } // special case when P(any)^0 is written with (any)^0 ommitted const int rank = 0; var name = string.Empty; var key = VariableDescriptorNameBuilder.GetFullName(name, rank); var descriptor = VariableAggregator.GetOrCreateValue(key, () => new VariableDescriptor { Name = name, Rank = rank }); var variableCoefficient = AddCoefficient(GetCoefficient()); variableCoefficient.Type = CoefficientType.Constant; descriptor.Coefficients.Add(variableCoefficient); myCoefficientBuilder.Clear(); }