ad8a65072bc3549730929b0230f656855d53b3f7
[satune.git] / src / Encoders / naiveencoder.c
1 #include "naiveencoder.h"
2 #include "elementencoding.h"
3 #include "element.h"
4 #include "functionencoding.h"
5 #include "function.h"
6 #include "set.h"
7 #include "common.h"
8 #include "structs.h"
9 #include <strings.h>
10
11 void baseBinaryIndexElementAssign(ElementEncoding *This) {
12         Element * element=This->element;
13         ASSERT(element->type == ELEMSET);
14         Set * set= ((ElementSet*)element)->set;
15         ASSERT(set->isRange==false);
16         uint size=getSizeVectorInt(set->members);
17         uint encSize=NEXTPOW2(size);
18         allocEncodingArrayElement(This, encSize);
19         allocInUseArrayElement(This, encSize);
20
21         for(uint i=0;i<size;i++) {
22                 This->encodingArray[i]=getVectorInt(set->members, i);
23                 setInUseElement(This, i);
24         }
25 }