Skip to content

Commit 1eabf7f

Browse files
author
Koch
committed
fix: also use std::vector for dynamically sized array in segment.cpp
1 parent 07b3b17 commit 1eabf7f

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

cpu/segment.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
#include "compat.h"
44
#include "index_info.h"
55

6+
#include <vector>
7+
68
#define CHECK_CPU(x) AT_ASSERTM(!x.type().is_cuda(), #x " must be CPU tensor")
79

810
enum ReductionType { ADD, MEAN, MIN, MAX };
@@ -123,8 +125,9 @@ segment_csr(at::Tensor src, at::Tensor indptr, at::optional<at::Tensor> out_opt,
123125
auto src_data = src.DATA_PTR<scalar_t>();
124126
auto out_data = out.DATA_PTR<scalar_t>();
125127

126-
scalar_t vals[K];
127-
int64_t row_start, row_end, args[K];
128+
std::vector<scalar_t> vals(K);
129+
int64_t row_start, row_end;
130+
std::vector<int64_t> args(K);
128131
AT_DISPATCH_REDUCTION_TYPES(reduce, [&] {
129132
for (int n = 0; n < N; n++) {
130133
int offset = IndexPtrToOffset<int64_t>::get(n, indptr_info);
@@ -195,8 +198,9 @@ segment_coo(at::Tensor src, at::Tensor index, at::Tensor out,
195198
auto src_data = src.DATA_PTR<scalar_t>();
196199
auto out_data = out.DATA_PTR<scalar_t>();
197200

198-
scalar_t vals[K];
199-
int64_t idx, next_idx, row_start, args[K];
201+
std::vector<scalar_t> vals(K);
202+
int64_t idx, next_idx, row_start;
203+
std::vector<int64_t> args(K);
200204
AT_DISPATCH_REDUCTION_TYPES(reduce, [&] {
201205
for (int e_1 = 0; e_1 < E_1; e_1++) {
202206
int offset = IndexToOffset<int64_t>::get(e_1 * E_2, index_info);

0 commit comments

Comments
 (0)