Skip to content

Commit 7faa32d

Browse files
author
linzhijun
committed
fix
1 parent 71b00eb commit 7faa32d

File tree

1 file changed

+30
-21
lines changed

1 file changed

+30
-21
lines changed

csharp/ToolGood.Algorithm/Internals/Functions/FunctionBase.sum.cs

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public Function_MAX(FunctionBase[] funcs) : base(funcs)
1616
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
1717
{
1818
var args = new List<Operand>(); int index = 1;
19-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Max", index++); if (aa.IsError) { return aa; } args.Add(aa); }
19+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Max", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
2020

2121
List<decimal> list = new List<decimal>();
2222
var o = FunctionUtil.F_base_GetList(args, list);
@@ -39,7 +39,8 @@ public Function_MIN(FunctionBase[] funcs) : base(funcs)
3939
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
4040
{
4141
var args = new List<Operand>(); int index = 1;
42-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Min", index++); if (aa.IsError) { return aa; } args.Add(aa); }
42+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Min", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
43+
4344
List<decimal> list = new List<decimal>();
4445
var o = FunctionUtil.F_base_GetList(args, list);
4546
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "Min"); }
@@ -60,7 +61,8 @@ public Function_SUM(FunctionBase[] funcs) : base(funcs)
6061
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
6162
{
6263
var args = new List<Operand>(); int index = 1;
63-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Sum", index++); if (aa.IsError) { return aa; } args.Add(aa); }
64+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Sum", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
65+
6466
List<decimal> list = new List<decimal>();
6567
var o = FunctionUtil.F_base_GetList(args, list);
6668
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "Sum"); }
@@ -130,7 +132,8 @@ public Function_AVEDEV(FunctionBase[] funcs) : base(funcs)
130132
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
131133
{
132134
var args = new List<Operand>(); int index = 1;
133-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "AveDev", index++); if (aa.IsError) { return aa; } args.Add(aa); }
135+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "AveDev", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
136+
134137
List<decimal> list = new List<decimal>();
135138
var o = FunctionUtil.F_base_GetList(args, list);
136139
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "AveDev"); }
@@ -157,7 +160,8 @@ public Function_AVERAGE(FunctionBase[] funcs) : base(funcs)
157160
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
158161
{
159162
var args = new List<Operand>(); int index = 1;
160-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Average", index++); if (aa.IsError) { return aa; } args.Add(aa); }
163+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Average", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
164+
161165
List<decimal> list = new List<decimal>();
162166
var o = FunctionUtil.F_base_GetList(args, list);
163167
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "Average"); }
@@ -293,7 +297,8 @@ public Function_MEDIAN(FunctionBase[] funcs) : base(funcs)
293297
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
294298
{
295299
var args = new List<Operand>(); int index = 1;
296-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Median", index++); if (aa.IsError) { return aa; } args.Add(aa); }
300+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Median", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
301+
297302
List<decimal> list = new List<decimal>();
298303
var o = FunctionUtil.F_base_GetList(args, list);
299304

@@ -318,7 +323,7 @@ public Function_MODE(FunctionBase[] funcs) : base(funcs)
318323
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
319324
{
320325
var args = new List<Operand>(); int index = 1;
321-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Mode", index++); if (aa.IsError) { return aa; } args.Add(aa); }
326+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Mode", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
322327

323328
List<decimal> list = new List<decimal>();
324329
var o = FunctionUtil.F_base_GetList(args, list);
@@ -424,7 +429,8 @@ public Function_GEOMEAN(FunctionBase[] funcs) : base(funcs)
424429
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
425430
{
426431
var args = new List<Operand>(); int index = 1;
427-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "GeoMean", index++); if (aa.IsError) { return aa; } args.Add(aa); }
432+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "GeoMean", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
433+
428434
List<decimal> list = new List<decimal>();
429435
var o = FunctionUtil.F_base_GetList(args, list);
430436
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "GeoMean"); }
@@ -454,7 +460,8 @@ public Function_HARMEAN(FunctionBase[] funcs) : base(funcs)
454460
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
455461
{
456462
var args = new List<Operand>(); int index = 1;
457-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "HarMean", index++); if (aa.IsError) { return aa; } args.Add(aa); }
463+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "HarMean", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
464+
458465
if (args.Count == 1) return args[0];
459466

460467
List<decimal> list = new List<decimal>();
@@ -536,7 +543,8 @@ public Function_VARIANCE(FunctionBase[] funcs) : base(funcs)
536543
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
537544
{
538545
var args = new List<Operand>(); int index = 1;
539-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Variance", index++); if (aa.IsError) { return aa; } args.Add(aa); }
546+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Variance", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
547+
540548
List<decimal> list = new List<decimal>();
541549
var o = FunctionUtil.F_base_GetList(args, list);
542550
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "Variance"); }
@@ -560,7 +568,8 @@ public Function_STDEV(FunctionBase[] funcs) : base(funcs)
560568
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
561569
{
562570
var args = new List<Operand>(); int index = 1;
563-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Stdev", index++); if (aa.IsError) { return aa; } args.Add(aa); }
571+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Stdev", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
572+
564573
List<decimal> list = new List<decimal>();
565574
var o = FunctionUtil.F_base_GetList(args, list);
566575
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "Stdev"); }
@@ -588,7 +597,8 @@ public Function_STDEVP(FunctionBase[] funcs) : base(funcs)
588597
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
589598
{
590599
var args = new List<Operand>(); int index = 1;
591-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "STDEVP", index++); if (aa.IsError) { return aa; } args.Add(aa); }
600+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "StdevP", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
601+
592602
List<decimal> list = new List<decimal>();
593603
var o = FunctionUtil.F_base_GetList(args, list);
594604
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "StdevP"); }
@@ -615,7 +625,8 @@ public Function_DEVSQ(FunctionBase[] funcs) : base(funcs)
615625
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
616626
{
617627
var args = new List<Operand>(); int index = 1;
618-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "DevSQ", index++); if (aa.IsError) { return aa; } args.Add(aa); }
628+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "DevSQ", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
629+
619630
List<decimal> list = new List<decimal>();
620631
var o = FunctionUtil.F_base_GetList(args, list);
621632
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "DevSQ"); }
@@ -642,10 +653,9 @@ public Function_VAR(FunctionBase[] funcs) : base(funcs)
642653
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
643654
{
644655
var args = new List<Operand>(); int index = 1;
645-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "Var", index++); if (aa.IsError) { return aa; } args.Add(aa); }
646-
if (args.Count == 1) {
647-
return Operand.Error("Function '{0}}' parameter only one error!", "Var");
648-
}
656+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "Var", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
657+
658+
if (args.Count == 1) { return Operand.Error("Function '{0}}' parameter only one error!", "Var"); }
649659

650660
List<decimal> list = new List<decimal>();
651661
var o = FunctionUtil.F_base_GetList(args, list);
@@ -674,10 +684,9 @@ public Function_VARP(FunctionBase[] funcs) : base(funcs)
674684
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
675685
{
676686
var args = new List<Operand>(); int index = 1;
677-
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter).ToNumber("Function '{0}' parameter {1} is error!", "VarP", index++); if (aa.IsError) { return aa; } args.Add(aa); }
678-
if (args.Count == 1) {
679-
return Operand.Error("Function '{0}}' parameter only one error!", "VarP");
680-
}
687+
foreach (var item in funcs) { var aa = item.Evaluate(work, tempParameter); if (aa.IsNotNumber) { aa = aa.ToNumber("Function '{0}' parameter {1} is error!", "VarP", index++); if (aa.IsError) { return aa; } } args.Add(aa); }
688+
689+
if (args.Count == 1) { return Operand.Error("Function '{0}}' parameter only one error!", "VarP"); }
681690
List<decimal> list = new List<decimal>();
682691
var o = FunctionUtil.F_base_GetList(args, list);
683692
if (o == false) { return Operand.Error("Function '{0}' parameter is error!", "VarP"); }

0 commit comments

Comments
 (0)