public int SetActValue(int tagid, PValue pvalue) { //PGIM不支持tagid的读写 List <SignalValue> signalvalues = new List <SignalValue>(); return(0); }
public int SetActValue(string tag, PValue pvalue) { //PGIM写入时间,会自动转换成格林威治时间。 List <SignalValue> signalvalues = new List <SignalValue>(); signalvalues.Add(PValue2SignalValue(pvalue)); try { this._pgimDb.WriteValues(tag, signalvalues); return(0); } catch (PgimNet.Exceptions.PgimDataException ex) { //将pgim的异常PgimDataException记录在_exception中,并以PgimDataException的名称继续抛出异常 this._exception = ex.Message.ToString(); throw ex; //将pgim的异常继续向外传递。 } catch (PgimNet.Exceptions.PgimException ex) { //将pgim的异常PgimDataException记录在_exception中,并以PgimDataException的名称继续抛出异常 this._exception = ex.Message.ToString(); throw ex; //将pgim的异常继续向外传递。 } catch (Exception ex) { //将pgim的异常PgimDataException记录在_exception中,并以PgimDataException的名称继续抛出异常 this._exception = "PgimNet其他未知错误。通常是服务器故障、标签中对应的服务器名称不正确导致!"; throw ex; //将pgim的异常继续向外传递。 } }
public static PValue RunStatically(StackContext sctx, PValue[] args) { if (args.Length == 0) { return sctx.CreateNativePValue(NoSourcePosition.Instance); } string file = args[0].CallToString(sctx); int? line, column; PValue box; if (args.Length >= 2 && args[1].TryConvertTo(sctx, IntPType.Instance,true,out box)) { line = (int) box.Value; } else { line = null; } if (args.Length >= 3 && args[2].TryConvertTo(sctx, IntPType.Instance, true, out box)) { column = (int) box.Value; } else { column = null; } return sctx.CreateNativePValue(new SourcePosition(file, line ?? -1, column ?? -1)); }
public void testMethod() { Console.WriteLine("start test================================"); DbHelper helper = new DbHelper(); helper.ConnTest(); String sqlStr = "use psldb;select * from psldata201911"; //var sqlTimer = Stopwatch.StartNew(); //用于测试读取一个月分钟数据的sql执行所耗时长。一个月分钟数据45000条左右,在公司服务测试结果是耗时4ms-5ms IDataReader reader = helper.ExecuteReader(sqlStr); List <PValue> items = new List <PValue>(); while (reader.Read()) { PValue item = new PValue(); //DAOSupport.ReaderToObject(reader, item); //20180711,经测试,在读取1个月的分钟概化数据时,返回数据在45000条,使用该 ReaderToObject转换程序,IDataReader2PSLDataItems整体耗时300ms。效率较低。 //DAOSupport.ReaderToObject是一个通用格式的转换程序。在单条数据转换时,会去循环读取。在对效率要求比较高的psldataXXXX数据库的数据进行转换时,需要使用专用的转换程序,以便保证效率。 //在psldata表的读写中,由于数据量大,要提高读写效率,需要注意不要使用反射 //关于反射效率的问题,在这个地址的帖子中,有所讨论。https://bbs.csdn.net/topics/391910616 //关于IDataReader的速度,在这个地址的帖子中,有所讨论。https://blog.csdn.net/lilong_herry/article/details/79993907 try { item.Timestamp = new DateTime(Convert.ToInt64(reader["tagstarttime"])); } catch { }; try { item.Endtime = new DateTime(Convert.ToInt64(reader["tagendtime"])); } catch { }; try { item.Value = Convert.ToDouble(reader["tagvalue"]); } catch { item.Value = 0; }; try { item.Status = Convert.ToInt64(reader["tagstatus"]); } catch { item.Status = 0; }; items.Add(item); } Console.WriteLine(items.Count); Console.Read(); }
public PartialStaticCall(int[] mappings, PValue[] closedArguments, PCall call, string memberId, PType ptype) : base(mappings, closedArguments, 0) { _ptype = ptype; _call = call; _memberId = memberId; }
public static PValue RunStatically(StackContext sctx, PValue[] args) { // function setright(w,s,f) if (sctx == null) throw new ArgumentNullException("sctx"); if (args == null) args = new PValue[] {}; string s; string f; switch (args.Length) { case 0: return ""; case 1: s = ""; goto parseW; } s = args[1].CallToString(sctx); parseW: var w = (int) args[0].ConvertTo(sctx, PType.Int).Value; if (args.Length > 2) f = args[2].CallToString(sctx); else f = " "; return SetRight(w, s, f); }
protected override IEnumerable<PValue> CoroutineRun(ContextCarrier sctxCarrier, PValue[] args) { if (args == null) throw new ArgumentNullException("args"); if (sctxCarrier == null) throw new ArgumentNullException("sctxCarrier"); var t = new Dictionary<PValue, object>(); var sctx = sctxCarrier.StackContext; foreach (var arg in args) { var xs = Map._ToEnumerable(sctx, arg); if (xs == null) continue; foreach (var x in xs) if (!t.ContainsKey(x)) { t.Add(x, null); yield return x; } } }
public static PValue RunStatically(StackContext sctx, PValue[] args) { if (args == null) throw new ArgumentNullException("args"); if (sctx == null) throw new ArgumentNullException("sctx"); var xss = new List<IEnumerable<PValue>>(); foreach (var arg in args) { var xs = Map._ToEnumerable(sctx, arg); if (xs != null) xss.Add(xs); } var n = xss.Count; if (n < 2) throw new PrexoniteException("Except requires at least two sources."); var t = new Dictionary<PValue, bool>(); //All elements of the last source are considered candidates foreach (var x in xss[n - 1]) if (!t.ContainsKey(x)) t.Add(x, true); for (var i = 0; i < n - 1; i++) foreach (var x in xss[i]) if (t.ContainsKey(x)) t.Remove(x); return sctx.CreateNativePValue(t.Keys); }
// ReSharper restore MemberCanBePrivate.Global internal static PValue _EnforceThunk(PValue value) { if (value.Type.Equals(PType.Object[typeof (Thunk)])) return value; else return PType.Object.CreatePValue(Thunk.NewValue(value)); }
public virtual void Visit(PValue value) { if (value != null) { value.Accept(this); } }
/// <summary> /// Executes the command. /// </summary> /// <param name = "sctx">The stack context in which to execut the command.</param> /// <param name = "args">The arguments to be passed to the command.</param> /// <returns>The value returned by the command. Must not be null. (But possibly {null~Null})</returns> public static PValue RunStatically(StackContext sctx, PValue[] args) { var text = Concat.ConcatenateString(sctx, args); StaticPrint.Writer.WriteLine(text); return text; }
public override bool IndirectCall( StackContext sctx, PValue subject, PValue[] args, out PValue result) { if (sctx == null) throw new ArgumentNullException("sctx"); if (subject == null) throw new ArgumentNullException("subject"); if (args == null) args = new PValue[] {}; result = null; var argc = args.Length; var pvht = (PValueHashtable) subject.Value; if (argc == 0) { result = sctx.CreateNativePValue(new PValueEnumeratorWrapper(pvht.GetPValueEnumerator())); } else if (argc == 1) { if (!pvht.TryGetValue(args[0], out result)) result = false; } else { pvht.AddOverride(args[0], args[1]); } return result != null; }
protected static IEnumerable<PValue> CoroutineRunStatically(ContextCarrier ctxCarrier, PValue[] args) { if (ctxCarrier == null) throw new ArgumentNullException("ctxCarrier"); if (args == null) throw new ArgumentNullException("args"); if (args.Length < 1) throw new PrexoniteException("Limit requires at least one argument."); var i = 0; var sctx = ctxCarrier.StackContext; var count = (int) args[0].ConvertTo(sctx, PType.Int, true).Value; for (var j = 1; j < args.Length; j++) { var arg = args[j]; var set = Map._ToEnumerable(sctx, arg); if (set == null) throw new PrexoniteException(arg + " is neither a list nor a coroutine."); using (var setEnumerator = set.GetEnumerator()) { while (i++ < count && setEnumerator.MoveNext()) { yield return setEnumerator.Current; } if (i >= count) yield break; } } }
public string writeModel(string outModelPath) { if (lr == null) { buildModel(); } outPath = outModelPath; using (System.IO.StreamWriter sw = new System.IO.StreamWriter(outPath)) { sw.WriteLine(modelTypes.LogisticRegression.ToString()); sw.WriteLine(InTablePath); sw.WriteLine(String.Join(",", IndependentFieldNames)); sw.WriteLine(String.Join(",", DependentFieldNames)); sw.WriteLine(String.Join(",", ClassFieldNames)); sw.WriteLine(String.Join(",", Categories)); sw.WriteLine(NumberOfIndependentVariables.ToString()); sw.WriteLine(NumberOfCategories.ToString()); sw.WriteLine(LogLikelihood.ToString()); sw.WriteLine(Deviance.ToString()); sw.WriteLine(X2.ToString()); sw.WriteLine(PValue.ToString()); sw.WriteLine(String.Join(",", (from double d in minValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from double d in maxValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from double d in sumValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from double d in Coefficients select d.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from double d in StandardError select d.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from Accord.Statistics.Testing.WaldTest d in WaldStatistic select d.Statistic.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from Accord.Statistics.Testing.WaldTest d in WaldStatistic select d.PValue.ToString()).ToArray())); sw.Close(); } return(outPath); }
public static PValue RunStatically(StackContext sctx, PValue[] args) { if (sctx == null) throw new ArgumentNullException("sctx"); if (args == null) throw new ArgumentNullException("args"); if (args.Length < 1) throw new PrexoniteException("Each requires at least two arguments"); var f = args[0]; var eargs = new PValue[1]; for (var i = 1; i < args.Length; i++) { var arg = args[i]; var set = Map._ToEnumerable(sctx, arg); if (set == null) continue; foreach (var value in set) { eargs[0] = value; f.IndirectCall(sctx, eargs); } } return PType.Null; }
internal static bool TryCreateItemValue <ItemT>( PType <ItemT> itemType, string json, GreenJsonListSyntax jsonListSyntax, int itemIndex, int listSyntaxStartPosition, List <JsonErrorInfo> errors, out ItemT convertedTargetValue, out PValue value) { GreenJsonValueSyntax itemNode = jsonListSyntax.ListItemNodes[itemIndex].ValueNode.ContentNode; int itemNodeStart = listSyntaxStartPosition + jsonListSyntax.GetElementNodeStart(itemIndex) + jsonListSyntax.ListItemNodes[itemIndex].ValueNode.BackgroundBefore.Length; var itemValueOrError = itemType.TryCreateValue( json, itemNode, out convertedTargetValue, itemNodeStart, errors); if (itemValueOrError.IsOption2(out value)) { return(true); } // Report type error at this index. itemValueOrError.IsOption1(out ITypeErrorBuilder itemTypeError); errors.Add(ValueTypeErrorAtItemIndex.Create(itemTypeError, itemIndex, itemNode, json, itemNodeStart)); return(false); }
public PValue GetSummaryValues(string tagname, DateTime startdate, DateTime enddate, string type) { PValue pvalue = new PValue(); //不支持统计值功能 return(pvalue); }
/// <summary> /// 获取输入数据的中位值 及 中位值点号 /// </summary> /// <param name="input"></param> /// <returns></returns> public static List <PValue> getMedian(List <PValue> input) { List <PValue> list = new List <PValue>(); PValue median = new PValue(); PValue medianNum = new PValue(); List <Point> points = new List <Point>(); int length = input.Count; for (int i = 0; i < length; i++) { Point p; p.pointNum = i + 1; p.value = input[i].Value; points.Add(p); } points.Sort(); if (length > 0) { if (length % 2 != 0) { median.Value = points[length / 2].value; medianNum.Value = points[length / 2].pointNum; } else { median.Value = (points[length / 2 - 1].value + points[length / 2].value) / 2; medianNum.Value = points[length / 2 - 1].pointNum; } } list.Add(median); list.Add(medianNum); return(list); }
/// <summary> /// Prints all arguments. /// </summary> /// <param name = "sctx">The context in which to convert the arguments to strings.</param> /// <param name = "args">The list of arguments to print.</param> /// <returns></returns> public override PValue Run(StackContext sctx, PValue[] args) { var s = Concat.ConcatenateString(sctx, args); _writer.Write(s); return s; }
public static PValue RunStatically(StackContext sctx, PValue[] args) { var carrier = new ContextCarrier(); var corctx = new CoroutineContext(sctx, CoroutineRunStatically(carrier, args)); carrier.StackContext = corctx; return sctx.CreateNativePValue(new Coroutine(corctx)); }
public static IEnumerable<PValue> CoroutineRunStatically(ContextCarrier getSctx, PValue[] args) { if (args == null) throw new ArgumentNullException("args"); if (getSctx == null) throw new ArgumentNullException("getSctx"); if (args.Length < 1) throw new PrexoniteException("toseq requires one argument."); var xsT = args[0]; PValue xs; var sctx = getSctx.StackContext; while (!(xs = ForceCommand.Force(sctx, xsT)).IsNull) { //Accept key value pairs directly var kvp = xs.Value as PValueKeyValuePair; if (kvp != null) { yield return kvp.Key; xsT = kvp.Value; } //Late bound else { var k = xs.DynamicCall(sctx, Runtime.EmptyPValueArray, PCall.Get, "Key"); yield return k; xsT = xs.DynamicCall(sctx, Runtime.EmptyPValueArray, PCall.Get, "Value"); } } }
public override PValue Run(StackContext sctx, PValue[] args) { if (sctx == null) throw new ArgumentNullException("sctx"); if (args == null) throw new ArgumentNullException("args"); if (args.Length < 1) throw new PrexoniteException("Exists requires at least two arguments"); var f = args[0]; var eargs = new PValue[1]; for (var i = 1; i < args.Length; i++) { var arg = args[i]; var set = Map._ToEnumerable(sctx, arg); if (set == null) continue; foreach (var value in set) { eargs[0] = value; var result = f.IndirectCall(sctx, eargs); PValue existance; if ((!result.TryConvertTo(sctx, PType.Bool, true, out existance)) || (!(bool) existance.Value)) return false; } } return true; }
/// <summary> /// Executes the command. /// </summary> /// <param name = "sctx">The stack context in which to execut the command.</param> /// <param name = "args">The arguments to be passed to the command.</param> /// <returns>The value returned by the command. Must not be null. (But possibly {null~Null})</returns> public static PValue RunStatically(StackContext sctx, PValue[] args) { if (sctx == null) throw new ArgumentNullException("sctx"); if (args == null) throw new ArgumentNullException("args"); if (args.Length < 1) throw new PrexoniteException("Char requires at least one argument."); PValue v; var arg = args[0]; if (arg.Type == PType.String) { var s = (string) arg.Value; if (s.Length == 0) throw new PrexoniteException("Cannot create char from empty string."); else return s[0]; } else if (arg.TryConvertTo(sctx, PType.Char, true, out v)) { return v; } else if (arg.TryConvertTo(sctx, PType.Int, true, out v)) { return (char) (int) v.Value; } else { throw new PrexoniteException("Cannot create char from " + arg); } }
public PartialCallStar(ArraySegment<int> mappings, PValue[] closedArguments) : base(_splitOffWrappingDirectives(ref mappings), closedArguments, 1) { //Mappings now holds only directives (was split off by _splitOffWrappingDirectives) _wrappingDirectives = mappings; _getDirectedArgc(out _directedArgc, out _undirectedArgc); }
private PValue[] _getEffectiveArgs(PValue[] args) { var effectiveArgs = new PValue[args.Length + _closedArguments.Length]; Array.Copy(_closedArguments, effectiveArgs, _closedArguments.Length); Array.Copy(args, 0, effectiveArgs, _closedArguments.Length, args.Length); return effectiveArgs; }
protected static IEnumerable<PValue> CoroutineRunStatically(ContextCarrier sctxCarrier, PValue[] args) { if (sctxCarrier == null) throw new ArgumentNullException("sctxCarrier"); if (args == null) throw new ArgumentNullException("args"); var sctx = sctxCarrier.StackContext; var i = 0; if (args.Length < 1) throw new PrexoniteException("Skip requires at least one argument."); var index = (int) args[0].ConvertTo(sctx, PType.Int, true).Value; for (var j = 1; j < args.Length; j++) { var arg = args[j]; var set = Map._ToEnumerable(sctx, arg); if (set == null) throw new PrexoniteException(arg + " is neither a list nor a coroutine."); foreach (var value in set) { if (i++ >= index) yield return value; } } }
/// <summary> /// 求凹凸点 返回为list 其中有四个元素 最凸点 点号 最凹点 点号 /// </summary> /// <param name="input"></param> /// <returns></returns> public static List <PValue> getTopDown(List <PValue> input) { List <PValue> vals = new List <PValue>(); List <Point> points = new List <Point>(); PValue top = new PValue(); PValue topN = new PValue(); PValue down = new PValue(); PValue downN = new PValue(); int length = input.Count; if (length > 1) { for (int i = 0; i < length; i++) { //第一个 if (i == 0) { double val = input[0].Value - input[1].Value; Point p1 = new Point(); p1.pointNum = (i + 1); p1.value = val; points.Add(p1); } else if (i == (length - 1)) //最后一个 { double val = input[length - 1].Value - input[length - 2].Value; Point p1 = new Point(); p1.pointNum = (i + 1); p1.value = val; points.Add(p1); } else { double val = ((input[i].Value - input[i - 1].Value) + (input[i].Value - input[i + 1].Value)) / 2; Point p1 = new Point(); p1.pointNum = (i + 1); p1.value = val; points.Add(p1); } } top.Value = points.Max().value; topN.Value = points.Max().pointNum; down.Value = points.Min().value; downN.Value = points.Min().pointNum; } else { top.Status = 100; topN.Status = 100; down.Status = 100; downN.Status = 100; } vals.Add(top); vals.Add(topN); vals.Add(down); vals.Add(downN); return(vals); }
/// <summary> /// 获取输入数据的越高限点数 越低限点数 越高限点数占比 越低限点数占比 /// </summary> /// <param name="input"></param> /// <param name="high"></param> /// <param name="low"></param> /// <returns></returns> public static List <PValue> getHighLow(List <PValue> input, Double high, Double low) { double highNum = 0; //越高限点数 double lowNum = 0; //越低限点数 List <PValue> list = new List <PValue>(); PValue highN = new PValue(); PValue lowN = new PValue(); PValue highR = new PValue(); PValue lowR = new PValue(); int length = input.Count; for (int i = 0; i < length; i++) { if (input[i].Value >= high) { highNum = highNum + 1; } else { lowNum = lowNum + 1; } } highN.Value = highNum; lowN.Value = lowNum; highR.Value = highNum / length; lowR.Value = lowNum / length; list.Add(highN); list.Add(lowN); list.Add(highR); list.Add(lowR); return(list); }
public override bool TryConstruct(StackContext sctx, PValue[] args, out PValue result) { char c; result = null; if (sctx == null) throw new ArgumentNullException("sctx"); if (args == null) throw new ArgumentNullException("args"); PValue v; if (args.Length < 1 || args[0].IsNull) { c = '\0'; } else if (args[0].TryConvertTo(sctx, Char, out v)) { c = (char) v.Value; } else if (args[0].TryConvertTo(sctx, Int, false, out v)) { c = (char) (int) v.Value; } else { c = '\0'; } result = c; return true; }
public static PValue RunStatically(StackContext sctx, PValue[] args) { if (sctx == null) throw new ArgumentNullException("sctx"); if (args == null) throw new ArgumentNullException("args"); PValue needle; if (args.Length < 2) return false; else needle = args[0]; foreach (var arg in args.Skip(1)) { var set = Map._ToEnumerable(sctx, arg); if (set != null) foreach (var value in set) { PValue result; bool boolResult; if (value.Equality(sctx, needle, out result) && result.TryConvertTo(sctx, true, out boolResult) && boolResult) return result; } } return false; }
protected static IEnumerable<PValue> CoroutineRunStatically(ContextCarrier sctxCarrier, PValue[] args) { if (sctxCarrier == null) throw new ArgumentNullException("sctxCarrier"); if (args == null) throw new ArgumentNullException("args"); if (args.Length < 2) throw new PrexoniteException("TakeWhile requires at least two arguments."); var sctx = sctxCarrier.StackContext; var f = args[0]; var i = 0; for (var k = 1; k < args.Length; k++) { var arg = args[k]; var set = Map._ToEnumerable(sctx, arg); if (set == null) continue; foreach (var value in set) if ( (bool) f.IndirectCall(sctx, new[] {value, i++}).ConvertTo(sctx, PType.Bool, true).Value) yield return value; } }
protected override bool DoTryDefer(StackContext sctx, PValue[] nonArguments, PValue[] arguments, out StackContext partialApplicationContext, out PValue result) { partialApplicationContext = null; result = null; //The following code exists in a very similar form in FunctionalPartialCall.cs, FlippedFunctionalPartialCall.cs if ((nonArguments[0].Type is ObjectPType)) { var raw = nonArguments[0].Value; var stackAware = raw as IStackAware; if (stackAware != null) { partialApplicationContext = stackAware.CreateStackContext(sctx, arguments); return true; } var partialApplication = raw as IMaybeStackAware; if (partialApplication != null) return partialApplication.TryDefer(sctx, arguments, out partialApplicationContext, out result); } result = Invoke(sctx, nonArguments, arguments); return false; }
public string writeModel(string outModelPath) { outPath = outModelPath; using (System.IO.StreamWriter sw = new System.IO.StreamWriter(outPath)) { sw.WriteLine(modelTypes.GLM.ToString()); sw.WriteLine(InTablePath); sw.WriteLine(String.Join(",", IndependentFieldNames)); sw.WriteLine(String.Join(",", DependentFieldNames)); sw.WriteLine(String.Join(",", ClassFieldNames)); sw.WriteLine(SampleSize.ToString()); sw.WriteLine(NumberOfVariables.ToString()); sw.WriteLine(Iterations.ToString()); sw.WriteLine(DeltaC.ToString()); sw.WriteLine(LogLikelihood); sw.WriteLine(LogLikelihoodratio); sw.WriteLine(PValue.ToString()); sw.WriteLine(Deviance.ToString()); sw.WriteLine(ChiSquare.ToString()); sw.WriteLine(linkfunction.ToString()); sw.WriteLine(String.Join(" ", (from double d in Coefficients select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in StdError select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in waldTestValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in waldTestPValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in minValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in maxValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in sumValues select d.ToString()).ToArray())); sw.Close(); } return(outPath); }
public static PValue RunStatically(StackContext sctx, PValue[] args) { if (args.Length < 2) throw new PrexoniteException("then command requires two arguments."); return sctx.CreateNativePValue(new CallComposition(args[0], args[1])); }
internal static bool TryCreateTupleValue <ItemT>( PType <ItemT> itemType, string json, GreenJsonListSyntax jsonListSyntax, int itemIndex, int errorReportingOffset, List <JsonErrorInfo> errors, out ItemT convertedTargetValue, out PValue value) { if (itemIndex < jsonListSyntax.FilteredListItemNodeCount) { return(TryCreateItemValue( itemType, json, jsonListSyntax, itemIndex, errorReportingOffset, errors, out convertedTargetValue, out value)); } convertedTargetValue = default; value = default; return(false); }
public string writeModel(string outModelPath) { outPath = outModelPath; using (System.IO.StreamWriter sw = new System.IO.StreamWriter(outPath)) { sw.WriteLine(modelTypes.LinearRegression.ToString()); sw.WriteLine(InTablePath); sw.WriteLine(String.Join(",", IndependentFieldNames)); sw.WriteLine(String.Join(",", DependentFieldNames)); sw.WriteLine(String.Join(",", ClassFieldNames)); sw.WriteLine(SampleSize.ToString()); sw.WriteLine(NumberOfVariables.ToString()); sw.WriteLine(InterceptThroughOrigin.ToString()); sw.WriteLine(RMSE); sw.WriteLine(FValue.ToString()); sw.WriteLine(PValue.ToString()); sw.WriteLine(Rsquared.ToString()); sw.WriteLine(AdjustedRsquared.ToString()); sw.WriteLine(String.Join(" ", (from double d in Coefficients select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in StandardErrors select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in minValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in maxValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(" ", (from double d in sumValues select d.ToString()).ToArray())); sw.Close(); } return(outPath); }
/// <summary> /// 获取输入数据的最大值 最大值点号 最小值 最小值点号 /// </summary> /// <returns></returns> public static List <PValue> getMaxMin(List <PValue> input) { List <Point> points = new List <Point>(); List <PValue> list = new List <PValue>(); int length = input.Count; for (int i = 0; i < length; i++) { Point p; p.pointNum = i + 1; p.value = input[i].Value; points.Add(p); } PValue max = new PValue(); PValue min = new PValue(); PValue maxN = new PValue(); PValue minN = new PValue(); max.Value = points.Max().value; maxN.Value = points.Max().pointNum; min.Value = points.Min().value; minN.Value = points.Min().pointNum; list.Add(max); list.Add(maxN); list.Add(min); list.Add(minN); return(list); }
public override PValue Run(StackContext sctx, PValue[] args) { if(args.Length < 2) throw new PrexoniteException("The Subtraction operator requires two arguments."); return args[0].Subtraction(sctx,args[1]); }
public void testgetTurnN() { List <PValue> list = new List <PValue>(); PValue p1 = new PValue(); p1.Value = 5; PValue p2 = new PValue(); p2.Value = 1; PValue p3 = new PValue(); p3.Value = 4; PValue p4 = new PValue(); p4.Value = 6; PValue p5 = new PValue(); p5.Value = 7; list.Add(p1); list.Add(p2); list.Add(p3); list.Add(p4); list.Add(p5); PValue res = BaseCalcu.getTurnN(list); Console.WriteLine("翻转次数:" + res.Value); Console.Read(); }
public bool TryDefer(StackContext sctx, PValue[] args, out StackContext partialApplicationContext, out PValue result) { var effectiveArgs = _getEffectiveArgs(args); partialApplicationContext = null; result = null; //The following code exists in a very similar form in PartialCall.cs, FunctionalPartialCall.cs if ((_subject.Type is ObjectPType)) { var raw = _subject.Value; var stackAware = raw as IStackAware; if (stackAware != null) { partialApplicationContext = stackAware.CreateStackContext(sctx, effectiveArgs); return true; } var partialApplication = raw as IMaybeStackAware; if (partialApplication != null) return partialApplication.TryDefer(sctx, effectiveArgs, out partialApplicationContext, out result); } result = _subject.IndirectCall(sctx, effectiveArgs); return false; }
protected override IEnumerable<PValue> CoroutineRun(ContextCarrier sctxCarrier, PValue[] args) { if (args == null) throw new ArgumentNullException("args"); if (sctxCarrier == null) throw new ArgumentNullException("sctxCarrier"); var t = new Dictionary<PValue, int>(); var sctx = sctxCarrier.StackContext; foreach (var arg in args) { var xs = Map._ToEnumerable(sctx, arg); if (xs == null) continue; foreach (var x in xs) if (t.ContainsKey(x)) t[x]++; else t.Add(x, 1); } foreach (var pair in t) yield return new PValueKeyValuePair(pair.Key, pair.Value); }
public static PValue RunStatically(StackContext sctx, PValue[] args) { if (args == null) throw new ArgumentNullException("args"); if (sctx == null) throw new ArgumentNullException("sctx"); //let sum xs acc = Seq.foldl (fun a b -> a + b) acc xs PValue acc; IEnumerable<PValue> xsArgs; if (args.Length == 0) return PType.Null; if (args.Length == 1) { acc = PType.Null; xsArgs = args; } else { acc = args[args.Length - 1]; xsArgs = args.Take(args.Length - 1); } var xss = xsArgs.Select(e => Map._ToEnumerable(sctx, e)).Where(e => e != null); foreach (var xs in xss) foreach (var x in xs) acc = acc.Addition(sctx, x); return acc; }
public static PValue RunStatically(StackContext sctx, PValue[] args) { if (sctx == null) throw new ArgumentNullException("sctx"); if (args == null || args.Length == 0 || args[0] == null) return PType.Null.CreatePValue(); var iargs = Call.FlattenArguments(sctx, args, 1); var retChan = new Channel(); var T = new Thread(() => { PValue result; try { result = args[0].IndirectCall(sctx, iargs.ToArray()); } catch (Exception ex) { result = sctx.CreateNativePValue(ex); } retChan.Send(result); }) { IsBackground = true }; T.Start(); return PType.Object.CreatePValue(retChan); }
protected static IEnumerable<PValue> CoroutineRunStatically(ContextCarrier sctxCarrier, PValue[] args) { if (sctxCarrier == null) throw new ArgumentNullException("sctxCarrier"); if (args == null) throw new ArgumentNullException("args"); var sctx = sctxCarrier.StackContext; foreach (var arg in args) { if (arg == null) throw new ArgumentException("No element in seqconcat(args...) must be null.", "args"); var xss = Map._ToEnumerable(sctx, arg); if (xss == null) continue; foreach (var xsRaw in xss) { var xs = Map._ToEnumerable(sctx, xsRaw); if(xs == null) throw new ArgumentException("The elements in the sequences passed to seqconcat(..) must be sequences themselves."); foreach (var x in xs) yield return x; } } }
/// <summary> /// Implementation of (obj, [isSet, ] id, arg1, arg2, arg3, ..., argn) ⇒ obj.id(arg1, arg2, arg3, ..., argn); /// </summary> /// <remarks> /// <para> /// Wrap Lists in other lists, if you want to pass them without being unfolded: /// <code> /// function main() /// { var myList = [1, 2]; /// var obj = "{1}hell{0}"; /// print( call\member(obj, "format", [ myList ]) ); /// } /// /// //Prints "2hell1" /// </code> /// </para> /// </remarks> /// <param name = "sctx">The stack context in which to call the callable argument.</param> /// <param name = "args">A list of the form [ obj, id, arg1, arg2, arg3, ..., argn].<br /> /// Lists and coroutines are expanded.</param> /// <returns>The result returned by the member call.</returns> public override PValue Run(StackContext sctx, PValue[] args) { if (sctx == null) throw new ArgumentNullException("sctx"); if (args == null || args.Length < 2 || args[0] == null) throw new ArgumentException( "The command callmember has the signature(obj, [isSet,] id [, arg1, arg2,...,argn])."); var isSet = false; string id; var i = 2; if (args[1].Type == PType.Bool && args.Length > 2) { isSet = (bool) args[1].Value; id = args[i++].CallToString(sctx); } else { id = args[1].CallToString(sctx); } var iargs = new PValue[args.Length - i]; Array.Copy(args, i, iargs, 0, iargs.Length); return Run(sctx, args[0], isSet, id, iargs); }
public ICopy CopyThis() { var v = new PValue <T>(); v.mValue = mValue; v.mIsSet = mIsSet; return(v); }
public int SetActValue(int tagid, PValue pvalue) { rtdbHelper.Logon(); int errorRecord = rtdbHelper.SetActValue(tagid, pvalue); rtdbHelper.Logoff(); //golden3.0采用连接池,每次使用完毕,使用logoff释放连接资源 return(errorRecord); }
public PValue GetSummaryValues(int tagid, DateTime startDate, DateTime endDate, string type) { PValue pvalue = new PValue(); rtdbHelper.Logon(); pvalue = rtdbHelper.GetSummaryValues(tagid, startDate, endDate, type); rtdbHelper.Logoff(); //golden3.0采用连接池,每次使用完毕,使用logoff释放连接资源 return(pvalue); }
private void bt_export4calcu_Click(object sender, EventArgs e) { PValue beforepoint = new PValue(double.Parse(tb_startvalue.Text), startDatetime, 0); PValue afterpoint = new PValue(double.Parse(tb_endvalue.Text), endDatetime, 0); PValue insertpoint = PValue.Interpolate(beforepoint, afterpoint, insertDatetime); tb_insertvalue.Text = insertpoint.Value.ToString(); }
public int SetActValue(int tagid, PValue pvalue) { int[] tagids = { tagid }; List <PValue> pvalues = new List <PValue>(); pvalues.Add(pvalue); int result = SetActValues(tagids, pvalues); return(result); }
public int SetActValue(string tagname, PValue pvalue) { string[] tagnames = { tagname }; List <PValue> pvalues = new List <PValue>(); pvalues.Add(pvalue); int result = SetActValues(tagnames, pvalues); return(result); }
public int SetActValue(int tagid, PValue pvalue) { if (rtdbHelper.isLogOn == false) { rtdbHelper.Logon(); } int errorRecord = rtdbHelper.SetActValue(tagid, pvalue); //rtdbHelper.Logoff(); //在PGIMSpecial下,使用长连接 return(errorRecord); }
/// <summary> /// 求输入数据的平均值 /// </summary> /// <param name="input"></param> /// <returns></returns> public static PValue getAvg(List <PValue> input) { PValue avg = new PValue(); double sum = 0.0; for (int i = 0; i < input.Count; i++) { sum = sum + input[i].Value; } avg.Value = sum / input.Count; return(avg); }
public void SelectById(string id) { long offset = index.SelectFirst(id); //Console.WriteLine("offset=" + offset); PaEntry entry = cell.Root.Element(0); entry.offset = offset; PValue pv = entry.GetValue(); Console.WriteLine("record=" + pv.Type.Interpret(pv.Value)); }
public PValue GetSummaryValues(int tagid, DateTime startDate, DateTime endDate, string type) { PValue pvalue = new PValue(); if (rtdbHelper.isLogOn == false) { rtdbHelper.Logon(); } pvalue = rtdbHelper.GetSummaryValues(tagid, startDate, endDate, type); //rtdbHelper.Logoff(); //在PGIMSpecial下,使用长连接 return(pvalue); }
/// <summary> /// 对输入数据的绝对值求和 /// </summary> /// <param name="input"></param> /// <returns></returns> public static PValue getAbsSum(List <PValue> input) { PValue Sum = new PValue(); double sum = 0.0; for (int i = 0; i < input.Count; i++) { sum = sum + Math.Abs(input[i].Value); } Sum.Value = sum; return(Sum); }
public string writeModel(string outModelPath) { if (mlr == null) { buildModel(); } outPath = outModelPath; using (System.IO.StreamWriter sw = new System.IO.StreamWriter(outPath)) { sw.WriteLine(modelTypes.PLR); sw.WriteLine(InTablePath); sw.WriteLine(String.Join(",", IndependentFieldNames)); sw.WriteLine(String.Join(",", DependentFieldNames)); sw.WriteLine(String.Join(",", ClassFieldNames)); sw.WriteLine(String.Join(",", Categories)); sw.WriteLine(NumberOfIndependentVariables.ToString()); sw.WriteLine(NumberOfCategories.ToString()); sw.WriteLine(Delta.ToString()); sw.WriteLine(NumberOfIterationsToConverge.ToString()); sw.WriteLine(LogLikelihood.ToString()); sw.WriteLine(Deviance.ToString()); sw.WriteLine(X2.ToString()); sw.WriteLine(PValue.ToString()); sw.WriteLine(String.Join(",", (from double d in minValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from double d in maxValues select d.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from double d in sumValues select d.ToString()).ToArray())); for (int i = 0; i < Coefficients.Length; i++) { string[] vlArr = (from double d in Coefficients[i] select d.ToString()).ToArray(); sw.WriteLine(String.Join(" ", vlArr)); } for (int i = 0; i < StandardError.Length; i++) { string[] vlArr = (from double d in StandardError[i] select d.ToString()).ToArray(); sw.WriteLine(String.Join(" ", vlArr)); } for (int i = 0; i < WaldStatistic.Length; i++) { string[] vlArr = (from double d in WaldStatistic[i] select d.ToString()).ToArray(); sw.WriteLine(String.Join(" ", vlArr)); } for (int i = 0; i < WaldPvalue.Length; i++) { string[] vlArr = (from double d in WaldPvalue[i] select d.ToString()).ToArray(); sw.WriteLine(String.Join(" ", vlArr)); } sw.Close(); } return(outPath); }
public IBlackboardValue <T> Value <T>(int index) { if (!IsValid <T>(index, false)) { return(null); } var p = mProperties[index]; if (p == null) { p = new PValue <T>(); mProperties[index] = p; } return((IBlackboardValue <T>)p); }
private void AsyncMethodTest(CAwaitable a1, CAwaitable a2, PValue <int> value) { async CTask Do() { value.Value = -1; await a1; value.Value = 1; await a2; value.Value = 2; } _ = Do(); }
/// <summary> /// Gets the <see cref="PValue"/> that is associated with the specified property. /// </summary> /// <param name="property"> /// The property to locate. /// </param> /// <param name="value"> /// When this method returns, contains the value associated with the specified property, /// if the property is found; otherwise, the default <see cref="PValue"/> value. /// This parameter is passed uninitialized. /// </param> /// <returns> /// true if this <see cref="SettingObject"/> contains a value for the specified property; /// otherwise, false. /// </returns> /// <exception cref="ArgumentNullException"> /// <paramref name="property"/> is null. /// </exception> public bool TryGetRawValue(SettingProperty property, out PValue value) { if (property == null) { throw new ArgumentNullException(nameof(property)); } if (Schema.ContainsProperty(property) && Map.TryGetValue(property.Name.Key, out value)) { return(true); } value = default; return(false); }