Skip to content

Commit dac185f

Browse files
committed
simplify algorithm
1 parent 9519493 commit dac185f

1 file changed

Lines changed: 6 additions & 14 deletions

File tree

Framework/Core/include/Framework/Kernels.h

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,28 +68,20 @@ auto sliceByColumn(
6868
auto v = values.Value(0);
6969
auto vprev = v;
7070
auto vnext = v;
71+
auto nzeros = 0;
7172
for (auto i = 0; i < size - 1; ++i) {
73+
nzeros = 0;
7274
vprev = v;
7375
v = values.Value(i);
7476
count = counts.Value(i);
7577
if (v < 0) {
7678
vnext = values.Value(i + 1);
77-
while (vnext - vprev > 1) {
78-
makeSlice(offset, 0);
79-
++vprev;
80-
}
81-
makeSlice(offset, count);
82-
offset += count;
83-
continue;
79+
nzeros = vnext - vprev - 1;
80+
} else if (vprev >= 0 && (v - vprev) != 1) {
81+
nzeros = v - vprev - 1;
8482
}
85-
if (vprev < 0 || (v - vprev) == 1) {
86-
makeSlice(offset, count);
87-
offset += count;
88-
continue;
89-
}
90-
while (v - vprev > 1) {
83+
for (auto z = 0; z < nzeros; ++z) {
9184
makeSlice(offset, 0);
92-
++vprev;
9385
}
9486
makeSlice(offset, count);
9587
offset += count;

0 commit comments

Comments
 (0)