从 arrayfire 中的两个一维数组的划分创建二维数组

Create 2d array from a division of two 1d-arrays in arrayfire

我在 arrayfire 中有两个一维数组,xy。我想将它们彼此分开,并根据结果创建一个二维数组,即如以下代码所示:

#include <arrayfire>

int main(void){

    const size_t x_len = 1024, y_len = 2048;
    af::array x(x_len, f64), y(y_len, f64);
    //Fill x, y with y \neq 0
    //Now either
    af::array xy(x_len, y_len, f64); //Gives a 2d-array
    for(size_t i = 0; i < x.dims(0); ++i)
        for(size_t j = 0; j < y.dims(0); ++j)
            xy(i, j) = x(i) / y(j);
    //or
    af::array xy = x / y; //Gives a 1d-array

    return 0;
}

前一种方法给了我目标二维数组,后一种方法没有(如果 x_len != y_len 会导致崩溃。我可以使用上面写的方法,但我认为它会是比专用命令慢得多。
所以,arrayfire中有没有这样的命令,还是必须使用循环?

af::array xy = matmulNT(x, 1/y);