]> git.mdlowis.com Git - proto/sclpl.git/commitdiff
Removed vector implementation
authorMichael D. Lowis <mike.lowis@gentex.com>
Tue, 14 Aug 2018 16:38:48 +0000 (12:38 -0400)
committerMichael D. Lowis <mike.lowis@gentex.com>
Tue, 14 Aug 2018 16:38:48 +0000 (12:38 -0400)
Makefile
source/sclpl.h
source/vec.c [deleted file]

index 5875fdd102009b7329ecd7c59627e90b59208959..efe80dd16d1e230ea71a65883e308d04c06cbd83 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,6 @@ ARFLAGS   = rcs
 BIN  = sclpl
 OBJS = source/main.o    \
        source/pkg.o     \
-       source/vec.o     \
        source/pprint.o  \
        source/parser.o  \
        source/lexer.o   \
index aa5482d7ed6055d5bbe578ca2b5bfef302488be9..f3c435c715bab1b9aec1860b9737897dd00ad0f0 100644 (file)
@@ -20,23 +20,6 @@ static void* emalloc(size_t size) {
     return ptr;
 }
 
-/* Vector Implementation
- *****************************************************************************/
-typedef struct {
-    size_t count;
-    size_t size;
-    size_t capacity;
-    void** buffer;
-} vec_t;
-
-void vec_init(vec_t* vec);
-void vec_deinit(vec_t* vec);
-void vec_clear(vec_t* vec);
-size_t vec_size(vec_t* vec);
-void* vec_at(vec_t* vec, size_t index);
-void vec_push_back(vec_t* vec, void* data);
-void vec_set(vec_t* vec, size_t index, void* data);
-
 /* Token Types
  *****************************************************************************/
 typedef enum {
diff --git a/source/vec.c b/source/vec.c
deleted file mode 100644 (file)
index ac545ef..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
-  @file vec.c
-*/
-#include <sclpl.h>
-
-#ifndef DEFAULT_VEC_CAPACITY
-#define DEFAULT_VEC_CAPACITY (size_t)8
-#endif
-
-void vec_init(vec_t* vec)
-{
-    vec->count    = 0;
-    vec->capacity = DEFAULT_VEC_CAPACITY;
-    vec->buffer   = malloc(sizeof(void*) * vec->capacity);
-}
-
-void vec_deinit(vec_t* vec)
-{
-    vec_clear(vec);
-    free(vec->buffer);
-}
-
-size_t vec_size(vec_t* vec)
-{
-    return vec->count;
-}
-
-void* vec_at(vec_t* vec, size_t index)
-{
-    assert(index < vec->count);
-    return vec->buffer[index];
-}
-
-static void vec_reserve(vec_t* vec, size_t size)
-{
-    assert(vec != NULL);
-    vec->buffer = realloc( vec->buffer, sizeof(void*) * size );
-    assert(vec->buffer != NULL);
-    vec->capacity = size;
-}
-
-static size_t vec_next_capacity(size_t req_size)
-{
-    size_t next_power = req_size;
-    size_t num_bits = sizeof(size_t) * 8;
-    size_t bit_n;
-    /* Find the next highest power of 2 */
-    next_power--;
-    for (bit_n = 1; bit_n < num_bits; bit_n = bit_n << 1)
-    {
-        next_power = next_power | (next_power >> bit_n);
-    }
-    next_power++;
-    return next_power;
-}
-
-static void vec_resize(vec_t* vec, size_t count, void* fillval)
-{
-    if (count > vec->count) {
-        vec_reserve(vec, vec_next_capacity(count+1));
-        for (; vec->count < count; vec->count++)
-            vec->buffer[vec->count] = fillval;
-    } else if (count < vec->count) {
-        vec->count = count;
-    }
-}
-
-void vec_push_back(vec_t* vec, void* data)
-{
-    vec_resize(vec, vec->count+1, data);
-}
-
-void vec_set(vec_t* vec, size_t index, void* data)
-{
-    assert(index < vec->count);
-    vec->buffer[index] = data;
-}
-
-void vec_clear(vec_t* vec)
-{
-    vec->count = 0;
-}
-