(da *DoubleArray, seqs [][]string)
| 38 | } |
| 39 | |
| 40 | func registerTokens(da *DoubleArray, seqs [][]string) [][]int { |
| 41 | var result [][]int |
| 42 | for _, seq := range seqs { |
| 43 | encoded := make([]int, 0, len(seq)) |
| 44 | for _, token := range seq { |
| 45 | if _, ok := da.Encoding[token]; !ok { |
| 46 | da.Encoding[token] = len(da.Encoding) |
| 47 | } |
| 48 | encoded = append(encoded, da.Encoding[token]) |
| 49 | } |
| 50 | result = append(result, encoded) |
| 51 | } |
| 52 | for i := range result { |
| 53 | result[i] = append(result[i], len(da.Encoding)) |
| 54 | } |
| 55 | return result |
| 56 | } |
| 57 | |
| 58 | type node struct { |
| 59 | row, col int |