Esempio n. 1
0
        public MatchMatrix(IReadOnlyList <string> pattern, IReadOnlyList <string> search, int maxOffset = DefaultMaxOffset)
        {
            this.pattern   = pattern;
            this.search    = search;
            this.maxOffset = maxOffset;

            matches = new StraightMatch[maxOffset + 1];
            for (int i = 0; i <= maxOffset; i++)
            {
                matches[i] = new StraightMatch(pattern.Count);
            }
        }
Esempio n. 2
0
        public MatchMatrix(IReadOnlyList <string> pattern, IReadOnlyList <string> search, int maxOffset = DefaultMaxOffset, LineRange range = default)
        {
            if (range == default)
            {
                range = new LineRange {
                    length = search.Count
                }
            }
            ;

            patternLength  = pattern.Count;
            this.range     = range;
            this.maxOffset = maxOffset;
            WorkingRange   = new LineRange {
                first = range.start - maxOffset, last = range.end - patternLength
            };

            matches = new StraightMatch[maxOffset + 1];
            for (int i = 0; i <= maxOffset; i++)
            {
                matches[i] = new StraightMatch(pattern, search, range);
            }
        }