1
1
#include < torch/csrc/lazy/core/helpers.h>
2
+ #include < algorithm>
2
3
3
4
#include < c10/util/Half.h>
4
5
#include < c10/util/irange.h>
@@ -10,6 +11,7 @@ std::vector<int64_t> DropDimensions(
10
11
c10::ArrayRef<int64_t > sizes,
11
12
c10::ArrayRef<int64_t > drop_dims) {
12
13
std::vector<int64_t > new_dims;
14
+ new_dims.reserve (sizes.size () - drop_dims.size ());
13
15
size_t drop_index = 0 ;
14
16
for (const auto i : c10::irange (sizes.size ())) {
15
17
if (drop_index < drop_dims.size () &&
@@ -45,6 +47,7 @@ std::vector<int64_t> GetCanonicalDimensionIndices(
45
47
c10::ArrayRef<int64_t > dimensions,
46
48
int64_t rank) {
47
49
std::vector<int64_t > canonical_dim_indices;
50
+ canonical_dim_indices.reserve (dimensions.size ());
48
51
for (int64_t dim : dimensions) {
49
52
canonical_dim_indices.push_back (GetCanonicalDimensionIndex (dim, rank));
50
53
}
@@ -131,8 +134,7 @@ std::vector<std::string> StrSplit(std::string_view text, char delim) {
131
134
std::vector<std::string> tokens;
132
135
while ((start = text.find_first_not_of (delim, end)) != std::string::npos) {
133
136
end = text.find (delim, start);
134
- auto token = text.substr (start, end - start);
135
- tokens.emplace_back (token.begin (), token.end ());
137
+ tokens.emplace_back (text.substr (start, end - start));
136
138
}
137
139
return tokens;
138
140
}
0 commit comments