MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / af_write_array

Function af_write_array

src/api/c/array.cpp:286–363  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

284}
285
286af_err af_write_array(af_array arr, const void *data, const size_t bytes,
287 af_source src) {
288 if (bytes == 0) { return AF_SUCCESS; }
289 try {
290 af_dtype type = getInfo(arr).getType();
291 ARG_ASSERT(1, (data != nullptr));
292 ARG_ASSERT(3, (src == afHost || src == afDevice));
293 // FIXME ArrayInfo class no bytes method, hence commented
294 // DIM_ASSERT(2, bytes <= getInfo(arr).bytes());
295
296 switch (type) {
297 case f32:
298 write_array(arr, static_cast<const float *>(data), bytes, src);
299 break;
300 case c32:
301 write_array(arr, static_cast<const cfloat *>(data), bytes, src);
302 break;
303 case f64:
304 write_array(arr, static_cast<const double *>(data), bytes, src);
305 break;
306 case c64:
307 write_array(arr, static_cast<const cdouble *>(data), bytes,
308 src);
309 break;
310 case b8:
311 write_array(arr, static_cast<const char *>(data), bytes, src);
312 break;
313 case s32:
314 write_array(arr, static_cast<const int *>(data), bytes, src);
315 break;
316 case u32:
317 write_array(arr, static_cast<const uint *>(data), bytes, src);
318 break;
319 case s8:
320 write_array(arr, static_cast<const schar *>(data), bytes, src);
321 break;
322 case u8:
323 write_array(arr, static_cast<const uchar *>(data), bytes, src);
324 break;
325 case s64:
326 write_array(arr, static_cast<const intl *>(data), bytes, src);
327 break;
328 case u64:
329 write_array(arr, static_cast<const uintl *>(data), bytes, src);
330 break;
331 case s16:
332 write_array(arr, static_cast<const short *>(data), bytes, src);
333 break;
334 case u16:
335 write_array(arr, static_cast<const ushort *>(data), bytes, src);
336 break;
337 case f16:
338 write_array(arr, static_cast<const half *>(data), bytes, src);
339 break;
340 default: TYPE_ERROR(4, type);
341 }
342 }
343 CATCHALL

Callers 1

writeMethod · 0.50

Calls 2

write_arrayFunction · 0.85
getTypeMethod · 0.45

Tested by

no test coverage detected