MCPcopy Create free account
hub / github.com/IoLanguage/io / UArray_duplicateIndexes

Function UArray_duplicateIndexes

libs/basekit/source/UArray_math.c:574–600  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

572// indexes
573
574BASEKIT_API void UArray_duplicateIndexes(UArray *self) {
575 size_t size = self->size;
576 int itemSize = self->itemSize;
577
578 if (size) {
579 size_t si = size - 1;
580 size_t di = (size * 2) - 1;
581 uint8_t *b;
582
583 UArray_setSize_(self, self->size * 2);
584
585 b = self->data;
586
587 for (;;) {
588 uint8_t *src = b + si * itemSize;
589 uint8_t *dest = b + di * itemSize;
590
591 memcpy(dest, src, itemSize);
592 memcpy(dest - itemSize, src, itemSize);
593
594 if (si == 0)
595 break;
596 di = di - 2;
597 si--;
598 }
599 }
600}
601
602void UArray_removeOddIndexes(UArray *self) {
603 size_t itemSize = self->itemSize;

Callers

nothing calls this directly

Calls 1

UArray_setSize_Function · 0.85

Tested by

no test coverage detected