Arrayfire: как мне выполнить выборку массива по элементам другого массива?

#arrayfire

#arrayfire

Вопрос:

Я новичок в Arrayfire и ищу метод, подобный выборке 2D текстуры.

 float uvInit[] = { 0, 0,  1, 1,  1, 0,  0, 1 };
array uv = array(4, 2, uvInit, f32);

float texInit[] = { 1, 2, 3, 4 };
array tex = array(2, 2, texInit, f32);

array color = ???????;
// color should be 1d array { 1, 4, 3, 2 },
// e.g. { tex(0, 0), tex(1, 1), tex(1, 0), tex(0, 1) }.
  

Искал документацию, но не нашел ничего подобного, и я даже не могу проиндексировать массив с помощью элемента array…

 array s = ..., g = ...;
gfor(seq i, ...) {
    auto x = g(0, i);    // take an element from g.
    s(x);                // ERROR: no matched function.
}
  

Ответ №1:

Ближайшими родственниками для интерполяции в ArrayFire являются функции, перечисленные на странице ниже.

http://arrayfire.org/docs/group__approx__mat.htm

Если вы новичок в ArrayFire / индексировании, я настоятельно рекомендую вам ознакомиться с руководствами по документации.

http://arrayfire.org/docs/indexing.htm

Весь список руководств (возможно, не полный, но для начала очень хороший) приведен по следующему URL.

http://arrayfire.org/docs/usergroup0.htm

Комментарии:

1. Упс, просто не понял, что это операция интерполяции.