diff --git a/ortools/algorithms/adjustable_k_ary_heap_test.cc b/ortools/algorithms/adjustable_k_ary_heap_test.cc index e9e861f2cc..996a7b65d8 100644 --- a/ortools/algorithms/adjustable_k_ary_heap_test.cc +++ b/ortools/algorithms/adjustable_k_ary_heap_test.cc @@ -74,7 +74,7 @@ TEST(AdjustableKAryHeapTest, UpdateStrongCheck) { std::random_device rd; std::mt19937 generator(rd()); // Mersenne Twister generator std::uniform_real_distribution priority_dist(0, priority_range); - std::uniform_int_distribution index_dist(0, kSize); + std::uniform_int_distribution index_dist(0, kSize - 1); std::vector> subsets_and_values(kSize); for (int i = 0; i < kSize; ++i) { subsets_and_values[i] = {priority_dist(generator), i}; @@ -94,7 +94,7 @@ TEST(AdjustableKAryHeapTest, RemoveStrongCheck) { std::random_device rd; std::mt19937 generator(rd()); // Mersenne Twister generator std::uniform_real_distribution priority_dist(0, priority_range); - std::uniform_int_distribution index_dist(0, kSize); + std::uniform_int_distribution index_dist(0, kSize - 1); std::vector> subsets_and_values(kSize); for (int i = 0; i < kSize; ++i) { subsets_and_values[i] = {priority_dist(generator), i}; @@ -114,7 +114,7 @@ TEST(AdjustableKAryHeapTest, OneByOneStrongCheck) { std::random_device rd; std::mt19937 generator(rd()); // Mersenne Twister generator std::uniform_real_distribution priority_dist(0, priority_range); - std::uniform_int_distribution index_dist(0, kSize); + std::uniform_int_distribution index_dist(0, kSize - 1); std::vector> subsets_and_values; AdjustableKAryHeap heap; EXPECT_TRUE(heap.CheckHeapProperty()); @@ -131,7 +131,7 @@ TEST(AdjustableKAryHeapTest, OneByOneStrongSpeed) { std::random_device rd; std::mt19937 generator(rd()); // Mersenne Twister generator std::uniform_real_distribution priority_dist(0, priority_range); - std::uniform_int_distribution index_dist(0, kSize); + std::uniform_int_distribution index_dist(0, kSize - 1); std::vector> subsets_and_values; AdjustableKAryHeap heap; EXPECT_TRUE(heap.CheckHeapProperty()); diff --git a/ortools/routing/parsers/tsplib_parser.cc b/ortools/routing/parsers/tsplib_parser.cc index a842c24e34..b1f8d8d03a 100644 --- a/ortools/routing/parsers/tsplib_parser.cc +++ b/ortools/routing/parsers/tsplib_parser.cc @@ -398,7 +398,7 @@ void TspLibParser::FinalizeEdgeWeights() { } } -void TspLibParser::ParseSections(const std::vector& words) { +void TspLibParser::ParseSections(absl::Span words) { const int words_size = words.size(); CHECK_GT(words_size, 0); if (!gtl::FindCopy(*kSections, words[0], §ion_)) { diff --git a/ortools/routing/parsers/tsplib_parser.h b/ortools/routing/parsers/tsplib_parser.h index 01f6d01161..99d2228b24 100644 --- a/ortools/routing/parsers/tsplib_parser.h +++ b/ortools/routing/parsers/tsplib_parser.h @@ -150,7 +150,7 @@ class TspLibParser final { void ParseNodeCoord(absl::Span words); void SetUpEdgeWeightSection(); void FinalizeEdgeWeights(); - void ParseSections(const std::vector& words); + void ParseSections(absl::Span words); void ProcessNewLine(const std::string& line); void SetExplicitCost(int from, int to, int64_t cost) { if (explicit_costs_.size() != size_ * size_) {