2

有谁知道为什么当我在二维数组上使用 ArrayFire af::Max 时它会返回 NAN 值?当我在 1D 数组上执行此操作时,这是可以的,但是,当我想在 2D 数组上执行此操作时,它不起作用,但是,文档说 NAN 值被忽略。那么,我是不是做错了什么?

如果我删除第一行,它会起作用。但是,如果我到处都有 NAN,我会被搞砸的,所以,我最好正确地做到这一点。

  af::array maxSlopeIndexes;
  af::array maxSlopes;
  af::max(maxSlopes, maxSlopeIndexes, slopes, 0);
  af_print(maxSlopeIndexes);
  af_print(maxSlopes);

slopes
[6 3 1 1]
 -nan(ind)  -nan(ind)  -nan(ind)
   -1.0000    -2.0000    -3.0000
    0.5000     0.0000    -0.5000
    3.0000     2.6667     2.3333
    0.7500     0.5000     0.2500
    0.8000     0.8000     0.8000

maxSlopeIndexes
[1 3 1 1]
         0          0          0
maxSlopes
[1 3 1 1]
 -nan(ind)  -nan(ind)  -nan(ind)

谢谢

4

0 回答 0