如果我将 ilmath.min() 函数与两个 1x1 双精度(未检查其他数据类型)矩阵一起使用,它将返回最大值而不是最小值。如果矩阵的大小大于 1x1,则一切正常。请确认以下代码返回 1.0 而不是 0.0 作为方面。对我来说,这看起来像一个错误还是一个功能?
Console.WriteLine(ILMath.min(0.0,1.0));
Console.ReadKey();
提前致谢。
如果我将 ilmath.min() 函数与两个 1x1 双精度(未检查其他数据类型)矩阵一起使用,它将返回最大值而不是最小值。如果矩阵的大小大于 1x1,则一切正常。请确认以下代码返回 1.0 而不是 0.0 作为方面。对我来说,这看起来像一个错误还是一个功能?
Console.WriteLine(ILMath.min(0.0,1.0));
Console.ReadKey();
提前致谢。
这条线 4295 ofFunctions\BuiltIn\min.cs
仅用于标量值(即 1 个元素的输入大小):
return array<double>(
new double[1]
{
(A.GetValue(0) > B.GetValue(0)) ? A.GetValue(0) : B.GetValue(0)
}
);
这似乎返回最大值,而不是最小值。更改>
为<
它应该可以工作,但是我在他们的下载中找不到任何相关的测试用例,所以我不知道这会破坏什么。
我投票给一个错误。在http://ilnumerics.net/mantis有一个 bugtracker您可以考虑在那里提交问题。