Mercurial > hg > GearsTemplate
annotate src/parallel_execution/verifier/verify_put_cs.c @ 382:f1d111e293c4
Enable Timer for bitonicSort
author | Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 Jul 2017 20:05:08 +0900 |
parents | e6bc0a4c2c36 |
children |
rev | line source |
---|---|
99
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 /* Verification of LLRB-Tree height in put operations. |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 * LLRB-Tree allows (max-height) <= 2*(min-height). |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 */ |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 #include <stdlib.h> |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 #include <stdio.h> |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 #include <time.h> |
100
3d7ecced7e14
Split functions which gets tree height
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
99
diff
changeset
|
8 #include "llrbContextWithVerifier.h" |
99
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 __code meta(struct Context* context, enum Code next) { |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 if (next == Put) { |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 verify_tree_height(context->data[Tree]->tree.root); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 } |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 goto (context->code[next])(context); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 } |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 __code start_code(struct Context* context, enum Code next) { |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 unsigned int seed = (unsigned int)time(NULL); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 printf("--- srand(%u)\n", seed); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 goto meta(context, next); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 } |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 __code exit_code(struct Context* context) { |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 free(context->code); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 free(context->data); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 free(context->heapStart); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 goto exit(0); |
ca55f4be5f0f
Create verifier directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 } |