161 lines
3.1 KiB
C
161 lines
3.1 KiB
C
#include <errno.h>
|
|
#include <stdio.h>
|
|
|
|
#define DA_IMPLEMENTATION
|
|
#include "da.h"
|
|
|
|
#if 1
|
|
#include <stdio.h>
|
|
|
|
int main(void)
|
|
{
|
|
dynarr(int) da = daCreate(int, 8);
|
|
dynarr(char *) da2 = daCreate(char *, 8);
|
|
dynarr(float) da3 = daCreate(float, 1);
|
|
if (!da) goto cleanup;
|
|
if (!da2) goto cleanup;
|
|
if (!da3) goto cleanup;
|
|
|
|
printf("%zu %zu %zu\n", daSize(da), daCap(da), daType(da));
|
|
printf("errno: %d\n", errno);
|
|
daAppend(da, 69);
|
|
printf("errno: %d\n", errno);
|
|
printf("%d\n", da[0]);
|
|
printf("%zu %zu %zu\n", daSize(da), daCap(da), daType(da));
|
|
|
|
da = daResize(da);
|
|
if (!da) goto cleanup;
|
|
printf("%zu %zu %zu\n", daSize(da), daCap(da), daType(da));
|
|
|
|
printf("DA2 -----\n");
|
|
|
|
daAppend(da2, "Hello, ");
|
|
daAppend(da2, "World!");
|
|
|
|
#define N 100000
|
|
for (size_t i = 0; i < N; ++i)
|
|
{
|
|
daAppend(da2, "AAA");
|
|
if (errno == 1) goto cleanup;
|
|
}
|
|
|
|
printf("%s%s\n", da2[0], da2[1]);
|
|
printf("%zu %zu %zu\n", daSize(da2), daCap(da2), daType(da2));
|
|
|
|
printf("DA3 -----\n");
|
|
|
|
daAppend(da3, 69.69);
|
|
daAppend(da3, 420.420);
|
|
printf("%.2f:%.3f\n", da3[0], da3[1]);
|
|
|
|
cleanup:
|
|
daFree(da3);
|
|
daFree(da2);
|
|
daFree(da);
|
|
|
|
return 0;
|
|
}
|
|
#else
|
|
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");
|
|
|
|
dynarr(unsigned short) da = daCreate(unsigned short, 1);
|
|
|
|
daPush(da, 69);
|
|
daPush(da, 420);
|
|
daPush(da, 1337);
|
|
daPush(da, 34);
|
|
daPush(da, 35);
|
|
daPush(da, 1667);
|
|
|
|
unsigned short x = 0;
|
|
|
|
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);
|
|
|
|
//daPush(da2, 'H');
|
|
//daPush(da2, 'i');
|
|
//daPush(da2, ' ');
|
|
//daPush(da2, 'm');
|
|
//daPush(da2, 'o');
|
|
//daPush(da2, 'm');
|
|
//daPush(da2, '?');
|
|
//daPush(da2, '?');
|
|
|
|
//*(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);
|
|
|
|
//for (size_t i = 0; i < 1000000; ++i) {
|
|
// daPush(da3, "Test");
|
|
//}
|
|
|
|
//char * str;
|
|
//daPop(da3, str);
|
|
//printf("%s\n", str);
|
|
|
|
//printf("----------\n");
|
|
//printf("DA4\n");
|
|
//printf("----------\n");
|
|
|
|
//dynarr(double) da4 = daCreate(double, 1);
|
|
|
|
//daPush(da4, 69.692343);
|
|
//printf("float: %F\n", da4[0]);
|
|
|
|
//printf("----------\n");
|
|
//printf("DA5\n");
|
|
//printf("----------\n");
|
|
|
|
//dynarr(char *) da5 = daCreate(char *, 1);
|
|
|
|
//daPush(da5, "Hello, ");
|
|
//daPush(da5, "World!");
|
|
|
|
//DLog("%s%s\n", da5[0], da5[1]);
|
|
|
|
cleanup:
|
|
//daFree(da5);
|
|
//daFree(da4);
|
|
//daFree(da3);
|
|
//free(message);
|
|
//daFree(da2);
|
|
daFree(da);
|
|
|
|
return 0;
|
|
}
|
|
#endif
|