aboutsummaryrefslogtreecommitdiff
path: root/src/index/suffixarray/suffixarray.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/index/suffixarray/suffixarray.go')
-rw-r--r--src/index/suffixarray/suffixarray.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/index/suffixarray/suffixarray.go b/src/index/suffixarray/suffixarray.go
index 339643db4d..9c169e7aca 100644
--- a/src/index/suffixarray/suffixarray.go
+++ b/src/index/suffixarray/suffixarray.go
@@ -72,13 +72,15 @@ func (a *ints) slice(i, j int) ints {
}
// New creates a new Index for data.
-// Index creation time is O(N*log(N)) for N = len(data).
+// Index creation time is O(N) for N = len(data).
func New(data []byte) *Index {
ix := &Index{data: data}
if len(data) <= maxData32 {
- ix.sa.int32 = qsufsort32(data)
+ ix.sa.int32 = make([]int32, len(data))
+ text_32(data, ix.sa.int32)
} else {
- ix.sa.int64 = qsufsort64(data)
+ ix.sa.int64 = make([]int64, len(data))
+ text_64(data, ix.sa.int64)
}
return ix
}