From 99e13923235ee5fb03dfee93502b0a2c124f09f5 Mon Sep 17 00:00:00 2001
From: Abivarman <abivarman.kandiah@etu.hesge.ch>
Date: Thu, 24 Feb 2022 11:07:03 +0100
Subject: [PATCH] Add Vector Empty

---
 header/vectors.h   |  1 +
 src/test_vectors.c |  4 +++-
 src/vectors.c      | 15 ++++++++++++++-
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/header/vectors.h b/header/vectors.h
index 029c4b3..3f2f874 100644
--- a/header/vectors.h
+++ b/header/vectors.h
@@ -27,5 +27,6 @@ void vector_set(vector vec, int index, type element);
 type vector_get(vector vec, int index);
 type vector_remove(vector vec, int index);
 void vector_insert(vector vec, type element, int index);
+void vector_empty(vector vec);
 
 #endif
\ No newline at end of file
diff --git a/src/test_vectors.c b/src/test_vectors.c
index 50676d2..038ee1f 100644
--- a/src/test_vectors.c
+++ b/src/test_vectors.c
@@ -46,7 +46,9 @@ int main()
 	printf("New Value at index 3 and 4: %d, %d \n", vector_get(test, 3), vector_get(test, 4));
 
 	//Test Vector Empty
-	
+	vector_empty(test);
+	printf("Empty Vector lenght : %d \n", vector_length(test));
 
+	
 	return 0;
 }
\ No newline at end of file
diff --git a/src/vectors.c b/src/vectors.c
index 403f49e..f786ea7 100644
--- a/src/vectors.c
+++ b/src/vectors.c
@@ -95,7 +95,6 @@ type vector_remove(vector vec, int index)
 	return tmp;
 }
 
-
 void vector_insert(vector vec, type element, int index)
 {
 	assert(index < vec->length);
@@ -108,4 +107,18 @@ void vector_insert(vector vec, type element, int index)
 	}
 
 	vec->content[index] = element;
+}
+
+void vector_empty(vector vec)
+{
+	for (int i = 0; i < vec->length; i++)
+	{
+		vec->content[i] = 0;
+	}
+
+	vec->capacity = VECTOR_INIT_CAPACITY;
+	vec->length = 0;
+
+	vec->content = realloc(vec->content, sizeof(type) * vec->capacity);
+	assert(vec->content != NULL);
 }
\ No newline at end of file
-- 
GitLab