From 97a41ec6047bd2c9c1b4f094d85b08865eb7613a Mon Sep 17 00:00:00 2001 From: Preston Pan Date: Mon, 6 Feb 2023 23:14:07 -0800 Subject: add stuff --- vector.c | 110 ++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 59 insertions(+), 51 deletions(-) (limited to 'vector.c') diff --git a/vector.c b/vector.c index 34b30de..bf9ddcc 100644 --- a/vector.c +++ b/vector.c @@ -1,57 +1,65 @@ #include #include "vector.h" -vector_t init_vector(int mx, int my) { - vector_t vector; - vector.mx = mx; - vector.my = my; - return vector; -} -vectorp_t init_vectorp(vector_t* vectors, int length) { - vectorp_t vectorP; - vectorP.vectors = vectors; - vectorP.length = length; - return vectorP; -} -int vector_equals(vector_t v1, vector_t v2) { - return v1.mx == v2.mx && v1.my == v2.my; -} -vector_t vector_add(vector_t v1, vector_t v2) { - return init_vector(v1.mx + v2.mx, v1.my + v2.my); -} -vector_t vector_sub(vector_t v1, vector_t v2) { - return init_vector(v1.mx - v2.mx, v1.my - v2.my); -} -vectorp_t remove_vector(vectorp_t vectorp, int index) { - vector_t* vectors = malloc((vectorp.length - 1) * sizeof(vector_t)); - for(int i = 0; i < vectorp.length - 1; i++) { - int correctedIndex = i > index ? i - 1 : i; - if(i != index) { - vectors[correctedIndex] = vectorp.vectors[i]; - } +vector_t init_vector(int mx, int my) +{ + vector_t vector; + vector.mx = mx; + vector.my = my; + return vector; +} +vectorp_t init_vectorp(vector_t * vectors, int length) +{ + vectorp_t vectorP; + vectorP.vectors = vectors; + vectorP.length = length; + return vectorP; +} +int vector_equals(vector_t v1, vector_t v2) +{ + return v1.mx == v2.mx && v1.my == v2.my; +} +vector_t vector_add(vector_t v1, vector_t v2) +{ + return init_vector(v1.mx + v2.mx, v1.my + v2.my); +} +vector_t vector_sub(vector_t v1, vector_t v2) +{ + return init_vector(v1.mx - v2.mx, v1.my - v2.my); +} +vectorp_t remove_vector(vectorp_t vectorp, int index) +{ + vector_t *vectors = malloc((vectorp.length - 1) * sizeof(vector_t)); + for (int i = 0; i < vectorp.length - 1; i++) { + int correctedIndex = i > index ? i - 1 : i; + if (i != index) { + vectors[correctedIndex] = vectorp.vectors[i]; + } + } + return init_vectorp(vectors, vectorp.length - 1); +} +vectorp_t remove_vectors(vectorp_t vectorp, int *indexes, int indexCount) +{ + vector_t *vectors = malloc((vectorp.length - indexCount) * sizeof(vector_t)); + int correctedIndex = 0; + for (int i = 0; i < vectorp.length - indexCount; i++) { + int toRemove = 0; + for (int j = 0; j < indexCount; j++) { + if (i == indexes[j]) { + toRemove = 1; + break; + } } - return init_vectorp(vectors, vectorp.length - 1); -} -vectorp_t remove_vectors(vectorp_t vectorp, int* indexes, int indexCount) { - vector_t* vectors = malloc((vectorp.length - indexCount) * sizeof(vector_t)); - int correctedIndex = 0; - for(int i = 0; i < vectorp.length - indexCount; i++) { - int toRemove = 0; - for(int j = 0; j < indexCount; j++) { - if(i == indexes[j]) { - toRemove = 1; - break; - } - } - if(!toRemove) { - vectors[correctedIndex] = vectorp.vectors[i]; - correctedIndex++; - } + if (!toRemove) { + vectors[correctedIndex] = vectorp.vectors[i]; + correctedIndex++; } - return init_vectorp(vectors, vectorp.length - indexCount); + } + return init_vectorp(vectors, vectorp.length - indexCount); } -vectorpp_t init_vectorpp(vectorp_t* vectorps, int length) { - vectorpp_t vectorPP; - vectorPP.vectorps = vectorps; - vectorPP.length = length; - return vectorPP; +vectorpp_t init_vectorpp(vectorp_t * vectorps, int length) +{ + vectorpp_t vectorPP; + vectorPP.vectorps = vectorps; + vectorPP.length = length; + return vectorPP; } -- cgit v1.3.1