/**
* Init text collection
*
- * See CSA.h for more details.
*/
-TextCollectionBuilder::TextCollectionBuilder(unsigned samplerate)
+TextCollectionBuilder::TextCollectionBuilder(unsigned samplerate, ulong estimatedInputLength)
: p_(new struct TCBuilderRep())
{
p_->n = 0;
p_->numberOfTexts = 0;
p_->numberOfSamples = 0;
- // Current params: 8 bytes, 15 MB, no samples
- p_->sa = new CSA::RLCSABuilder(8, 0, 15 * 1024 * 1024);
+ // Current params: 8 bytes, no samples, buffer size n/10 bytes.
+ p_->sa = new CSA::RLCSABuilder(8, 0, estimatedInputLength/10);
assert(p_->sa->isOk());
#ifdef TCB_TEST_BWT
// Default samplerate for suffix array samples
#define TEXTCOLLECTION_DEFAULT_SAMPLERATE 64
+// Default input length, used to calculate the buffer size.
+#define TEXTCOLLECTION_DEFAULT_INPUT_LENGTH (150 * 1024 * 1024)
namespace SXSI
class TextCollectionBuilder
{
public:
- explicit TextCollectionBuilder(unsigned samplerate = TEXTCOLLECTION_DEFAULT_SAMPLERATE);
+ explicit TextCollectionBuilder(unsigned samplerate = TEXTCOLLECTION_DEFAULT_SAMPLERATE,
+ ulong estimatedInputLength = TEXTCOLLECTION_DEFAULT_INPUT_LENGTH);
~TextCollectionBuilder();
/**