Skip to content

Commit f5f0688

Browse files
make partitioning_N more robust
1 parent c195d63 commit f5f0688

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

include/htool/clustering/implementations/partitioning.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class Partitioning_N : public VirtualPartitioning<CoordinatePrecision> {
7070
// Pick best decomposition for aspect ratio
7171
CoordinatePrecision cost = std::numeric_limits<CoordinatePrecision>::max();
7272
int index = 0;
73-
int result_index;
73+
int result_index = 0;
7474
std::vector<CoordinatePrecision> aspect_ratios(number_of_dimension);
7575
for (auto &integer_decomposition : integer_decompositions) {
7676
std::transform(integer_decomposition.cbegin(), integer_decomposition.cend(), weights.cbegin(), aspect_ratios.begin(), [](const CoordinatePrecision &p, const CoordinatePrecision &a) { return a / p; });
@@ -103,6 +103,7 @@ class Partitioning_N : public VirtualPartitioning<CoordinatePrecision> {
103103
number_of_relevant_directions += 1;
104104
}
105105
}
106+
number_of_relevant_directions = std ::max(1, number_of_relevant_directions);
106107

107108
std::vector<int> number_of_splittings_by_direction = distributed_splittings(number_of_relevant_directions, number_of_partitions, directions_weights);
108109
number_of_relevant_directions = number_of_splittings_by_direction.size();

0 commit comments

Comments
 (0)