Я пытаюсь понять, как использовать библиотеку arrayfire, и я написал следующий небольшой фрагмент кода для создания 2D-графика, например
af::info();
af::Window myWindow(800, 800, "2D Plot example: ArrayFire");
myWindow.grid(3, 1);
std::vector <double> xyz = { -1, -1, -1, -1, 0, 0, -1, -2, -2, -2, -1, -1, 1, 3, 4, 5, 4, 2, -1, -2 };
array A = seq(0, 19);
af_print(A);
array B(xyz.size(), xyz.data());
af_print(B);
myWindow(0, 0).plot(A, B);
myWindow.show();
но я получаю ошибку ввода несоответствия типов во время выполнения.
> ArrayFire Exception (Input types are not the same:205): In function
> af_err __cdecl plotWrapper(void *const ,void *const ,void *const
> ,const af_cell *const ,fg_plot_type,fg_marker_type) In file
> src\api\c\plot.cpp:268 Type mismatch inputs 0# af::allocHost<short>
> in afopencl 1# af::allocHost<short> in afopencl 2#
> af::allocHost<short> in afopencl 3# af_is_real in af 4# af_is_real
> in af 5# main at C:\Users\rad\source\repos\ArrayFire\plot2d.cpp:44
> 6# invoke_main at
> d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:79
> 7# __scrt_common_main_seh at
> d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
> 8# __scrt_common_main at
> d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331
> 9# mainCRTStartup at
> d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17
> 10# BaseThreadInitThunk in KERNEL32 11# RtlUserThreadStart in ntdll
>
> In function void __cdecl af::Window::plot(const class af::array
> &,const class af::array &,cons
Может кто-нибудь помочь мне или указать мне правильный учебник. Отсюда я следую примеру массива: http://arrayfire.org/docs/examples.htm.
Заранее благодарю за помощь.