MCPcopy Create free account
hub / github.com/numpy/numpy / _unaligned_strided_byte_copy

Function _unaligned_strided_byte_copy

numpy/core/src/multiarray/ctors.c:336–368  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

334}
335
336NPY_NO_EXPORT void
337_unaligned_strided_byte_copy(char *dst, npy_intp outstrides, char *src,
338 npy_intp instrides, npy_intp N, int elsize)
339{
340 npy_intp i;
341 char *tout = dst;
342 char *tin = src;
343
344#define _COPY_N_SIZE(size) \
345 for(i=0; i<N; i++) { \
346 memcpy(tout, tin, size); \
347 tin += instrides; \
348 tout += outstrides; \
349 } \
350 return
351
352 switch(elsize) {
353 case 8:
354 _COPY_N_SIZE(8);
355 case 4:
356 _COPY_N_SIZE(4);
357 case 1:
358 _COPY_N_SIZE(1);
359 case 2:
360 _COPY_N_SIZE(2);
361 case 16:
362 _COPY_N_SIZE(16);
363 default:
364 _COPY_N_SIZE(elsize);
365 }
366#undef _COPY_N_SIZE
367
368}
369
370NPY_NO_EXPORT void
371_strided_byte_swap(void *p, npy_intp stride, npy_intp n, int size)

Callers 1

PyArray_LexSortFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected