alistair
4 years ago
3 changed files with 103 additions and 86 deletions
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
GXX_COMMAND = gcc -O3
|
||||
|
||||
default: datatypes.c datatypes.h |
||||
$(GXX_COMMAND) datatypes.c -c
|
||||
|
||||
test: default test.c |
||||
$(GXX_COMMAND) test.c -c
|
||||
$(GXX_COMMAND) test.o datatypes.o -o test
|
||||
|
||||
clean: |
||||
rm *.o
|
||||
rm test
|
||||
|
@ -0,0 +1,89 @@
@@ -0,0 +1,89 @@
|
||||
#include "datatypes.h" |
||||
#include "stdio.h" |
||||
|
||||
int basic_test(void) { |
||||
// test
|
||||
int a[] = {1,2,3,4,5}; |
||||
ArrayList l = new_arlst_from_array(a, sizeof(int), 5); |
||||
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
||||
printf("\n\n"); |
||||
|
||||
arlst_pop(&l); |
||||
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
||||
printf("\n\n"); |
||||
|
||||
int *g = malloc(sizeof(int)); |
||||
*g = 10; |
||||
arlst_add(&l, g); |
||||
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
||||
printf("\n\n"); |
||||
|
||||
arlst_del(&l, 3); |
||||
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
||||
printf("\n\n"); |
||||
|
||||
arlst_pop(&l); |
||||
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
||||
printf("\n\n"); |
||||
arlst_push(&l, g); |
||||
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
||||
printf("\n\n"); |
||||
|
||||
for (int i = 0; i < 20; i++) { |
||||
int *b = malloc(sizeof(int)); |
||||
*b = i; |
||||
arlst_add(&l, b); |
||||
} |
||||
|
||||
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
||||
printf("\n\n"); |
||||
|
||||
arlst_destroy(&l); |
||||
|
||||
printf("\n\nFIFOS \n\n"); |
||||
|
||||
ListFiFo f = new_fifo(10); |
||||
for (int i = 0; i < 100; i++) { |
||||
int *b = malloc(sizeof(int)); |
||||
*b = i; |
||||
fifo_add(&f, b); |
||||
} |
||||
for (int i = 0; i < 90; i++) { |
||||
int *b = malloc(sizeof(int)); |
||||
*b = i; |
||||
int *aa = fifo_get(&f); |
||||
free(aa); |
||||
} |
||||
for (int i = 0; i < 10; i++) { |
||||
int * a = fifo_get(&f); |
||||
printf("ff: %d\n", *a); |
||||
free(a); |
||||
} |
||||
|
||||
int * z = fifo_get(&f); |
||||
printf("ff: %p\n", z); |
||||
free(z); |
||||
z = fifo_get(&f); |
||||
printf("ff: %p\n", z); |
||||
free(z); |
||||
|
||||
for (int i = 0; i < 20; i++) { |
||||
int *b = malloc(sizeof(int)); |
||||
*b = i; |
||||
fifo_add(&f, b); |
||||
} |
||||
for (int i = 0; i < 20; i++) { |
||||
int * a = fifo_get(&f); |
||||
printf("ff: %d\n", *a); |
||||
free(a); |
||||
} |
||||
|
||||
|
||||
return 0; |
||||
} |
||||
|
||||
|
||||
int main(int argc, char **argv) { |
||||
basic_test(); |
||||
return 0; |
||||
} |
Loading…
Reference in new issue