uint middle=(low+high)/2;
uint64_t val=members->get(middle);
if (element < val) {
- high=middle;
- if (middle==low)
+ high=middle-1;
+ if (middle<=low)
return false;
} else if (element > val) {
- low=middle;
- if (middle==high)
+ low=middle+1;
+ if (middle>=high)
return false;
} else {
return true;
ElementEncoding *encoding=e->getElementEncoding();
if (encoding->getElementEncodingType() == ELEM_UNASSIGNED) {
EncodingNode *n = getNode(e);
- ASSERT(n != NULL);
+ if (n == NULL)
+ continue;
ElementEncodingType encodetype=n->getEncoding();
encoding->setElementEncodingType(encodetype);
if (encodetype == UNARY || encodetype == ONEHOT) {
encoding->encodingArrayInitialization();
} else if (encodetype == BINARYINDEX) {
EncodingSubGraph * subgraph = graphMap.get(n);
+ if (subgraph == NULL)
+ continue;
uint encodingSize = subgraph->getEncodingSize(n);
uint paddedSize = encoding->getSizeEncodingArray(encodingSize);
encoding->allocInUseArrayElement(paddedSize);