private IntList LineMap(int ptr, int end) { // Experimentally derived from multiple source repositories // the average number of bytes/line is 36. Its a rough guess // to initially size our map close to the target. // IntList map = new IntList((end - ptr) / 36); map.FillTo(1, int.MinValue); for (; ptr < end; ptr = NextLF(ptr)) { map.Add(ptr); } map.Add(end); return(map); }