hyperloglog

package
v2.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2022 License: MIT, MIT Imports: 7 Imported by: 2

README

This is a copy of github.com/axiomhq/hyperloglog.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrorTooShort = errors.New("too short binary")

ErrorTooShort is an error that UnmarshalBinary try to parse too short binary.

Functions

This section is empty.

Types

type Sketch

type Sketch struct {
	// contains filtered or unexported fields
}

Sketch is a HyperLogLog data-structure for the count-distinct problem, approximating the number of distinct elements in a multiset.

func New

func New() *Sketch

New returns a HyperLogLog Sketch with 2^14 registers (precision 14)

func New14

func New14() *Sketch

New14 returns a HyperLogLog Sketch with 2^14 registers (precision 14)

func New16

func New16() *Sketch

New16 returns a HyperLogLog Sketch with 2^16 registers (precision 16)

func New16NoSparse

func New16NoSparse() *Sketch

New16NoSparse returns a HyperLogLog Sketch with 2^16 registers (precision 16) that will not use a sparse representation

func NewNoSparse

func NewNoSparse() *Sketch

NewNoSparse returns a HyperLogLog Sketch with 2^14 registers (precision 14) that will not use a sparse representation

func (*Sketch) Clone

func (sk *Sketch) Clone() *Sketch

Clone returns a deep copy of sk.

func (*Sketch) Estimate

func (sk *Sketch) Estimate() uint64

Estimate returns the cardinality of the Sketch

func (*Sketch) Insert

func (sk *Sketch) Insert(e []byte) bool

Insert adds element e to sketch

func (*Sketch) InsertHash

func (sk *Sketch) InsertHash(x uint64) bool

InsertHash adds hash x to sketch

func (*Sketch) MarshalBinary

func (sk *Sketch) MarshalBinary() (data []byte, err error)

MarshalBinary implements the encoding.BinaryMarshaler interface.

func (*Sketch) Merge

func (sk *Sketch) Merge(other *Sketch) error

Merge takes another Sketch and combines it with Sketch h. If Sketch h is using the sparse Sketch, it will be converted to the normal Sketch.

func (*Sketch) UnmarshalBinary

func (sk *Sketch) UnmarshalBinary(data []byte) error

UnmarshalBinary implements the encoding.BinaryUnmarshaler interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL