Return base 0 indices

release/4.3a0
Frank Dellaert 2020-02-29 00:16:30 -08:00
parent bf153b31ae
commit d413582912
1 changed files with 3 additions and 3 deletions

View File

@ -45,8 +45,8 @@ class WeightedSampler {
*/ */
explicit WeightedSampler(Engine* engine) : engine_(engine) {} explicit WeightedSampler(Engine* engine) : engine_(engine) {}
std::vector<size_t> sampleWithoutReplacement(size_t numSamples, std::vector<size_t> sampleWithoutReplacement(
std::vector<double> weights) { size_t numSamples, const std::vector<double>& weights) {
// Implementation adapted from code accompanying paper at // Implementation adapted from code accompanying paper at
// https://www.ethz.ch/content/dam/ethz/special-interest/baug/ivt/ivt-dam/vpl/reports/1101-1200/ab1141.pdf // https://www.ethz.ch/content/dam/ethz/special-interest/baug/ivt/ivt-dam/vpl/reports/1101-1200/ab1141.pdf
const size_t n = weights.size(); const size_t n = weights.size();
@ -122,7 +122,7 @@ class WeightedSampler {
"Reservoir empty before all elements have been filled"); "Reservoir empty before all elements have been filled");
} }
*iret = reservoir.top().second; *iret = reservoir.top().second - 1;
reservoir.pop(); reservoir.pop();
} }