xref: /aosp_15_r20/external/pytorch/aten/src/ATen/core/Range.h (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1 #pragma once
2 
3 #include <cstdint>
4 #include <iosfwd>
5 
6 namespace at {
7 
8 struct Range {
RangeRange9   Range(int64_t begin, int64_t end)
10     : begin(begin)
11     , end(end) {}
12 
sizeRange13   int64_t size() const { return end - begin; }
14 
15   Range operator/(int64_t divisor) {
16     return Range(begin / divisor, end / divisor);
17   }
18 
19   int64_t begin;
20   int64_t end;
21 };
22 
23 std::ostream& operator<<(std::ostream& out, const Range& range);
24 
25 }  // namespace at
26