public Expr EvaluateToExpr(string exprText) { Expr outExpr; if (EnableCache && _exprCache.TryGetValue(exprText, out outExpr)) { CacheHits++; return(outExpr); } KernelLink.Evaluate(exprText); KernelLink.WaitForAnswer(); outExpr = KernelLink.GetExpr(); CacheMisses++; if (EnableCache) { _exprCache.Add(exprText, outExpr); } //if (outExpr.ToString() == "Indeterminate") //{ // var x = 0; //} return(outExpr); }
public string EvaluateToString(string exprText) { KernelLink.Evaluate(exprText); KernelLink.WaitForAnswer(); var outExpr = KernelLink.GetString(); CacheMisses++; return(outExpr); }
public string EvaluateToString(Expr exprObject) { //string expr_text = expr_object.ToString(); KernelLink.Evaluate(exprObject); KernelLink.WaitForAnswer(); var outExpr = KernelLink.GetString(); CacheMisses++; return(outExpr); }
public Expr EvaluateToExpr(Expr exprObject) { Stopwatch.Start(); Expr outExpr; string exprText = null; if (EnableCache && _exprCache.TryGetValue(exprText = exprObject.ToString(), out outExpr)) { CacheHits++; Stopwatch.Stop(); return(outExpr); } KernelLink.Evaluate(exprObject); KernelLink.WaitForAnswer(); outExpr = KernelLink.GetExpr(); CacheMisses++; if (EnableCache) { _exprCache.Add(exprText ?? exprObject.ToString(), outExpr); } //if (outExpr.ToString() == "Indeterminate") //{ // var x = 0; //} Stopwatch.Stop(); return(outExpr); }