[script] vector slicing, basic file functions
new operators: vector(int, byte) - int -> works like py's list[0:-int] vector(int, byte) : int -> works like py's list[int:] new functions: fileRead, fileWrite, fileExists, bytesToStr
This commit is contained in:
@@ -47,9 +47,14 @@ bool vecAdd(Vector_t* v, void* elem, u32 sz)
|
||||
return true;
|
||||
}
|
||||
|
||||
Vector_t vecCopy(Vector_t* orig) {
|
||||
Vector_t dst = newVec(orig->elemSz, orig->count);
|
||||
memcpy(dst.data, orig->data, orig->count * orig->elemSz);
|
||||
dst.count = orig->count;
|
||||
Vector_t vecCopyOffset(Vector_t* orig, u32 offset) {
|
||||
Vector_t dst = newVec(orig->elemSz, orig->count - offset);
|
||||
memcpy(dst.data, ((u8*)orig->data + orig->elemSz * offset), (orig->count - offset) * orig->elemSz);
|
||||
dst.count = orig->count - offset;
|
||||
return dst;
|
||||
}
|
||||
}
|
||||
|
||||
Vector_t vecCopy(Vector_t* orig) {
|
||||
return vecCopyOffset(orig, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,4 +26,5 @@ typedef struct {
|
||||
Vector_t newVec(u32 typesz, u32 preallocate);
|
||||
Vector_t vecFromArray(void* array, u32 count, u32 typesz);
|
||||
bool vecAdd(Vector_t* v, void* elem, u32 sz);
|
||||
Vector_t vecCopy(Vector_t* orig);
|
||||
Vector_t vecCopy(Vector_t* orig);
|
||||
Vector_t vecCopyOffset(Vector_t* orig, u32 offset);
|
||||
Reference in New Issue
Block a user