func loadList(ls *persist.LoadSaver) Pattern { le := ls.LoadSmallInt() list := make(List, le) for i := range list { list[i] = Load(ls) } return list }
func loadRBMH(ls *persist.LoadSaver) Pattern { rbmh := &RBMHSequence{} rbmh.Seq = Sequence(ls.LoadBytes()) for i := range rbmh.Shift { rbmh.Shift[i] = ls.LoadSmallInt() } return rbmh }
func loadChoice(ls *persist.LoadSaver) Pattern { l := ls.LoadSmallInt() choices := make(Choice, l) for i := range choices { choices[i] = Load(ls) } return choices }
func loadBMH(ls *persist.LoadSaver) Pattern { bmh := &BMHSequence{} bmh.Seq = Sequence(ls.LoadBytes()) for i := range bmh.Shift { bmh.Shift[i] = ls.LoadSmallInt() } return bmh }
func loadCTests(ls *persist.LoadSaver) map[string]*cTest { ret := make(map[string]*cTest) l := ls.LoadSmallInt() for i := 0; i < l; i++ { ret[ls.LoadString()] = &cTest{ satisfied: ls.LoadInts(), unsatisfied: ls.LoadInts(), bm: bytematcher.Load(ls), } } return ret }
func Load(ls *persist.LoadSaver) core.Identifier { i := &Identifier{} i.infos = make(map[string]formatInfo) le := ls.LoadSmallInt() for j := 0; j < le; j++ { i.infos[ls.LoadString()] = formatInfo{ ls.LoadString(), ls.LoadString(), ls.LoadString(), } } i.Base = identifier.Load(ls) return i }
func Load(ls *persist.LoadSaver) core.Matcher { if !ls.LoadBool() { return nil } le := ls.LoadSmallInt() var ext map[string][]int if le > 0 { ext = make(map[string][]int) for i := 0; i < le; i++ { k := ls.LoadString() r := make([]int, ls.LoadSmallInt()) for j := range r { r[j] = ls.LoadSmallInt() } ext[k] = r } } globs := ls.LoadStrings() globIdx := make([][]int, ls.LoadSmallInt()) for i := range globIdx { globIdx[i] = ls.LoadInts() } return &Matcher{ extensions: ext, globs: globs, globIdx: globIdx, } }
func loadFrameSet(ls *persist.LoadSaver) *frameSet { ret := &frameSet{} le := ls.LoadSmallInt() if le == 0 { _ = ls.LoadInts() return ret } ret.set = make([]frames.Frame, le) for i := range ret.set { ret.set[i] = frames.Load(ls) } ret.testTreeIndex = ls.LoadInts() return ret }
func loadTestNodes(ls *persist.LoadSaver) []*testNode { l := ls.LoadSmallInt() if l == 0 { return nil } ret := make([]*testNode, l) for i := range ret { ret[i] = &testNode{ frames.Load(ls), ls.LoadInts(), loadTestNodes(ls), } } return ret }
func loadTests(ls *persist.LoadSaver) []*testTree { l := ls.LoadSmallInt() ret := make([]*testTree, l) for i := range ret { ret[i] = &testTree{} ret[i].complete = make([]keyFrameID, ls.LoadSmallInt()) for j := range ret[i].complete { ret[i].complete[j][0] = ls.LoadSmallInt() ret[i].complete[j][1] = ls.LoadSmallInt() } ret[i].incomplete = make([]followUp, ls.LoadSmallInt()) for j := range ret[i].incomplete { ret[i].incomplete[j].kf[0] = ls.LoadSmallInt() ret[i].incomplete[j].kf[1] = ls.LoadSmallInt() ret[i].incomplete[j].l = ls.LoadBool() ret[i].incomplete[j].r = ls.LoadBool() } ret[i].maxLeftDistance = ls.LoadInt() ret[i].maxRightDistance = ls.LoadInt() ret[i].left = loadTestNodes(ls) ret[i].right = loadTestNodes(ls) } return ret }
func loadKeyFrames(ls *persist.LoadSaver) [][]keyFrame { kfs := make([][]keyFrame, ls.LoadSmallInt()) for i := range kfs { kfs[i] = make([]keyFrame, ls.LoadSmallInt()) for j := range kfs[i] { kfs[i][j].typ = frames.OffType(ls.LoadByte()) kfs[i][j].seg.pMin = int64(ls.LoadInt()) kfs[i][j].seg.pMax = int64(ls.LoadInt()) kfs[i][j].seg.lMin = ls.LoadSmallInt() kfs[i][j].seg.lMax = ls.LoadSmallInt() kfs[i][j].key.pMin = int64(ls.LoadInt()) kfs[i][j].key.pMax = int64(ls.LoadInt()) kfs[i][j].key.lMin = ls.LoadSmallInt() kfs[i][j].key.lMax = ls.LoadSmallInt() } } return kfs }
func Load(ls *persist.LoadSaver) core.Matcher { le := ls.LoadSmallInt() if le == 0 { return nil } ret := make(Matcher) for i := 0; i < le; i++ { k := [2]string{ls.LoadString(), ls.LoadString()} r := make([]int, ls.LoadSmallInt()) for j := range r { r[j] = ls.LoadSmallInt() } ret[k] = r } return ret }
func Load(ls *persist.LoadSaver) core.Matcher { le := ls.LoadSmallInt() if le == 0 { return nil } riffs := make(map[riff.FourCC][]int) for i := 0; i < le; i++ { k := riff.FourCC(ls.LoadFourCC()) r := make([]int, ls.LoadSmallInt()) for j := range r { r[j] = ls.LoadSmallInt() } riffs[k] = r } return &Matcher{ riffs: riffs, priorities: priority.Load(ls), } }
func Load(ls *persist.LoadSaver) *Set { set := &Set{} set.idx = ls.LoadInts() set.lists = make([]List, ls.LoadSmallInt()) for i := range set.lists { le := ls.LoadSmallInt() if le == 0 { continue } set.lists[i] = make(List, le) for j := range set.lists[i] { set.lists[i][j] = ls.LoadInts() } } set.maxOffsets = make([][2]int, ls.LoadSmallInt()) for i := range set.maxOffsets { set.maxOffsets[i] = [2]int{ls.LoadInt(), ls.LoadInt()} } return set }
func loadSeqSet(ls *persist.LoadSaver) *seqSet { ret := &seqSet{} le := ls.LoadSmallInt() if le == 0 { _ = ls.LoadInts() // discard the empty testtreeindex list too return ret } ret.set = make([]wac.Seq, le) for i := range ret.set { ret.set[i].MaxOffsets = ls.LoadBigInts() ret.set[i].Choices = make([]wac.Choice, ls.LoadSmallInt()) for j := range ret.set[i].Choices { ret.set[i].Choices[j] = make(wac.Choice, ls.LoadSmallInt()) for k := range ret.set[i].Choices[j] { ret.set[i].Choices[j][k] = ls.LoadBytes() } } } ret.testTreeIndex = ls.LoadInts() return ret }
func Load(ls *persist.LoadSaver) core.Matcher { m := Matcher(ls.LoadSmallInt()) return &m }