-package main
+// Copyright (C) The Lightning Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+package lightning
import (
"bufio"
if !isbase[int(base)] {
valid = 0
continue
- } else {
- valid++
}
key = ((key << 2) | twobit[int(base)]) & taglib.keymask
+ valid++
+
if valid < taglib.keylen {
continue
} else if taginfo, ok := taglib.tagmap[key]; !ok {
return len(taglib.tagmap)
}
+func (taglib *tagLibrary) TagLen() int {
+ return taglib.keylen
+}
+
var (
twobit = func() []tagmapKey {
r := make([]tagmapKey, 256)
}
return nil
}
+
+func (taglib *tagLibrary) Tags() [][]byte {
+ out := make([][]byte, len(taglib.tagmap))
+ untwobit := []byte{'a', 'c', 'g', 't'}
+ for key, info := range taglib.tagmap {
+ seq := make([]byte, taglib.keylen)
+ for i := len(seq) - 1; i >= 0; i-- {
+ seq[i] = untwobit[int(key)&3]
+ key = key >> 2
+ }
+ out[int(info.id)] = seq
+ }
+ return out
+}