add debug statements to lifo

dev/timer
Ludwig Ortmann 9 years ago
parent e890b227e1
commit 1dac115c68

@ -21,6 +21,12 @@
#include "lifo.h"
#define ENABLE_DEBUG (0)
#if (ENABLE_DEBUG == 1)
#define DEBUG_LIFO
#endif
#include "debug.h"
int lifo_empty(int *array)
{
return array[0] == -1;
@ -28,6 +34,7 @@ int lifo_empty(int *array)
void lifo_init(int *array, int n)
{
DEBUG("lifo_init(%i)\n", n);
for (int i = 0; i <= n; i++) {
array[i] = -1;
}
@ -35,13 +42,28 @@ void lifo_init(int *array, int n)
void lifo_insert(int *array, int i)
{
DEBUG("lifo_insert(%i)\n", i);
int index = i + 1;
#ifdef DEBUG_LIFO
for (int x=0; x < index; x++) {
if (i == array[x]) {
printf("lifo_insert: inserting duplicate into lifo: %d\n", i);
}
}
if ((array[index] != -1) && (array[0] != -1)) {
printf("lifo_insert: overwriting array[%i] == %i with %i\n", index, array[index], array[0]);
}
#endif
array[index] = array[0];
array[0] = i;
}
int lifo_get(int *array)
{
DEBUG("lifo_get\n");
int head = array[0];
if (head != -1) {
@ -60,12 +82,16 @@ int main()
lifo_init(array, 4);
lifo_insert(array, 0);
lifo_insert(array, 1);
lifo_insert(array, 2);
lifo_insert(array, 1);
lifo_insert(array, 3);
lifo_insert(array, 0);
printf("get: %i\n", lifo_get(array));
printf("get: %i\n", lifo_get(array));
printf("get: %i\n", lifo_get(array));
printf("get: %i\n", lifo_get(array));
printf("get: %i\n", lifo_get(array));
printf("get: %i\n", lifo_get(array));
return 0;
}

Loading…
Cancel
Save