comparison src/llrb/llrbContext.c @ 21:737a900518be

implement insert
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Tue, 28 Apr 2015 14:34:59 +0900
parents 324c44f2076f
children 4c3c0ad4a75d
comparison
equal deleted inserted replaced
20:324c44f2076f 21:737a900518be
1 #include "llrbContext.h" 1 #include "llrbContext.h"
2 extern __code code1(struct Context*); 2 extern __code code1(struct Context*);
3 extern __code code2(struct Context*); 3 extern __code code2(struct Context*);
4 extern __code code3(struct Context*);
4 extern __code meta(struct Context*); 5 extern __code meta(struct Context*);
5 extern __code allocate(struct Context*); 6 extern __code allocate(struct Context*);
6 extern __code put(struct Context*); 7 extern __code put(struct Context*);
7 extern __code insert(struct Context*); 8 extern __code insertDown(struct Context*);
9 extern __code insertUp(struct Context*);
8 extern __code exit_code(struct Context*); 10 extern __code exit_code(struct Context*);
9 11
10 __code initLLRBContext(struct Context* context) { 12 __code initLLRBContext(struct Context* context) {
11 context->codeSize = 3; 13 context->codeSize = 3;
12 context->code[Code1] = code1; 14 context->code[Code1] = code1;
13 context->code[Code2] = code2; 15 context->code[Code2] = code2;
16 context->code[Code3] = code3;
14 context->code[Allocate] = allocate; 17 context->code[Allocate] = allocate;
15 context->code[Put] = put; 18 context->code[Put] = put;
16 context->code[Insert] = insert; 19 context->code[InsertD] = insertDown;
20 context->code[InsertU] = insertUp;
17 context->code[Exit] = exit_code; 21 context->code[Exit] = exit_code;
18 22
19 context->dataSize = 0; 23 context->dataSize = 0;
20 context->data[context->dataSize] = context->heap; 24 context->data[context->dataSize] = context->heap;
21 context->heap += sizeof(struct Allocate); 25 context->heap += sizeof(struct Allocate);