Skip to content

Commit 7d58480

Browse files
committed
fix
1 parent 67e9a60 commit 7d58480

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

csharp/ToolGood.Algorithm.Fast/Internals/Functions/FunctionBase.string.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ public override Operand Calculate(AlgorithmEngine work)
398398
}
399399
public override void ToString(StringBuilder stringBuilder, bool addBrackets)
400400
{
401-
stringBuilder.Append("IF(");
401+
stringBuilder.Append("REPLACE(");
402402
func1.ToString(stringBuilder, false);
403403
if (func2 != null) {
404404
stringBuilder.Append(", ");
@@ -429,6 +429,9 @@ public override Operand Calculate(AlgorithmEngine work)
429429

430430
var newtext = args1.TextValue;
431431
var length = args2.IntValue;
432+
if (length < 0) {
433+
return Operand.Error("Function REPT parameter 2 is error!");
434+
}
432435
StringBuilder sb = new StringBuilder(newtext.Length * length);
433436
for (int i = 0; i < length; i++) {
434437
sb.Append(newtext);

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1402,17 +1402,17 @@ public Function_LOGINV(FunctionBase func1, FunctionBase func2, FunctionBase func
14021402

14031403
public override Operand Calculate(AlgorithmEngine work)
14041404
{
1405-
var args1 = func1.Calculate(work); if (args1.Type != OperandType.NUMBER) { args1 = args1.ToNumber("Function HYPGEOMDIST parameter 1 error!"); if (args1.IsError) return args1; }
1406-
var args2 = func2.Calculate(work); if (args2.Type != OperandType.NUMBER) { args2 = args2.ToNumber("Function HYPGEOMDIST parameter 2 error!"); if (args2.IsError) return args2; }
1407-
var args3 = func3.Calculate(work); if (args3.Type != OperandType.NUMBER) { args3 = args3.ToNumber("Function HYPGEOMDIST parameter 3 error!"); if (args3.IsError) return args3; }
1405+
var args1 = func1.Calculate(work); if (args1.Type != OperandType.NUMBER) { args1 = args1.ToNumber("Function LOGINV parameter 1 error!"); if (args1.IsError) return args1; }
1406+
var args2 = func2.Calculate(work); if (args2.Type != OperandType.NUMBER) { args2 = args2.ToNumber("Function LOGINV parameter 2 error!"); if (args2.IsError) return args2; }
1407+
var args3 = func3.Calculate(work); if (args3.Type != OperandType.NUMBER) { args3 = args3.ToNumber("Function LOGINV parameter 3 error!"); if (args3.IsError) return args3; }
14081408
if (args3.NumberValue < 0.0m) {
14091409
return Operand.Error("Function LOGINV parameter error!");
14101410
}
14111411
return Operand.Create(ExcelFunctions.LogInv((double)args1.NumberValue, (double)args2.NumberValue, (double)args3.NumberValue));
14121412
}
14131413
public override void ToString(StringBuilder stringBuilder, bool addBrackets)
14141414
{
1415-
stringBuilder.Append("HYPGEOMDIST(");
1415+
stringBuilder.Append("LOGINV(");
14161416
func1.ToString(stringBuilder, false);
14171417
if (func2 != null) {
14181418
stringBuilder.Append(", ");

csharp/ToolGood.Algorithm.Fast/Internals/Functions/FunctionBase.time.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ public override Operand Calculate(AlgorithmEngine work)
700700
var startMyDate = (DateTime)args1.DateValue;
701701
var endMyDate = (DateTime)args2.DateValue;
702702

703-
List<DateTime> list = new List<DateTime>();
703+
HashSet<DateTime> list = new HashSet<DateTime>();
704704
for (int i = 2; i < funcs.Length; i++) {
705705
var ar = funcs[i].Calculate(work).ToMyDate($"Function NETWORKDAYS parameter {i + 1} is error!");
706706
if (ar.IsError) { return ar; }
@@ -743,7 +743,7 @@ public override Operand Calculate(AlgorithmEngine work)
743743

744744
var startMyDate = (DateTime)args1.DateValue;
745745
var days = args2.IntValue;
746-
List<DateTime> list = new List<DateTime>();
746+
HashSet<DateTime> list = new HashSet<DateTime>();
747747
for (int i = 2; i < funcs.Length; i++) {
748748
var ar = funcs[i].Calculate(work).ToMyDate($"Function WORKDAY parameter {i + 1} is error!");
749749
if (ar.IsError) { return ar; }

0 commit comments

Comments
 (0)