public override float Solve(FunctionSolver.VariableAssignments assignments) { float[] args = new float[EvaluateTerms.Count]; for (int i = 0; i < EvaluateTerms.Count; i++) { args[i] = EvaluateTerms[i].Solve(assignments); } return(customFunction(args)); }
public override float Solve(FunctionSolver.VariableAssignments assignments) { float Result = EvaluateTerms[0].Solve(assignments); for (int i = 1; i < EvaluateTerms.Count; i++) { Result = (float)Math.Pow(Result, EvaluateTerms[i].Solve(assignments)); } return(Result); }
public override float Solve(FunctionSolver.VariableAssignments assignments) { float Result = 0; foreach (var item in EvaluateTerms) { Result += item.Solve(assignments); } return(Result); }
public override float Solve(FunctionSolver.VariableAssignments assignments) { if (assignments == null) { return(0); } if (assignments.Data.ContainsKey(variableName)) { return(assignments.Data[variableName]); } return(0); }
public override float Solve(FunctionSolver.VariableAssignments assignments) { return(customFunction(EvaluateTerms[0].Solve(assignments))); }
public override float Solve(FunctionSolver.VariableAssignments assignments) { return(f); }
public override float Solve(FunctionSolver.VariableAssignments assignments) { return((float)Math.Log(EvaluateTerms[1].Solve(assignments), EvaluateTerms[0].Solve(assignments))); }
/// <summary> /// Tries to solve the function with a given set of variable assignements. Will log an error and/or return unexpected results if there are unassigned variables in the function /// </summary> /// <param name="assignments">The variable assignements, in which assignements for every unassigned variable in the function should be saved</param> /// <returns>The calculation result</returns> public abstract float Solve(FunctionSolver.VariableAssignments assignments);