| 384 | }; |
| 385 | |
| 386 | array ptrToArray(size_t size, void *ptr, af_dtype type) { |
| 387 | array res; |
| 388 | switch (type) { |
| 389 | case f32: res = array(size, (float *)ptr); break; |
| 390 | case f64: res = array(size, (double *)ptr); break; |
| 391 | case c32: res = array(size, (cfloat *)ptr); break; |
| 392 | case c64: res = array(size, (cdouble *)ptr); break; |
| 393 | case u32: res = array(size, (unsigned *)ptr); break; |
| 394 | case s32: res = array(size, (int *)ptr); break; |
| 395 | case u64: res = array(size, (unsigned long long *)ptr); break; |
| 396 | case s64: res = array(size, (long long *)ptr); break; |
| 397 | case u16: res = array(size, (unsigned short *)ptr); break; |
| 398 | case s16: res = array(size, (short *)ptr); break; |
| 399 | case b8: res = array(size, (char *)ptr); break; |
| 400 | case s8: res = array(size, (signed char *)ptr); break; |
| 401 | case u8: res = array(size, (unsigned char *)ptr); break; |
| 402 | case f16: res = array(size, (half_float::half *)ptr); break; |
| 403 | } |
| 404 | return res; |
| 405 | } |
| 406 | |
| 407 | array ptrToArray(af::dim4 size, void *ptr, af_dtype type) { |
| 408 | array res; |