private int addName(String name, int q1, int q2, int q3) { final int index = _count; int offset = _findOffsetForAdd(calcHash(q1, q2, q3)); _hashArea[offset] = q1; _hashArea[offset+1] = q2; _hashArea[offset+2] = q3; _hashArea[offset+3] = _lengthAndIndex(3); // increases _count return index; }
private int addName(String name, int q1) { final int index = _count; int offset = _findOffsetForAdd(calcHash(q1)); _hashArea[offset] = q1; _hashArea[offset+3] = _lengthAndIndex(1); // increases _count return index; }
private int addName(String name, int q1, int q2) { final int index = _count; int offset = _findOffsetForAdd(calcHash(q1, q2)); _hashArea[offset] = q1; _hashArea[offset+1] = q2; _hashArea[offset+3] = _lengthAndIndex(2); // increases _count return index; }
private int addName(String name, int[] q, int qlen) { switch (qlen) { case 1: return addName(name, q[0]); case 2: return addName(name, q[0], q[1]); case 3: return addName(name, q[0], q[1], q[2]); } final int index = _count; final int hash = calcHash(q, qlen); int offset = _findOffsetForAdd(hash); _hashArea[offset] = hash; int longStart = _appendLongName(q, qlen); _hashArea[offset+1] = longStart; _hashArea[offset+3] = _lengthAndIndex(qlen); // increases _count return index; }