Skip to content

Commit c3a3c0a

Browse files
committed
.1
1 parent 75e2afc commit c3a3c0a

24 files changed

Lines changed: 1637 additions & 276 deletions

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,4 +343,7 @@ tmp/
343343
words.txt
344344
words_random.txt
345345
shuffle.py
346-
perftest/
346+
perftest/
347+
348+
bench/bench_cstl/3rdparty/
349+
bench/

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ OpenCSTL과 대응하는 C++ STL 코드입니다.
195195
ISORT(isort.h) --> MSORT(msort.h)
196196
TSORT(tsort.h) --> SORT(sort.h)
197197
MSORT(msort.h) --> SORT(sort.h)
198+
PDQSORT(pdqsort.h) --> SORT(sort.h)
198199
C(crossplatform.h) --> SORT(sort.h)
199200
SORT(sort.h) --> OCSTL(opencstl.h)
200201
VER(version.h) --> OCSTL(opencstl.h)

assets/blogo.png

-41 Bytes
Loading

main.c

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#define DECORATE(STR) {int padding = 70 - strlen(STR);int margin=0;if(padding%2==1)margin=1;else margin=0;for (int i = 0; i < padding/2; i++) { putchar('#'); } printf(STR); for (int i = 0; i < padding/2+margin; i++) { putchar('#'); } putchar('\n');}
77

88

9-
void cstl_vector_test() {
9+
void cstl_vector_test(void) {
1010
DECORATE("OPENCSTL{vector} test begin");
1111
VECTOR(int) arr = new_vector(int);
1212

@@ -55,7 +55,7 @@ void cstl_vector_test() {
5555
destroy(arr);
5656
}
5757

58-
void cstl_vector_test2() {
58+
void cstl_vector_test2(void) {
5959
DECORATE("opencstl{vector 2d} test begin");
6060
VECTOR(int*) matrix = new_vector(int*);
6161
const size_t sz = 7;
@@ -83,11 +83,12 @@ void cstl_vector_test2() {
8383
destroy(matrix);
8484
}
8585

86-
void cstl_vector_test3() {
86+
void cstl_vector_test3(void) {
8787
DECORATE("opencstl{vector/qsort} test begin");
8888
VECTOR(int) vec = new_vector(int);
89-
for (int i = 0; i < 100; i++) {
90-
int val = rand32() % 1000;
89+
const size_t N = 1000;
90+
for (int i = 0; i < N; i++) {
91+
int val = rand32() % N;
9192
push_back(vec, val);
9293
}
9394

@@ -102,7 +103,7 @@ void cstl_vector_test3() {
102103
}
103104

104105

105-
void cstl_list_test02() {
106+
void cstl_list_test02(void) {
106107
DECORATE("opencstl{list} test begin");
107108
LIST(int) list = new_list(int);
108109
for (int i = 0; i < 10; i++) {
@@ -129,13 +130,28 @@ void cstl_list_test02() {
129130

130131
resize(list, 20);
131132
printf("list size: %d\n", size(list));
132-
resize(list, 3);
133+
resize(list, 0);
133134
printf("list size: %d\n", size(list));
135+
136+
for (int i = 0; i < 50; i++) {
137+
push_back(list, rand32() % 1000);
138+
}
139+
140+
141+
cstl_list_sort(list, LESS(int));
142+
143+
logging.info("list size: %d", size(list));
144+
for (int *it = begin(list); it != end(list); it = next(it)) {
145+
printf("[%d]->", *it);
146+
}
147+
puts("[NULL]");
148+
149+
134150
destroy(list);
135151
}
136152

137153

138-
void cstl_set_test() {
154+
void cstl_set_test(void) {
139155
DECORATE("OPENCSTL{set} test begin");
140156
SET(float) tree = new_set(float);
141157
for (float i = 0; i < 100; i++) {
@@ -157,7 +173,7 @@ void cstl_set_test() {
157173
destroy(tree);
158174
}
159175

160-
void cstl_map_test() {
176+
void cstl_map_test(void) {
161177
DECORATE("OPENCSTL{map} test begin");
162178
MAP(int) tree = new_map(int, double);
163179
for (int i = 0; i < 10; i++) {
@@ -178,7 +194,7 @@ void cstl_map_test() {
178194
destroy(tree);
179195
}
180196

181-
void cstl_deque_test() {
197+
void cstl_deque_test(void) {
182198
DECORATE("OPENCSTL{deque} test begin");
183199
DEQUE(int) deque = new_deque(int);
184200
for (int i = 0; i < 10; i++) {
@@ -218,7 +234,7 @@ void cstl_deque_test() {
218234
destroy(deque);
219235
}
220236

221-
void cstl_stack_test() {
237+
void cstl_stack_test(void) {
222238
DECORATE("OPENCSTL{stack} test begin");
223239
STACK(int) stack = new_stack(int);
224240
for (int i = 0; i < 10; i++) {
@@ -232,7 +248,7 @@ void cstl_stack_test() {
232248
destroy(stack);
233249
}
234250

235-
void cstl_queue_test() {
251+
void cstl_queue_test(void) {
236252
DECORATE("OPENCSTL{queue} test begin");
237253
QUEUE(int) queue = new_queue(int);
238254
for (int i = 0; i < 100; i++) {
@@ -246,7 +262,7 @@ void cstl_queue_test() {
246262
destroy(queue);
247263
}
248264

249-
void cstl_priority_queue_test() {
265+
void cstl_priority_queue_test(void) {
250266
DECORATE("OPENCSTL{priority_queue} test begin");
251267
QUEUE(int) queue = new_priority_queue(int);
252268
for (int i = 0; i < 10; i++) {
@@ -300,7 +316,7 @@ int *dijkstra(Edge **vec, int beg) {
300316
return d;
301317
}
302318

303-
void cstl_priority_queue_test2() {
319+
void cstl_priority_queue_test2(void) {
304320
DECORATE("OPENCSTL{priority_queue/dijkstra} test begin");
305321
Edge **vec = new_vector(Edge*);
306322
assign(vec, 7);
@@ -328,7 +344,7 @@ void cstl_priority_queue_test2() {
328344
destroy(vec);
329345
}
330346

331-
void cstl_hash_test() {
347+
void cstl_hash_test(void) {
332348
DECORATE("OPENCSTL{unordered_set} test begin");
333349
UNORDERED_SET(int) h = new_unordered_set(int);
334350

@@ -354,7 +370,7 @@ void cstl_hash_test() {
354370
destroy(h);
355371
}
356372

357-
void test01() {
373+
void test01(void) {
358374
cstl_vector_test();
359375
cstl_vector_test2();
360376
cstl_list_test02();
@@ -369,7 +385,7 @@ void test01() {
369385
cstl_hash_test();
370386
}
371387

372-
void test02() {
388+
void test02(void) {
373389
VECTOR(int) v = new_vector(int);
374390

375391
watch t_beg = now();
@@ -387,9 +403,10 @@ void test02() {
387403
}
388404
printf("duration : %f ms\n", ms);
389405
printf("%s\n", opencstl_version());
406+
destroy(v);
390407
}
391408

392-
void test_opencstl_unordered_set() {
409+
void test_opencstl_unordered_set(void) {
393410
srand(21);
394411
UNORDERED_SET(int) v = new_unordered_set(int);
395412
for (int i = 0; i < 50000000; ++i) {
@@ -399,7 +416,7 @@ void test_opencstl_unordered_set() {
399416
destroy(v);
400417
}
401418

402-
void test03() {
419+
void test03(void) {
403420
FILE *fp = fstream.open("../words_random.txt", "r");
404421
VECTOR(char*) words = new_vector(char*);
405422
char *line = NULL;
@@ -418,16 +435,15 @@ void test03() {
418435
destroy(words);
419436
}
420437

421-
void test04() {
438+
void test04(void) {
422439
FILE *fp = fstream.open("../words_random.txt", "r");
423440
char *file = fstream.read(fp);
424441
fstream.close(fp);
425442
printf("%s\n", file);
426443
free(file);
427444
}
428445

429-
int main() {
430-
446+
int main(void) {
431447
// watch t_beg = now();
432448
// test_opencstl_unordered_set();
433449
// watch t_end = now();
@@ -441,13 +457,14 @@ int main() {
441457
test01();
442458
//cstl_priority_queue_test();
443459
test02();
444-
logging.debug("debug message");
445-
logging.info("info message");
446-
logging.warning("warning message");
447-
logging.error("error message");
460+
// logging.debug("debug message");
461+
// logging.info("info message");
462+
// logging.warning("warning message");
463+
// logging.error("error message");
448464
//logging.critical("critical message");
449465
//logging.fatal("fatal message");
450466
logging.message("message");
451467

468+
452469
return 0;
453470
}

0 commit comments

Comments
 (0)