[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:
suchmememanyskill
2021-01-01 18:30:51 +01:00
parent 3d4182ec57
commit e1f292fe0d
8 changed files with 84 additions and 12 deletions

View File

@@ -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);
}

View File

@@ -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);