Return base 0 indices
parent
bf153b31ae
commit
d413582912
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue