MCPcopy Create free account
hub / github.com/Oneflow-Inc/oneflow / Intersect

Method Intersect

oneflow/core/register/tensor_slice_view.cpp:75–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73}
74
75TensorSliceView TensorSliceView::Intersect(const TensorSliceView& other) const {
76 if (IsEmpty() || other.IsEmpty()) { return TensorSliceView(); }
77 CHECK_EQ(other.range_vec_.size(), range_vec_.size());
78 std::vector<Range> intersection_vec;
79 intersection_vec.reserve(range_vec_.size());
80 const Range zero(0, 0);
81 FOR_RANGE(int64_t, i, 0, range_vec_.size()) {
82 const Range intersection = FindIntersectant(range_vec_.at(i), other.range_vec_.at(i));
83 if (intersection == zero) {
84 return TensorSliceView();
85 } else {
86 intersection_vec.emplace_back(intersection);
87 }
88 }
89 return TensorSliceView(intersection_vec);
90}
91
92const Range& TensorSliceView::At(int64_t index) const { return range_vec_.at(index); }
93

Callers 11

InitMethod · 0.80
InitMethod · 0.80
InitMethod · 0.80
InitMethod · 0.80
InitMethod · 0.80
InitMethod · 0.80
TensorSliceCopierMethod · 0.80
SymmetricB2SFunction · 0.80
BuildMethod · 0.80

Calls 3

TensorSliceViewClass · 0.85
IsEmptyMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected