LZ index support
[SXSI/TextCollection.git] / TextCollectionBuilder.cpp
index 1d49f39..467bf94 100644 (file)
@@ -43,6 +43,9 @@ TextCollectionBuilder::TextCollectionBuilder(unsigned samplerate, ulong estimate
     p_->numberOfSamples = 0;
     
     // Current params: 8 bytes, no samples, buffer size n/10 bytes.
+    // Buffer size is always at least 15MB:
+    if (estimatedInputLength < TEXTCOLLECTION_DEFAULT_INPUT_LENGTH)
+        estimatedInputLength = TEXTCOLLECTION_DEFAULT_INPUT_LENGTH;
     p_->sa = new CSA::RLCSABuilder(8, 0, estimatedInputLength/10);
     assert(p_->sa->isOk());
 
@@ -92,7 +95,7 @@ void TextCollectionBuilder::InsertText(uchar const * text)
 }
 
 
-TextCollection * TextCollectionBuilder::InitTextCollection()
+TextCollection * TextCollectionBuilder::InitTextCollection(char type)
 {
     uchar * bwt = 0;
     CSA::usint length = 0;
@@ -148,7 +151,7 @@ TextCollection * TextCollectionBuilder::InitTextCollection()
     }
 
     TextCollection *result = new TCImplementation(bwt, (ulong)length, 
-                      p_->samplerate, p_->numberOfTexts, p_->maxTextLength, p_->numberOfSamples);
+                   p_->samplerate, p_->numberOfTexts, p_->maxTextLength, p_->numberOfSamples, type);
     return result;
 }