This is an automated email from the ASF dual-hosted git repository.
placave pushed a commit to branch reverse-order
in repository https://gitbox.apache.org/repos/asf/datasketches-go.git
The following commit(s) were added to refs/heads/reverse-order by this push:
new 06418d2 rename the type utility struct to Ops class
06418d2 is described below
commit 06418d2616f910029c74d2132f3eaa5f668c2396
Author: Pierre Lacave <[email protected]>
AuthorDate: Wed Mar 20 22:57:53 2024 +0100
rename the type utility struct to Ops class
---
...of_doubles_serde.go => array_of_doubles_ops.go} | 18 ++--
...ray_of_longs_serde.go => array_of_longs_ops.go} | 18 ++--
...of_strings_serde.go => array_of_strings_ops.go} | 18 ++--
examples/frequency_example_test.go | 2 +-
examples/kll_example_test.go | 2 +-
frequencies/items_sketch_test.go | 46 +++++-----
frequencies/serde_compat_test.go | 4 +-
frequencies/sketch_serialization_test.go | 18 ++--
kll/items_sketch_test.go | 100 ++++++++++-----------
kll/items_sletch_serialization_test.go | 8 +-
10 files changed, 117 insertions(+), 117 deletions(-)
diff --git a/common/array_of_doubles_serde.go b/common/array_of_doubles_ops.go
similarity index 74%
rename from common/array_of_doubles_serde.go
rename to common/array_of_doubles_ops.go
index 628266e..54dd408 100644
--- a/common/array_of_doubles_serde.go
+++ b/common/array_of_doubles_ops.go
@@ -23,22 +23,22 @@ import (
"math"
)
-type ArrayOfDoublesSerDe struct {
+type ArrayOfDoublesOps struct {
ReverseOrder bool
scratch [8]byte
}
-func (f ArrayOfDoublesSerDe) Identity() float64 {
+func (f ArrayOfDoublesOps) Identity() float64 {
return 0
}
-func (f ArrayOfDoublesSerDe) Hash(item float64) uint64 {
+func (f ArrayOfDoublesOps) Hash(item float64) uint64 {
binary.LittleEndian.PutUint64(f.scratch[:], math.Float64bits(item))
return murmur3.SeedSum64(_DEFAULT_SERDE_HASH_SEED, f.scratch[:])
}
-func (f ArrayOfDoublesSerDe) LessFn() LessFn[float64] {
+func (f ArrayOfDoublesOps) LessFn() LessFn[float64] {
return func(a float64, b float64) bool {
if f.ReverseOrder {
return a > b
@@ -47,21 +47,21 @@ func (f ArrayOfDoublesSerDe) LessFn() LessFn[float64] {
}
}
-func (f ArrayOfDoublesSerDe) SizeOf(item float64) int {
+func (f ArrayOfDoublesOps) SizeOf(item float64) int {
return 8
}
-func (f ArrayOfDoublesSerDe) SizeOfMany(mem []byte, offsetBytes int, numItems
int) (int, error) {
+func (f ArrayOfDoublesOps) SizeOfMany(mem []byte, offsetBytes int, numItems
int) (int, error) {
return numItems * 8, nil
}
-func (f ArrayOfDoublesSerDe) SerializeOneToSlice(item float64) []byte {
+func (f ArrayOfDoublesOps) SerializeOneToSlice(item float64) []byte {
bytes := make([]byte, 8)
binary.LittleEndian.PutUint64(bytes, math.Float64bits(item))
return bytes
}
-func (f ArrayOfDoublesSerDe) SerializeManyToSlice(item []float64) []byte {
+func (f ArrayOfDoublesOps) SerializeManyToSlice(item []float64) []byte {
if len(item) == 0 {
return []byte{}
}
@@ -74,7 +74,7 @@ func (f ArrayOfDoublesSerDe) SerializeManyToSlice(item
[]float64) []byte {
return bytes
}
-func (f ArrayOfDoublesSerDe) DeserializeManyFromSlice(mem []byte, offsetBytes
int, numItems int) ([]float64, error) {
+func (f ArrayOfDoublesOps) DeserializeManyFromSlice(mem []byte, offsetBytes
int, numItems int) ([]float64, error) {
if numItems == 0 {
return []float64{}, nil
}
diff --git a/common/array_of_longs_serde.go b/common/array_of_longs_ops.go
similarity index 75%
rename from common/array_of_longs_serde.go
rename to common/array_of_longs_ops.go
index 7e14b40..e30129e 100644
--- a/common/array_of_longs_serde.go
+++ b/common/array_of_longs_ops.go
@@ -22,22 +22,22 @@ import (
"github.com/twmb/murmur3"
)
-type ArrayOfLongsSerDe struct {
+type ArrayOfLongsOps struct {
ReverseOrder bool
scratch [8]byte
}
-func (f ArrayOfLongsSerDe) Identity() int64 {
+func (f ArrayOfLongsOps) Identity() int64 {
return 0
}
-func (f ArrayOfLongsSerDe) Hash(item int64) uint64 {
+func (f ArrayOfLongsOps) Hash(item int64) uint64 {
binary.LittleEndian.PutUint64(f.scratch[:], uint64(item))
return murmur3.SeedSum64(_DEFAULT_SERDE_HASH_SEED, f.scratch[:])
}
-func (f ArrayOfLongsSerDe) LessFn() LessFn[int64] {
+func (f ArrayOfLongsOps) LessFn() LessFn[int64] {
return func(a int64, b int64) bool {
if f.ReverseOrder {
return a > b
@@ -46,21 +46,21 @@ func (f ArrayOfLongsSerDe) LessFn() LessFn[int64] {
}
}
-func (f ArrayOfLongsSerDe) SizeOf(item int64) int {
+func (f ArrayOfLongsOps) SizeOf(item int64) int {
return 8
}
-func (f ArrayOfLongsSerDe) SizeOfMany(mem []byte, offsetBytes int, numItems
int) (int, error) {
+func (f ArrayOfLongsOps) SizeOfMany(mem []byte, offsetBytes int, numItems int)
(int, error) {
return numItems * 8, nil
}
-func (f ArrayOfLongsSerDe) SerializeOneToSlice(item int64) []byte {
+func (f ArrayOfLongsOps) SerializeOneToSlice(item int64) []byte {
bytes := make([]byte, 8)
binary.LittleEndian.PutUint64(bytes, uint64(item))
return bytes
}
-func (f ArrayOfLongsSerDe) SerializeManyToSlice(item []int64) []byte {
+func (f ArrayOfLongsOps) SerializeManyToSlice(item []int64) []byte {
if len(item) == 0 {
return []byte{}
}
@@ -73,7 +73,7 @@ func (f ArrayOfLongsSerDe) SerializeManyToSlice(item []int64)
[]byte {
return bytes
}
-func (f ArrayOfLongsSerDe) DeserializeManyFromSlice(mem []byte, offsetBytes
int, numItems int) ([]int64, error) {
+func (f ArrayOfLongsOps) DeserializeManyFromSlice(mem []byte, offsetBytes int,
numItems int) ([]int64, error) {
if numItems == 0 {
return []int64{}, nil
}
diff --git a/common/array_of_strings_serde.go b/common/array_of_strings_ops.go
similarity index 83%
rename from common/array_of_strings_serde.go
rename to common/array_of_strings_ops.go
index 20410c8..87ad2af 100644
--- a/common/array_of_strings_serde.go
+++ b/common/array_of_strings_ops.go
@@ -25,20 +25,20 @@ import (
"github.com/twmb/murmur3"
)
-type ArrayOfStringsSerDe struct {
+type ArrayOfStringsOps struct {
ReverseOrder bool
}
-func (f ArrayOfStringsSerDe) Identity() string {
+func (f ArrayOfStringsOps) Identity() string {
return ""
}
-func (f ArrayOfStringsSerDe) Hash(item string) uint64 {
+func (f ArrayOfStringsOps) Hash(item string) uint64 {
datum := unsafe.Slice(unsafe.StringData(item), len(item))
return murmur3.SeedSum64(_DEFAULT_SERDE_HASH_SEED, datum[:])
}
-func (f ArrayOfStringsSerDe) LessFn() LessFn[string] {
+func (f ArrayOfStringsOps) LessFn() LessFn[string] {
return func(a string, b string) bool {
if f.ReverseOrder {
return a > b
@@ -47,14 +47,14 @@ func (f ArrayOfStringsSerDe) LessFn() LessFn[string] {
}
}
-func (f ArrayOfStringsSerDe) SizeOf(item string) int {
+func (f ArrayOfStringsOps) SizeOf(item string) int {
if len(item) == 0 {
return int(unsafe.Sizeof(uint32(0)))
}
return len(item) + int(unsafe.Sizeof(uint32(0)))
}
-func (f ArrayOfStringsSerDe) SizeOfMany(mem []byte, offsetBytes int, numItems
int) (int, error) {
+func (f ArrayOfStringsOps) SizeOfMany(mem []byte, offsetBytes int, numItems
int) (int, error) {
if numItems <= 0 {
return 0, nil
}
@@ -75,7 +75,7 @@ func (f ArrayOfStringsSerDe) SizeOfMany(mem []byte,
offsetBytes int, numItems in
return offset - offsetBytes, nil
}
-func (f ArrayOfStringsSerDe) SerializeOneToSlice(item string) []byte {
+func (f ArrayOfStringsOps) SerializeOneToSlice(item string) []byte {
if len(item) == 0 {
return []byte{}
}
@@ -86,7 +86,7 @@ func (f ArrayOfStringsSerDe) SerializeOneToSlice(item string)
[]byte {
return bytesOut
}
-func (f ArrayOfStringsSerDe) SerializeManyToSlice(item []string) []byte {
+func (f ArrayOfStringsOps) SerializeManyToSlice(item []string) []byte {
if len(item) == 0 {
return []byte{}
}
@@ -109,7 +109,7 @@ func (f ArrayOfStringsSerDe) SerializeManyToSlice(item
[]string) []byte {
return bytesOut
}
-func (f ArrayOfStringsSerDe) DeserializeManyFromSlice(mem []byte, offsetBytes
int, numItems int) ([]string, error) {
+func (f ArrayOfStringsOps) DeserializeManyFromSlice(mem []byte, offsetBytes
int, numItems int) ([]string, error) {
if numItems <= 0 {
return []string{}, nil
}
diff --git a/examples/frequency_example_test.go
b/examples/frequency_example_test.go
index aae3b65..5ea401d 100644
--- a/examples/frequency_example_test.go
+++ b/examples/frequency_example_test.go
@@ -26,7 +26,7 @@ import (
func TestFrequencyItemsSketch(t *testing.T) {
// Create a new sketch with a maximum of 16 items
- sketch, err :=
frequencies.NewFrequencyItemsSketchWithMaxMapSize[string](16,
common.ArrayOfStringsSerDe{})
+ sketch, err :=
frequencies.NewFrequencyItemsSketchWithMaxMapSize[string](16,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
// Update the sketch with some items
diff --git a/examples/kll_example_test.go b/examples/kll_example_test.go
index 80dcb00..2cae93e 100644
--- a/examples/kll_example_test.go
+++ b/examples/kll_example_test.go
@@ -27,7 +27,7 @@ import (
func TestKllItemsSketch(t *testing.T) {
// Create a new KLL sketch
- sketch, err :=
kll.NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch, err :=
kll.NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
// Update the sketch with 1000 items
diff --git a/frequencies/items_sketch_test.go b/frequencies/items_sketch_test.go
index 6eba843..179c22d 100644
--- a/frequencies/items_sketch_test.go
+++ b/frequencies/items_sketch_test.go
@@ -26,7 +26,7 @@ import (
)
func TestEmpty(t *testing.T) {
- h := common.ArrayOfStringsSerDe{}
+ h := common.ArrayOfStringsOps{}
sketch, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE, h)
assert.NoError(t, err)
assert.True(t, sketch.IsEmpty())
@@ -41,7 +41,7 @@ func TestEmpty(t *testing.T) {
}
func TestOneItem(t *testing.T) {
- sketch, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsSerDe{})
+ sketch, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
err = sketch.Update("a")
assert.NoError(t, err)
@@ -57,7 +57,7 @@ func TestOneItem(t *testing.T) {
}
func TestSeveralItem(t *testing.T) {
- sketch, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsSerDe{})
+ sketch, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
err = sketch.Update("a")
assert.NoError(t, err)
@@ -106,7 +106,7 @@ func TestSeveralItem(t *testing.T) {
}
func TestEstimationMode(t *testing.T) {
- sketch, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsSerDe{})
+ sketch, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
err = sketch.UpdateMany(1, 10)
assert.NoError(t, err)
@@ -166,10 +166,10 @@ func TestEstimationMode(t *testing.T) {
}
func TestSerializeStringDeserializeEmpty(t *testing.T) {
- sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
bytes := sketch1.ToSlice()
- sketch2, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsSerDe{})
+ sketch2, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.True(t, sketch2.IsEmpty())
assert.Equal(t, sketch2.GetNumActiveItems(), 0)
@@ -177,7 +177,7 @@ func TestSerializeStringDeserializeEmpty(t *testing.T) {
}
func TestSerializeDeserializeUtf8Strings(t *testing.T) {
- sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
err = sketch1.Update("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
assert.NoError(t, err)
@@ -189,7 +189,7 @@ func TestSerializeDeserializeUtf8Strings(t *testing.T) {
assert.NoError(t, err)
bytes := sketch1.ToSlice()
- sketch2, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsSerDe{})
+ sketch2, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
err = sketch2.Update("bbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
assert.NoError(t, err)
@@ -216,14 +216,14 @@ func TestSerializeDeserializeUtf8Strings(t *testing.T) {
}
func TestSerializeDeserializeLong(t *testing.T) {
- sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsSerDe{})
+ sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsOps{})
sketch1.Update(1)
sketch1.Update(2)
sketch1.Update(3)
sketch1.Update(4)
bytes := sketch1.ToSlice()
- sketch2, err := NewFrequencyItemsSketchFromSlice[int64](bytes,
common.ArrayOfLongsSerDe{})
+ sketch2, err := NewFrequencyItemsSketchFromSlice[int64](bytes,
common.ArrayOfLongsOps{})
sketch2.Update(2)
sketch2.Update(3)
sketch2.Update(2)
@@ -246,7 +246,7 @@ func TestSerializeDeserializeLong(t *testing.T) {
}
func TestResize(t *testing.T) {
- sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](2<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](2<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsOps{})
for i := 0; i < 32; i++ {
err = sketch1.UpdateMany(strconv.Itoa(i), int64(i*i))
assert.NoError(t, err)
@@ -254,7 +254,7 @@ func TestResize(t *testing.T) {
}
func TestMergeExact(t *testing.T) {
- sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
err = sketch1.Update("a")
assert.NoError(t, err)
@@ -265,7 +265,7 @@ func TestMergeExact(t *testing.T) {
err = sketch1.Update("d")
assert.NoError(t, err)
- sketch2, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsSerDe{})
+ sketch2, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
err = sketch2.Update("b")
assert.NoError(t, err)
@@ -294,20 +294,20 @@ func TestMergeExact(t *testing.T) {
}
func TestNullMapReturns(t *testing.T) {
- map1, err := newReversePurgeItemHashMap[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsSerDe{})
+ map1, err := newReversePurgeItemHashMap[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
assert.Nil(t, map1.getActiveKeys())
assert.Nil(t, map1.getActiveValues())
}
func TestMisc(t *testing.T) {
- sk1, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsSerDe{})
+ sk1, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
assert.Equal(t, sk1.GetCurrentMapCapacity(), 6)
est, err := sk1.GetEstimate(1)
assert.NoError(t, err)
assert.Equal(t, est, int64(0))
- sk2, err := NewFrequencyItemsSketchWithMaxMapSize[int64](8,
common.ArrayOfLongsSerDe{})
+ sk2, err := NewFrequencyItemsSketchWithMaxMapSize[int64](8,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
_, err = sk1.Merge(sk2)
assert.NoError(t, err)
@@ -328,14 +328,14 @@ func TestMisc(t *testing.T) {
}
func TestToString(t *testing.T) {
- sk, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsSerDe{})
+ sk, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
err = sk.Update(1)
t.Log(sk.ToString())
}
func TestFrequentItems1(t *testing.T) {
- fis, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsSerDe{})
+ fis, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
fis.Update(1)
rows, err := fis.GetFrequentItems(ErrorTypeEnum.NoFalsePositives)
@@ -352,14 +352,14 @@ func TestFrequentItems1(t *testing.T) {
}
func TestUpdateExceptions(t *testing.T) {
- sk1, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsSerDe{})
+ sk1, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
err = sk1.UpdateMany(1, -1)
assert.Error(t, err)
}
func TestMemExceptions(t *testing.T) {
- sk1, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsSerDe{})
+ sk1, err :=
NewFrequencyItemsSketchWithMaxMapSize[int64](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
sk1.Update(1)
bytes := sk1.ToSlice()
@@ -379,7 +379,7 @@ func TestMemExceptions(t *testing.T) {
}
func TestOneItemUtf8(t *testing.T) {
- sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](1<<_LG_MIN_MAP_SIZE,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
err = sketch1.Update("\u5fb5")
assert.NoError(t, err)
@@ -391,7 +391,7 @@ func TestOneItemUtf8(t *testing.T) {
assert.Equal(t, est, int64(1))
bytes := sketch1.ToSlice()
- sketch2, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsSerDe{})
+ sketch2, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.False(t, sketch2.IsEmpty())
assert.Equal(t, sketch2.GetNumActiveItems(), 1)
@@ -418,7 +418,7 @@ func TestItemGetAprioriError(t *testing.T) {
}
func BenchmarkItemSketch(b *testing.B) {
- sketch, err := NewFrequencyItemsSketch[int64](128, 8,
common.ArrayOfLongsSerDe{})
+ sketch, err := NewFrequencyItemsSketch[int64](128, 8,
common.ArrayOfLongsOps{})
assert.NoError(b, err)
for i := 0; i < b.N; i++ {
sketch.Update(int64(i))
diff --git a/frequencies/serde_compat_test.go b/frequencies/serde_compat_test.go
index f32b635..c420fe8 100644
--- a/frequencies/serde_compat_test.go
+++ b/frequencies/serde_compat_test.go
@@ -24,7 +24,7 @@ import (
)
func TestItemsToLongs(t *testing.T) {
- sketch1, err := NewFrequencyItemsSketchWithMaxMapSize[int64](8,
common.ArrayOfLongsSerDe{})
+ sketch1, err := NewFrequencyItemsSketchWithMaxMapSize[int64](8,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
sketch1.Update(1)
sketch1.Update(2)
@@ -64,7 +64,7 @@ func TestLongToItems(t *testing.T) {
sketch1.Update(4)
bytes := sketch1.ToSlice()
- sketch2, err := NewFrequencyItemsSketchFromSlice[int64](bytes,
common.ArrayOfLongsSerDe{})
+ sketch2, err := NewFrequencyItemsSketchFromSlice[int64](bytes,
common.ArrayOfLongsOps{})
assert.NoError(t, err)
sketch2.Update(2)
sketch2.Update(3)
diff --git a/frequencies/sketch_serialization_test.go
b/frequencies/sketch_serialization_test.go
index 3967670..f4010e4 100644
--- a/frequencies/sketch_serialization_test.go
+++ b/frequencies/sketch_serialization_test.go
@@ -66,7 +66,7 @@ func
TestGenerateGoBinariesForCompatibilityTestingLongsSketch(t *testing.T) {
t.Run("String Frequency", func(t *testing.T) {
nArr := []int{0, 1, 10, 100, 1000, 10000, 100000, 1000000}
for _, n := range nArr {
- sk, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](64, common.ArrayOfStringsSerDe{})
+ sk, err :=
NewFrequencyItemsSketchWithMaxMapSize[string](64, common.ArrayOfStringsOps{})
assert.NoError(t, err)
for i := 1; i <= n; i++ {
err = sk.Update(strconv.Itoa(i))
@@ -94,7 +94,7 @@ func
TestGenerateGoBinariesForCompatibilityTestingLongsSketch(t *testing.T) {
})
t.Run("String ut8", func(t *testing.T) {
- sk, err := NewFrequencyItemsSketchWithMaxMapSize[string](64,
common.ArrayOfStringsSerDe{})
+ sk, err := NewFrequencyItemsSketchWithMaxMapSize[string](64,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.NoError(t, sk.UpdateMany("абвгд", 1))
@@ -116,7 +116,7 @@ func
TestGenerateGoBinariesForCompatibilityTestingLongsSketch(t *testing.T) {
})
t.Run("String ascii", func(t *testing.T) {
- sk, err := NewFrequencyItemsSketchWithMaxMapSize[string](64,
common.ArrayOfStringsSerDe{})
+ sk, err := NewFrequencyItemsSketchWithMaxMapSize[string](64,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.NoError(t,
sk.UpdateMany("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 1))
@@ -166,7 +166,7 @@ func TestJavaCompat(t *testing.T) {
for _, n := range nArr {
bytes, err :=
os.ReadFile(fmt.Sprintf("%s/frequent_string_n%d_java.sk", internal.JavaPath, n))
assert.NoError(t, err)
- sketch, err :=
NewFrequencyItemsSketchFromSlice[string](bytes, common.ArrayOfStringsSerDe{})
+ sketch, err :=
NewFrequencyItemsSketchFromSlice[string](bytes, common.ArrayOfStringsOps{})
if err != nil {
return
}
@@ -188,7 +188,7 @@ func TestJavaCompat(t *testing.T) {
t.Run("String utf8", func(t *testing.T) {
bytes, err :=
os.ReadFile(fmt.Sprintf("%s/frequent_string_utf8_java.sk", internal.JavaPath))
assert.NoError(t, err)
- sketch, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsOps{})
if err != nil {
return
}
@@ -221,7 +221,7 @@ func TestJavaCompat(t *testing.T) {
t.Run("String ascii", func(t *testing.T) {
bytes, err :=
os.ReadFile(fmt.Sprintf("%s/frequent_string_ascii_java.sk", internal.JavaPath))
assert.NoError(t, err)
- sketch, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsOps{})
if err != nil {
return
}
@@ -273,7 +273,7 @@ func TestCppCompat(t *testing.T) {
for _, n := range nArr {
bytes, err :=
os.ReadFile(fmt.Sprintf("%s/frequent_string_n%d_cpp.sk", internal.CppPath, n))
assert.NoError(t, err)
- sketch, err :=
NewFrequencyItemsSketchFromSlice[string](bytes, common.ArrayOfStringsSerDe{})
+ sketch, err :=
NewFrequencyItemsSketchFromSlice[string](bytes, common.ArrayOfStringsOps{})
if err != nil {
return
}
@@ -295,7 +295,7 @@ func TestCppCompat(t *testing.T) {
t.Run("String utf8", func(t *testing.T) {
bytes, err :=
os.ReadFile(fmt.Sprintf("%s/frequent_string_utf8_cpp.sk", internal.CppPath))
assert.NoError(t, err)
- sketch, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsOps{})
if err != nil {
return
}
@@ -328,7 +328,7 @@ func TestCppCompat(t *testing.T) {
t.Run("String ascii", func(t *testing.T) {
bytes, err :=
os.ReadFile(fmt.Sprintf("%s/frequent_string_ascii_cpp.sk", internal.CppPath))
assert.NoError(t, err)
- sketch, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewFrequencyItemsSketchFromSlice[string](bytes,
common.ArrayOfStringsOps{})
if err != nil {
return
}
diff --git a/kll/items_sketch_test.go b/kll/items_sketch_test.go
index f20598b..83d4d8a 100644
--- a/kll/items_sketch_test.go
+++ b/kll/items_sketch_test.go
@@ -35,16 +35,16 @@ const (
)
func TestItemsSketch_KLimits(t *testing.T) {
- _, err := NewKllItemsSketch[string](_MIN_K, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ _, err := NewKllItemsSketch[string](_MIN_K, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
- _, err = NewKllItemsSketch[string](uint16(_MAX_K), _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ _, err = NewKllItemsSketch[string](uint16(_MAX_K), _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
- _, err = NewKllItemsSketch[string](_MIN_K-1, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ _, err = NewKllItemsSketch[string](_MIN_K-1, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.Error(t, err)
}
func TestItemsSketch_Empty(t *testing.T) {
- sketch, err := NewKllItemsSketch[string](200, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](200, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.True(t, sketch.IsEmpty())
assert.False(t, sketch.IsEstimationMode())
@@ -66,7 +66,7 @@ func TestItemsSketch_Empty(t *testing.T) {
}
func TestItemsSketch_BadQuantile(t *testing.T) {
- sketch, err := NewKllItemsSketch[string](200, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](200, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
sketch.Update("") // has to be non-empty to reach the check
_, err = sketch.GetQuantile(-1, true)
@@ -74,7 +74,7 @@ func TestItemsSketch_BadQuantile(t *testing.T) {
}
func TestItemsSketch_OneValue(t *testing.T) {
- sketch, err := NewKllItemsSketch[string](200, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](200, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
sketch.Update("A")
assert.False(t, sketch.IsEmpty())
@@ -104,7 +104,7 @@ func TestItemsSketch_OneValue(t *testing.T) {
func TestItemsSketch_TenValues(t *testing.T) {
tenStr := []string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"}
- sketch, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
strLen := len(tenStr)
dblStrLen := float64(strLen)
@@ -179,7 +179,7 @@ func TestItemsSketch_TenValues(t *testing.T) {
}
func TestItemsSketch_ManyValuesEstimationMode(T *testing.T) {
- sketch, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(T, err)
n := 1_000_000
digits := numDigits(n)
@@ -239,7 +239,7 @@ func TestItemsSketch_ManyValuesEstimationMode(T *testing.T)
{
}
func TestItemsSketch_GetRankGetCdfGetPmfConsistency(t *testing.T) {
- sketch, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 1000
digits := numDigits(n)
@@ -286,9 +286,9 @@ func TestItemsSketch_GetRankGetCdfGetPmfConsistency(t
*testing.T) {
}
func TestItemsSketch_Merge(t *testing.T) {
- sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
- sketch2, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch2, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 10000
digits := numDigits(2 * n)
@@ -329,9 +329,9 @@ func TestItemsSketch_Merge(t *testing.T) {
}
func TestItemsSketch_MergeLowerK(t *testing.T) {
- sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
- sketch2, err := NewKllItemsSketch[string](_DEFAULT_K/2, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch2, err := NewKllItemsSketch[string](_DEFAULT_K/2, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 10000
digits := numDigits(2 * n)
@@ -377,9 +377,9 @@ func TestItemsSketch_MergeLowerK(t *testing.T) {
}
func TestItemsSketch_MergeEmptyLowerK(t *testing.T) {
- sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
- sketch2, err := NewKllItemsSketch[string](_DEFAULT_K/2, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch2, err := NewKllItemsSketch[string](_DEFAULT_K/2, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 10000
digits := numDigits(n)
@@ -438,9 +438,9 @@ func TestItemsSketch_MergeEmptyLowerK(t *testing.T) {
}
func TestItemsSketch_MergeExactModeLowerK(t *testing.T) {
- sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
- sketch2, err := NewKllItemsSketch[string](_DEFAULT_K/2, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch2, err := NewKllItemsSketch[string](_DEFAULT_K/2, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 10000
digits := numDigits(n)
@@ -456,9 +456,9 @@ func TestItemsSketch_MergeExactModeLowerK(t *testing.T) {
}
func TestItemsSketch_MergeMinMinValueFromOther(t *testing.T) {
- sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
- sketch2, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch2, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
sketch1.Update(intToFixedLengthString(1, 1))
sketch2.Update(intToFixedLengthString(2, 1))
@@ -469,9 +469,9 @@ func TestItemsSketch_MergeMinMinValueFromOther(t
*testing.T) {
}
func TestItemsSketch_MergeMinAndMaxFromOther(t *testing.T) {
- sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
- sketch2, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch2, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 1_000_000
digits := numDigits(n)
@@ -488,12 +488,12 @@ func TestItemsSketch_MergeMinAndMaxFromOther(t
*testing.T) {
}
func TestItemsSketch_KTooSmall(t *testing.T) {
- _, err := NewKllItemsSketch[string](_MIN_K-1, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ _, err := NewKllItemsSketch[string](_MIN_K-1, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.Error(t, err)
}
func TestItemsSketch_MinK(t *testing.T) {
- sketch, err := NewKllItemsSketch[string](uint16(8), _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](uint16(8), _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 1000
digits := numDigits(n)
@@ -510,7 +510,7 @@ func TestItemsSketch_MinK(t *testing.T) {
}
func TestItemsSketch_MaxK(t *testing.T) {
- sketch, err := NewKllItemsSketch[string](uint16(_MAX_K), _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](uint16(_MAX_K), _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 1000
digits := numDigits(n)
@@ -527,7 +527,7 @@ func TestItemsSketch_MaxK(t *testing.T) {
}
func TestItemsSketch_OutOfOrderSplitPoints(t *testing.T) {
- sketch, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
s0 := intToFixedLengthString(0, 1)
s1 := intToFixedLengthString(1, 1)
@@ -537,7 +537,7 @@ func TestItemsSketch_OutOfOrderSplitPoints(t *testing.T) {
}
func TestItemsSketch_DuplicateSplitPoints(t *testing.T) {
- sketch, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sketch, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
sketch.Update("A")
sketch.Update("B")
@@ -552,7 +552,7 @@ func TestItemsSketch_DuplicateSplitPoints(t *testing.T) {
}
func TestItemsSketch_CheckReset(t *testing.T) {
- sketch, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 100
digits := numDigits(n)
@@ -579,7 +579,7 @@ func TestItemsSketch_CheckReset(t *testing.T) {
}
func TestItemsSketch_SortedView(t *testing.T) {
- sketch, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
sketch.Update("A")
sketch.Update("AB")
@@ -612,7 +612,7 @@ func TestItemsSketch_CDF_PDF(t *testing.T) {
pmfI := []float64{.25, .25, .25, .25, 0.0}
pmfE := []float64{0.0, .25, .25, .25, .25}
toll := 1e-10
- sketch, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sketch, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
strIn := []string{"A", "AB", "ABC", "ABCD"}
for i := 0; i < len(strIn); i++ {
@@ -649,17 +649,17 @@ func TestItemsSketch_CDF_PDF(t *testing.T) {
}
func TestItemsSketch_DeserializeEmpty(t *testing.T) {
- sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
mem, err := sk1.ToSlice()
assert.NoError(t, err)
assert.NotNil(t, mem)
- memVal, err := newItemsSketchMemoryValidate[string](mem,
common.ArrayOfStringsSerDe{})
+ memVal, err := newItemsSketchMemoryValidate[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.Equal(t, memVal.sketchStructure, _COMPACT_EMPTY)
assert.Equal(t, len(mem), 8)
- sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsSerDe{})
+ sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.Equal(t, sk2.GetN(), uint64(0))
_, err = sk2.GetMinItem()
@@ -669,16 +669,16 @@ func TestItemsSketch_DeserializeEmpty(t *testing.T) {
}
func TestItemsSketch_DeserializeSingleItem(t *testing.T) {
- sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
sk1.Update("A")
mem, err := sk1.ToSlice()
assert.NoError(t, err)
assert.NotNil(t, mem)
- memVal, err := newItemsSketchMemoryValidate[string](mem,
common.ArrayOfStringsSerDe{})
+ memVal, err := newItemsSketchMemoryValidate[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.Equal(t, memVal.sketchStructure, _COMPACT_SINGLE)
- sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsSerDe{})
+ sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.Equal(t, sk2.GetN(), uint64(1))
minV, err := sk2.GetMinItem()
@@ -690,7 +690,7 @@ func TestItemsSketch_DeserializeSingleItem(t *testing.T) {
}
func TestItemsSketch_FewItems(t *testing.T) {
- sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
sk1.Update("A")
sk1.Update("AB")
@@ -698,14 +698,14 @@ func TestItemsSketch_FewItems(t *testing.T) {
mem, err := sk1.ToSlice()
assert.NoError(t, err)
assert.NotNil(t, mem)
- memVal, err := newItemsSketchMemoryValidate[string](mem,
common.ArrayOfStringsSerDe{})
+ memVal, err := newItemsSketchMemoryValidate[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.Equal(t, memVal.sketchStructure, _COMPACT_FULL)
assert.Equal(t, len(mem), memVal.sketchBytes)
}
func TestItemsSketch_ManyItems(t *testing.T) {
- sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 109
digits := numDigits(n)
@@ -715,14 +715,14 @@ func TestItemsSketch_ManyItems(t *testing.T) {
mem, err := sk1.ToSlice()
assert.NoError(t, err)
assert.NotNil(t, mem)
- memVal, err := newItemsSketchMemoryValidate[string](mem,
common.ArrayOfStringsSerDe{})
+ memVal, err := newItemsSketchMemoryValidate[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
assert.Equal(t, memVal.sketchStructure, _COMPACT_FULL)
assert.Equal(t, len(mem), memVal.sketchBytes)
}
func TestItemsSketch_SortedViewAfterReset(t *testing.T) {
- sk, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sk, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
sk.Update("1")
sv, err := sk.GetSortedView()
@@ -736,12 +736,12 @@ func TestItemsSketch_SortedViewAfterReset(t *testing.T) {
}
func TestItemsSketch_SerializeDeserializeEmpty(t *testing.T) {
- sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
mem, err := sk1.ToSlice()
assert.NoError(t, err)
assert.NotNil(t, mem)
- sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsSerDe{})
+ sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
s, err := sk1.GetSerializedSizeBytes()
assert.NoError(t, err)
@@ -765,13 +765,13 @@ func TestItemsSketch_SerializeDeserializeEmpty(t
*testing.T) {
}
func TestItemsSketch_SerializeDeserializeOneValue(t *testing.T) {
- sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsSerDe{})
+ sk1, err := NewKllItemsSketch[string](20, _DEFAULT_M,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
sk1.Update(" 1")
mem, err := sk1.ToSlice()
assert.NoError(t, err)
assert.NotNil(t, mem)
- sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsSerDe{})
+ sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
s1SizeBytes, err := sk1.GetSerializedSizeBytes()
assert.Equal(t, len(mem), s1SizeBytes)
@@ -796,7 +796,7 @@ func TestItemsSketch_SerializeDeserializeOneValue(t
*testing.T) {
}
func TestItemsSketch_SerializeDeserializeMultipleValue(t *testing.T) {
- sk1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sk1, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
assert.NoError(t, err)
n := 1000
for i := 0; i < n; i++ {
@@ -811,7 +811,7 @@ func TestItemsSketch_SerializeDeserializeMultipleValue(t
*testing.T) {
mem, err := sk1.ToSlice()
assert.NoError(t, err)
assert.NotNil(t, mem)
- sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsSerDe{})
+ sk2, err := NewKllItemsSketchFromSlice[string](mem,
common.ArrayOfStringsOps{})
assert.NoError(t, err)
s1, err := sk2.GetSerializedSizeBytes()
assert.NoError(t, err)
@@ -835,7 +835,7 @@ func TestItemsSketch_SerializeDeserializeMultipleValue(t
*testing.T) {
func TestSerializeDeserializeString(t *testing.T) {
nArr := []int{0, 1, 10, 100, 1000, 10000, 100000, 1000000}
- serde := common.ArrayOfStringsSerDe{}
+ serde := common.ArrayOfStringsOps{}
for _, n := range nArr {
digits := numDigits(n)
sk, err := NewKllItemsSketchWithDefault[string](serde)
@@ -889,7 +889,7 @@ func TestSerializeDeserializeString(t *testing.T) {
func TestSerializeDeserializeFloat(t *testing.T) {
nArr := []int{0, 1, 10, 100, 1000, 10000, 100000, 1000000}
- serde := common.ArrayOfDoublesSerDe{}
+ serde := common.ArrayOfDoublesOps{}
for _, n := range nArr {
sk, err := NewKllItemsSketchWithDefault[float64](serde)
assert.NoError(t, err)
@@ -944,11 +944,11 @@ func TestSerializeDeserializeFloat(t *testing.T) {
// The issue is, during a merge, L0 must be sorted prior to a compaction to a
higher level.
// Otherwise the higher levels would not be sorted properly.
func TestL0SortDuringMerge(t *testing.T) {
- sk1, err := NewKllItemsSketch[string](8, _DEFAULT_M,
common.ArrayOfStringsSerDe{
+ sk1, err := NewKllItemsSketch[string](8, _DEFAULT_M,
common.ArrayOfStringsOps{
ReverseOrder: true,
})
assert.NoError(t, err)
- sk2, err := NewKllItemsSketch[string](8, _DEFAULT_M,
common.ArrayOfStringsSerDe{
+ sk2, err := NewKllItemsSketch[string](8, _DEFAULT_M,
common.ArrayOfStringsOps{
ReverseOrder: true,
})
assert.NoError(t, err)
diff --git a/kll/items_sletch_serialization_test.go
b/kll/items_sletch_serialization_test.go
index 83db088..7c61660 100644
--- a/kll/items_sletch_serialization_test.go
+++ b/kll/items_sletch_serialization_test.go
@@ -36,7 +36,7 @@ func TestGenerateGoFiles(t *testing.T) {
nArr := []int{0, 1, 10, 100, 1000, 10000, 100000, 1000000}
for _, n := range nArr {
digits := numDigits(n)
- sk, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsSerDe{})
+ sk, err :=
NewKllItemsSketchWithDefault[string](common.ArrayOfStringsOps{})
sk.deterministicOffsetForTest = true
assert.NoError(t, err)
for i := 1; i <= n; i++ {
@@ -49,7 +49,7 @@ func TestGenerateGoFiles(t *testing.T) {
}
for _, n := range nArr {
- sk, err :=
NewKllItemsSketchWithDefault[float64](common.ArrayOfDoublesSerDe{})
+ sk, err :=
NewKllItemsSketchWithDefault[float64](common.ArrayOfDoublesOps{})
sk.deterministicOffsetForTest = true
assert.NoError(t, err)
for i := 1; i <= n; i++ {
@@ -65,7 +65,7 @@ func TestGenerateGoFiles(t *testing.T) {
func TestJavaCompat(t *testing.T) {
t.Run("Java KLL String", func(t *testing.T) {
nArr := []int{0, 1, 10, 100, 1000, 10000, 100000, 1000000}
- serde := common.ArrayOfStringsSerDe{}
+ serde := common.ArrayOfStringsOps{}
for _, n := range nArr {
digits := numDigits(n)
bytes, err :=
os.ReadFile(fmt.Sprintf("%s/kll_string_n%d_java.sk", internal.JavaPath, n))
@@ -113,7 +113,7 @@ func TestJavaCompat(t *testing.T) {
t.Run("Java KLL Double", func(t *testing.T) {
nArr := []int{0, 1, 10, 100, 1000, 10000, 100000, 1000000}
- serde := common.ArrayOfDoublesSerDe{}
+ serde := common.ArrayOfDoublesOps{}
for _, n := range nArr {
bytes, err :=
os.ReadFile(fmt.Sprintf("%s/kll_double_n%d_java.sk", internal.JavaPath, n))
assert.NoError(t, err)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]