aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/array.c (renamed from src/vector.c)50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/vector.c b/src/array.c
index 2d4db17..2920320 100644
--- a/src/vector.c
+++ b/src/array.c
@@ -1,4 +1,4 @@
-#include "vector.h"
+#include "array.h"
#include "utility.h"
#include <stdlib.h>
@@ -18,7 +18,7 @@ typedef struct{
#define getTotal(X) getTotal2((X)->mem_count,(X)->size)
/********************** initalize *************************/
-pvoid ctl_vector_initX(ppvoid v, size_t size, uint count){
+pvoid ctl_array_initX(ppvoid v, size_t size, uint count){
VectorHeader *tmp;
int mem = 0;
@@ -37,27 +37,27 @@ pvoid ctl_vector_initX(ppvoid v, size_t size, uint count){
}
/******************** destructure *************************/
-pvoid ctl_vector_freeX(ppvoid v){
+pvoid ctl_array_freeX(ppvoid v){
free(pVoid(getHeader(*v)));
*v = NULL;
return NULL;
}
/******************** methods about get??? ****************/
-int ctl_vector_getSizeX(ppvoid v){
+int ctl_array_getSizeX(ppvoid v){
return getHeader(*v)->use_count;
}
-pcvoid ctl_vector_getEntryX(ppvoid v, uint index){
+pcvoid ctl_array_getEntryX(ppvoid v, uint index){
return pcVoid(pChar(*v) + getHeader(*v)->size * index);
}
-int ctl_vector_getEntrySizeX(ppvoid v){
+int ctl_array_getEntrySizeX(ppvoid v){
return getHeader(*v)->size;
}
/******************** methods about set??? ****************/
-int ctl_vector_setSizeX(ppvoid v, uint count){
+int ctl_array_setSizeX(ppvoid v, uint count){
VectorHeader *tmp = getHeader(*v);
int mem = 0;
@@ -71,13 +71,13 @@ int ctl_vector_setSizeX(ppvoid v, uint count){
return tmp->use_count;
}
-pvoid ctl_vector_setEntryX(ppvoid v, uint index, pcvoid data){
+pvoid ctl_array_setEntryX(ppvoid v, uint index, pcvoid data){
VectorHeader *tmp = getHeader(*v);
memcpy(pVoid(tmp->buf + index * tmp->size), data, tmp->size);
}
/************** add/del element on the back ***************/
-int ctl_vector_addBackX(ppvoid v, pcvoid entry){
+int ctl_array_addBackX(ppvoid v, pcvoid entry){
VectorHeader *tmp = getHeader(*v);
if(tmp->use_count + 1 > tmp->mem_count){
@@ -90,7 +90,7 @@ int ctl_vector_addBackX(ppvoid v, pcvoid entry){
tmp->use_count++;
return tmp->use_count;
}
-int ctl_vector_delBackX(ppvoid v){
+int ctl_array_delBackX(ppvoid v){
VectorHeader *tmp = getHeader(*v);
if((tmp->use_count - 1) * 2 < tmp->mem_count){
@@ -102,31 +102,31 @@ int ctl_vector_delBackX(ppvoid v){
tmp->use_count--;
return tmp->use_count;
}
-//int ctl_vector_addFrontX(ppvoid v, pcvoid entry);
-//int ctl_vector_delFrontX(ppvoid v);
+//int ctl_array_addFrontX(ppvoid v, pcvoid entry);
+//int ctl_array_delFrontX(ppvoid v);
-int ctl_vector_catX(ppvoid v, ppcvoid v2){
+int ctl_array_catX(ppvoid v, ppcvoid v2){
int count0 = getHeader(*v)->use_count;
int count2 = getHeader(*v2)->use_count;
- ctl_vector_setSize(v, count0 + count2);
+ ctl_array_setSize(v, count0 + count2);
int i;
for(i = 0; i < count2; i++)
- ctl_vector_setEntry(v, count0 + i, ctl_vector_getEntry(v2, i));
+ ctl_array_setEntry(v, count0 + i, ctl_array_getEntry(v2, i));
return count0 + count2;
}
-pvoid ctl_vector_copyX(ppvoid v, ppcvoid v2){
+pvoid ctl_array_copyX(ppvoid v, ppcvoid v2){
VectorHeader* tmp = getHeader(*v2);
VectorHeader* p = (VectorHeader*)malloc(getTotal(tmp));
memcpy(pVoid(p), pVoid(tmp), getTotal(tmp));
if(v != NULL){
if(*v != NULL){
- ctl_vector_free(v);
+ ctl_array_free(v);
}
*v = p->buf;
}
return p->buf;
}
-int ctl_vector_replaceX( ppvoid v , uint start1, uint length1,
+int ctl_array_replaceX( ppvoid v , uint start1, uint length1,
ppcvoid v2, uint start2, int length2){
int end1 = (int)start1 + length1 - 1;
int end2 = (int)start2 + abs(length2) - 1, step2 = 1;
@@ -136,23 +136,23 @@ int ctl_vector_replaceX( ppvoid v , uint start1, uint length1,
ctl_swap(int, start2, end2);
}
if (length1 < length2){ // need increase size
- int sz0 = ctl_vector_getSize(v);
+ int sz0 = ctl_array_getSize(v);
int delta = length2 - length1;
- ctl_vector_setSize(v, sz0 + delta);
+ ctl_array_setSize(v, sz0 + delta);
int i;
for(i = sz0 + delta - 1; i - delta > end1; i--){
- ctl_vector_setEntry(v, i, ctl_vector_getEntry(v, i - delta));
+ ctl_array_setEntry(v, i, ctl_array_getEntry(v, i - delta));
}
}else if(length1 > length2){ // need decrease size
- int sz0 = ctl_vector_getSize(v);
+ int sz0 = ctl_array_getSize(v);
int delta = length1 - length2;
int i;
for(i = end1 - delta + 1; i + delta < sz0; i++){
- ctl_vector_setEntry(v, i, ctl_vector_getEntry(v, i + delta));
+ ctl_array_setEntry(v, i, ctl_array_getEntry(v, i + delta));
}
- ctl_vector_setSize(v, sz0 - delta);
+ ctl_array_setSize(v, sz0 - delta);
}
for(end2 += step2; start2 != end2; start2 += step2, start1 += 1){
- ctl_vector_setEntry(v, start1, ctl_vector_getEntry(v2, start2));
+ ctl_array_setEntry(v, start1, ctl_array_getEntry(v2, start2));
}
}