Example #1
0
        public override double GetValue()
        {
            double result = 0;

            for (int i = 0; i < Arguments.Count; ++i)
            {
                FormulaItem item  = Arguments[i];
                double      value = item.GetValue();
                if (i == 0)
                {
                    result = value;
                    continue;
                }

                bool flag = Flags[i];
                if (flag)
                {
                    result *= value;
                }
                else
                {
                    result /= value;
                }
            }

            return(result);
        }
Example #2
0
        public override double GetValue()
        {
            FormulaItem value  = Arguments.First();
            double      arg    = value.GetValue();
            double      result = Math.Abs(arg);

            return(result);
        }
Example #3
0
        public override double GetValue()
        {
            FormulaItem baseItem     = Arguments[0];
            FormulaItem exponentItem = Arguments[1];

            double baseValue     = baseItem.GetValue();
            double exponentValue = exponentItem.GetValue();

            return(Math.Pow(baseValue, exponentValue));
        }
Example #4
0
        private void onFormulaChanged(object sender, EventArgs e)
        {
            if (!checkBox1.Checked)
            {
                return;
            }

            try {
                string      pattern = textBox1.Text;
                FormulaItem formula = _builder.Create(pattern);
                double      value   = formula.GetValue();
                textBox2.Text = value.ToString();

                _element = _converter.Convert(formula);
                updateTree(formula);
                panel1.Invalidate();
            } catch (Exception exc) {
                textBox2.Text = "[ERROR]";
                _element      = null;
            }
        }