#include #define DA_IMPLEMENTATION #include "da.h" #define EHAN_IMPLEMENTATION #include "ehan.h" void printDaU16(void * item) { printf("%hu\n", *((unsigned short *) item)); } void printDaS32(void * item) { printf("%hu\n", *((int *) item)); } int main(void) { printf("----------\n"); printf("DA1\n"); printf("----------\n"); GenericReturn gr = daCreate(unsigned short, 1); if (ehanCheck(gr)) { ELog("%s\n", resultError(gr)); exit(1); } dynarr(unsigned short) da = resultGeneric(dynarr(unsigned short), gr); unsigned short x = 69; daPush(da, x); x = 42069; daPush(da, x); x = 1337; daPush(da, x); x = 34; daPush(da, x); x = 35; daPush(da, x); x = 1667; daPush(da, x); daPop(da, x); printf("x: %hu\n", x); daForeach(da, printDaU16); printf("%zu %zu %zu\n", daSize(da), daCap(da), daType(da)); printf("----------\n"); printf("DA2\n"); printf("----------\n"); dynarr(char) da2 = daCreate(char, 1).val; char y = 'H'; daPush(da2, y); y = 'i'; daPush(da2, y); y = ' '; daPush(da2, y); y = 'm'; daPush(da2, y); y = 'o'; daPush(da2, y); y = 'm'; daPush(da2, y); y = '?'; daPush(da2, y); y = '?'; daPush(da2, y); *(char *)daGetRef(da2, 6) = '!'; daPopDiscard(da2); heapstr message = daToCStr(da2); printf("%s\n", message); printf("----------\n"); printf("DA3\n"); printf("----------\n"); dynarr(char *) da3 = daCreate(char *, 1).val; const char * someString = "Test"; for (size_t i = 0; i < 100000000; ++i) { daPush(da3, someString); } char * str; daPop(da3, str); printf("%s\n", str); daFree(da3); free(message); daFree(da2); daFree(da); return 0; }