/// <summary> /// Sets formula argument /// </summary> /// <param name="arg"></param> public void Set(ElementaryObjectArgument arg) { foreach (char c in labels) { arg[c] = this[c].Parameter(); } }
void Set(Dictionary <string, string> variables) { MathFormula f = MathFormula.FromString(MathSymbolFactory.Sizes, formula); measures.Clear(); Dictionary <char, object> table = new Dictionary <char, object>(); foreach (string key in variables.Keys) { IMeasurement m = this.FindMeasurement(variables[key], false); measures[key[0]] = m; table[key[0]] = m.Type; } IFormulaObjectCreator creator = VariableDetector.GetCreator(table); f = f.FullTransform(null); tree = ObjectFormulaTree.CreateTree(f, creator); arg = new ElementaryObjectArgument(); arg.Add(tree); this.variables = variables; }
/// <summary> /// Accepts parameters /// </summary> /// <param name="s">String of parameters</param> public void AcceptParameters(string s) { parameters.Clear(); par = null; arg = new ElementaryObjectArgument(); arg.Add(tree); string str = arg.Variables; foreach (char c in s) { if (str.IndexOf(c) < 0) { throw new Exception("Illegal formula parameter"); } } foreach (char c in s) { double a = 0; parameters["" + c] = a; arg[c] = a; } }