private void UpdateRange(AbstractFragment range, AbstractPatch patch) { var start = Math.Max(patch.StartPosition, range.StartPosition); var end = Math.Min(patch.EndPosition, range.EndPosition); for (var position = start; position <= end; position++) { range.SetValue(position, this.updateFunc(patch, position)); } }
private double[] GetForwardArray(AbstractFragment fragment) { /* |-------------------------------|+++++++++| * extension fragment */ var expandSize = this.predictor.InputDataSize; var totalSize = expandSize + fragment.Length; var samples = this.inputSource.GetRange( fragment.StartPosition - expandSize, totalSize); for (var index = expandSize; index < samples.Length; index++) { samples[index] = this.predictor.GetForward( samples[(index - expandSize)..index]);