public void EvalChart(RCRunner runner, RCClosure closure, RCDouble right) { RCCube result = new RCCube(new RCArray <string> ("S")); DoChart <double> (result, RCSymbolScalar.Empty, 0, 0, right); runner.Yield(closure, result); }
public void EvalTo(RCRunner runner, RCClosure closure, RCDouble left, RCDouble right) { double[] result = new double[(int)right[0] - (int)left[0] + 1]; for (double i = 0; i < result.Length; ++i) { result[(int)i] = left[0] + i; } runner.Yield(closure, new RCDouble(result)); }
public static RCBlock DoAt(RCClosure closure, RCBlock left, RCDouble right) { RCBlock result = RCBlock.Empty; for (int i = 0; i < right.Count; ++i) { RCBlock next = left.GetName((long)right[i]); result = new RCBlock(result, next.Name, next.Evaluator, next.Value); } return(result); }
public void EvalTree(RCRunner runner, RCClosure closure, RCDouble right) { RCCube result = new RCCube(new RCArray <string> ("S")); TreeNode root = new TreeNode(RCSymbolScalar.Empty, RCSymbolScalar.Empty); root.children = new RCArray <TreeNode> (); DoTree <double> (root, right, ref root.n, ref root.g, Aread, Formatd); LayoutBottomUp(root, 0); LayoutTree(0, root); WriteTree(result, root); runner.Yield(closure, result); }
static Constant() { _values[new RCSymbolScalar(null, "pi")] = new RCDouble(Math.PI); _values[new RCSymbolScalar(null, "e")] = new RCDouble(Math.E); _values[new RCSymbolScalar(null, "maxl")] = new RCLong(long.MaxValue); _values[new RCSymbolScalar(null, "minl")] = new RCLong(long.MinValue); _values[new RCSymbolScalar(null, "maxd")] = new RCDouble(double.MaxValue); _values[new RCSymbolScalar(null, "mind")] = new RCDouble(double.MinValue); _values[new RCSymbolScalar(null, "maxm")] = new RCDecimal(decimal.MaxValue); _values[new RCSymbolScalar(null, "minm")] = new RCDecimal(decimal.MinValue); _values[new RCSymbolScalar(null, "nan")] = new RCDouble(double.NaN); _values[new RCSymbolScalar(null, "epsilon")] = new RCDouble(double.Epsilon); _values[new RCSymbolScalar(null, "infinity")] = new RCDouble(double.PositiveInfinity); _values[new RCSymbolScalar(null, "ninfinity")] = new RCDouble(double.NegativeInfinity); }
public void EvalRange(RCRunner runner, RCClosure closure, RCLong left, RCDouble right) { runner.Yield(closure, DoRange <double> (left, right)); }
public void EvalRank(RCRunner runner, RCClosure closure, RCSymbol left, RCDouble right) { runner.Yield(closure, new RCLong(RankUtils.DoRank <double> (Sort.ToDir(left), right))); }
public void EvalOperator(RCRunner runner, RCClosure closure, RCDouble left, RCDouble right) { runner.Yield(closure, DoFind <double> (left, right)); }
public void EvalFirst(RCRunner runner, RCClosure closure, RCDouble right) { runner.Yield(closure, new RCDouble(right[0])); }
public void EvalSort(RCRunner runner, RCClosure closure, RCSymbol left, RCDouble right) { runner.Yield(closure, new RCDouble(DoSort <double> (ToDir(left), right))); }
public void EvalCount(RCRunner runner, RCClosure closure, RCDouble right) { runner.Yield(closure, new RCLong(right.Count)); }
public void EvalFrom(RCRunner runner, RCClosure closure, RCDouble left, RCBlock right) { runner.Yield(closure, DoAt(closure, right, left)); }
public void EvalExcept(RCRunner runner, RCClosure closure, RCDouble left, RCDouble right) { runner.Yield(closure, new RCDouble(DoExcept <double> (left, right))); }
public void EvalOperator(RCRunner runner, RCClosure closure, RCBoolean left, RCDouble right) { runner.Yield(closure, DoAt <bool> (closure, left, right)); }
public void EvalFrom(RCRunner runner, RCClosure closure, RCDouble left, RCTime right) { runner.Yield(closure, DoAt <RCTimeScalar> (closure, right, left)); }
public void EvalFrom(RCRunner runner, RCClosure closure, RCDouble left, RCString right) { runner.Yield(closure, DoAt <string> (closure, right, left)); }
public void EvalFrom(RCRunner runner, RCClosure closure, RCDouble left, RCDecimal right) { runner.Yield(closure, DoAt <decimal> (closure, right, left)); }
public void EvalFrom(RCRunner runner, RCClosure closure, RCByte left, RCDouble right) { runner.Yield(closure, DoAt <double> (closure, right, left)); }
public void EvalSort(RCRunner runner, RCClosure closure, RCDouble right) { runner.Yield(closure, new RCDouble(DoSort <double> (SortDirection.asc, right))); }
public void EvalOperator(RCRunner runner, RCClosure closure, RCDouble left, RCDecimal right) { runner.Yield(closure, DoAt <double> (closure, left, right)); }
public void EvalShuffle(RCRunner runner, RCClosure closure, RCLong left, RCDouble right) { runner.Yield(closure, new RCDouble(DoShuffle <double> (new Random((int)left[0]), right))); }
public void EvalOperator(RCRunner runner, RCClosure closure, RCLong left, RCDouble right) { runner.Yield(closure, DoAt <long> (closure, left, right)); }
public void EvalRepeat(RCRunner runner, RCClosure closure, RCLong left, RCDouble right) { runner.Yield(closure, new RCDouble(DoRepeat <double> (left, right))); }
public void EvalInter(RCRunner runner, RCClosure closure, RCDouble left, RCDouble right) { runner.Yield(closure, new RCDouble(DoInter <double> (left, right))); }
public void EvalLast(RCRunner runner, RCClosure closure, RCDouble right) { runner.Yield(closure, new RCDouble(right[right.Count - 1])); }
public void EvalWhere(RCRunner runner, RCClosure closure, RCDouble left, RCBoolean right) { runner.Yield(closure, DoWhere <double> (left, right)); }
public void EvalRest(RCRunner runner, RCClosure closure, RCDouble right) { runner.Yield(closure, new RCDouble(DoRest <double> (right.Data))); }
public void EvalUnique(RCRunner runner, RCClosure closure, RCDouble right) { runner.Yield(closure, new RCDouble(DoUnique <double> (right))); }
public void EvalUnion(RCRunner runner, RCClosure closure, RCDouble left, RCDouble right) { runner.Yield(closure, new RCDouble(DoUnion <double> (left, right))); }
public void EvalRank(RCRunner runner, RCClosure closure, RCDouble right) { runner.Yield(closure, new RCLong(RankUtils.DoRank <double> (SortDirection.asc, right))); }