1

如果我将 ilmath.min() 函数与两个 1x1 双精度(未检查其他数据类型)矩阵一起使用,它将返回最大值而不是最小值。如果矩阵的大小大于 1x1,则一切正常。请确认以下代码返回 1.0 而不是 0.0 作为方面。对我来说,这看起来像一个错误还是一个功能?

Console.WriteLine(ILMath.min(0.0,1.0));
Console.ReadKey();

提前致谢。

4

2 回答 2

1

这条线 4295 ofFunctions\BuiltIn\min.cs仅用于标量值(即 1 个元素的输入大小):

return array<double>(
    new double[1] 
    {
        (A.GetValue(0) > B.GetValue(0)) ? A.GetValue(0) : B.GetValue(0) 
    }
);

这似乎返回最大值,而不是最小值。更改><它应该可以工作,但是我在他们的下载中找不到任何相关的测试用例,所以我不知道这会破坏什么。

于 2014-01-25T11:39:13.667 回答
1

我投票给一个错误。在http://ilnumerics.net/mantis有一个 bugtracker您可以考虑在那里提交问题。

于 2014-01-25T11:05:47.030 回答