Documentation ¶
Index ¶
- func NewEmptyPartitionedUnordered() sortnet.OutputSet
- func NewEmptyUnordered() sortnet.OutputSet
- func NewPartitionedOrdered(channels int) sortnet.OutputSet
- func NewPartitionedUnordered(channels int) sortnet.OutputSet
- func NewUnordered(channels int) sortnet.OutputSet
- func NewWarhol(channels int) sortnet.OutputSet
- type NewSet
- type PartitionedOrdered
- func (s *PartitionedOrdered) Add(seq sortnet.BinarySequence)
- func (s *PartitionedOrdered) Contains(seq sortnet.BinarySequence) bool
- func (s *PartitionedOrdered) ContainsInPartition(seq sortnet.BinarySequence, pi int) bool
- func (s *PartitionedOrdered) Derive(network sortnet.Network) sortnet.OutputSet
- func (s *PartitionedOrdered) IsSubset(other sortnet.OutputSet, permutation sortnet.PermutationMap) bool
- func (s *PartitionedOrdered) Metadata() *sortnet.SetMetadata
- func (s *PartitionedOrdered) PartitionSize(p int) int
- func (s *PartitionedOrdered) Size() int
- type PartitionedUnordered
- func (s *PartitionedUnordered) Add(seq sortnet.BinarySequence)
- func (s *PartitionedUnordered) Contains(seq sortnet.BinarySequence) bool
- func (s *PartitionedUnordered) ContainsInPartition(seq sortnet.BinarySequence, partition int) bool
- func (s *PartitionedUnordered) Derive(network sortnet.Network) sortnet.OutputSet
- func (s *PartitionedUnordered) IsSubset(other sortnet.OutputSet, permutationMap sortnet.PermutationMap) bool
- func (s *PartitionedUnordered) Metadata() *sortnet.SetMetadata
- func (s *PartitionedUnordered) PartitionSize(p int) int
- func (s *PartitionedUnordered) Size() int
- type Unordered
- func (s *Unordered) Add(seq sortnet.BinarySequence)
- func (s *Unordered) Contains(seq sortnet.BinarySequence) bool
- func (s *Unordered) ContainsInPartition(seq sortnet.BinarySequence, _ int) bool
- func (s *Unordered) Derive(network sortnet.Network) sortnet.OutputSet
- func (s *Unordered) IsSubset(other sortnet.OutputSet, permutationMap sortnet.PermutationMap) bool
- func (s *Unordered) Metadata() *sortnet.SetMetadata
- func (s *Unordered) Size() int
- type Warhol
- func (s *Warhol) Add(seq sortnet.BinarySequence)
- func (s *Warhol) Contains(seq sortnet.BinarySequence) bool
- func (s *Warhol) ContainsInPartition(seq sortnet.BinarySequence, _ int) bool
- func (s *Warhol) Derive(network sortnet.Network) sortnet.OutputSet
- func (s *Warhol) IsSubset(otherA sortnet.OutputSet, permutation sortnet.PermutationMap) bool
- func (s *Warhol) Metadata() *sortnet.SetMetadata
- func (s *Warhol) PartitionSize(p int) int
- func (s *Warhol) Size() int
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewEmptyUnordered ¶
func NewPartitionedOrdered ¶
func NewPartitionedUnordered ¶
func NewUnordered ¶
Types ¶
type PartitionedOrdered ¶
type PartitionedOrdered struct { Partitions []map[sortnet.BinarySequence]struct{} Sequences [][]sortnet.BinarySequence *sortnet.SetMetadata }
func NewEmptyPartitionedOrdered ¶
func NewEmptyPartitionedOrdered() *PartitionedOrdered
func (*PartitionedOrdered) Add ¶
func (s *PartitionedOrdered) Add(seq sortnet.BinarySequence)
func (*PartitionedOrdered) Contains ¶
func (s *PartitionedOrdered) Contains(seq sortnet.BinarySequence) bool
func (*PartitionedOrdered) ContainsInPartition ¶
func (s *PartitionedOrdered) ContainsInPartition(seq sortnet.BinarySequence, pi int) bool
func (*PartitionedOrdered) Derive ¶
func (s *PartitionedOrdered) Derive(network sortnet.Network) sortnet.OutputSet
func (*PartitionedOrdered) IsSubset ¶
func (s *PartitionedOrdered) IsSubset(other sortnet.OutputSet, permutation sortnet.PermutationMap) bool
func (*PartitionedOrdered) Metadata ¶
func (s *PartitionedOrdered) Metadata() *sortnet.SetMetadata
func (*PartitionedOrdered) PartitionSize ¶
func (s *PartitionedOrdered) PartitionSize(p int) int
func (*PartitionedOrdered) Size ¶
func (s *PartitionedOrdered) Size() int
type PartitionedUnordered ¶
type PartitionedUnordered struct { Partitions [][]sortnet.BinarySequence *sortnet.SetMetadata }
func (*PartitionedUnordered) Add ¶
func (s *PartitionedUnordered) Add(seq sortnet.BinarySequence)
func (*PartitionedUnordered) Contains ¶
func (s *PartitionedUnordered) Contains(seq sortnet.BinarySequence) bool
func (*PartitionedUnordered) ContainsInPartition ¶
func (s *PartitionedUnordered) ContainsInPartition(seq sortnet.BinarySequence, partition int) bool
func (*PartitionedUnordered) Derive ¶
func (s *PartitionedUnordered) Derive(network sortnet.Network) sortnet.OutputSet
func (*PartitionedUnordered) IsSubset ¶
func (s *PartitionedUnordered) IsSubset(other sortnet.OutputSet, permutationMap sortnet.PermutationMap) bool
func (*PartitionedUnordered) Metadata ¶
func (s *PartitionedUnordered) Metadata() *sortnet.SetMetadata
func (*PartitionedUnordered) PartitionSize ¶
func (s *PartitionedUnordered) PartitionSize(p int) int
func (*PartitionedUnordered) Size ¶
func (s *PartitionedUnordered) Size() int
type Unordered ¶
type Unordered struct { Sequences []sortnet.BinarySequence *sortnet.SetMetadata }
func (*Unordered) Add ¶
func (s *Unordered) Add(seq sortnet.BinarySequence)
func (*Unordered) ContainsInPartition ¶
func (s *Unordered) ContainsInPartition(seq sortnet.BinarySequence, _ int) bool
func (*Unordered) Metadata ¶
func (s *Unordered) Metadata() *sortnet.SetMetadata
type Warhol ¶
type Warhol struct { Channels []bitmap.Bitmap Mask sortnet.BinarySequence *sortnet.SetMetadata }
Warhol is optimized for applying permutations. Instead of having a list of binary sequences, we have a list per channel which contains a bitmap. Each offset represents a sequence. This means we only need to apply a permutation once, and all binary sequences reflect the new order. This is a optimized subsumption check, all other operations are in return much slower.
Status: failure. After a permutation is applied the sequences are no longer in sorted order, meaning we can't
do a proper subsumption check unless we extract each sequence and then compare...
func NewEmptyWarhol ¶
func (*Warhol) Add ¶
func (s *Warhol) Add(seq sortnet.BinarySequence)
func (*Warhol) ContainsInPartition ¶
func (s *Warhol) ContainsInPartition(seq sortnet.BinarySequence, _ int) bool
func (*Warhol) Metadata ¶
func (s *Warhol) Metadata() *sortnet.SetMetadata
func (*Warhol) PartitionSize ¶
Click to show internal directories.
Click to hide internal directories.