Example #1
0
        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);
        }
Example #3
0
        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();
        }