コード例 #1
0
ファイル: Search.java プロジェクト: srnsw/xena
  private ConceptGroupGenerator makeGenerator(int group) throws Exception {
    int shift, index;

    if (group > 0) {
      index = _base + _offsets.at(group - 1);
      shift = _maxConcepts.at(group - 1);
    } else {
      index = _base;
      shift = 0;
    }

    // initialize generator
    ConceptGroupGenerator gen = new ConceptGroupGenerator(_data, index, _kTable.at(2 * group + 1));
    // decode concept table
    _nConcepts = gen.decodeConcepts(_kTable.at(2 * group), shift, _concepts);
    if (group < _limit) _max = _concepts[_nConcepts] = _maxConcepts.at(group);
    else _max = _concepts[_nConcepts - 1];
    _genHeap.addGenerator(gen);
    _startingIndex = 0; // in _concepts; lower search index
    return gen;
  }