Range.cs 390 B

12345678910111213141516
  1. namespace Day5;
  2. public record Range(long SrcIndex, long DstIndex, long Length)
  3. {
  4. public static Range Identity { get; } = new Range(0, 0, long.MaxValue);
  5. public bool IsMatch(long value)
  6. {
  7. return SrcIndex <= value && value < SrcIndex + Length;
  8. }
  9. public long Transform(long value)
  10. {
  11. return DstIndex + (value - SrcIndex);
  12. }
  13. }