1 #ifndef NPSTAT_RESAMPLEWITHREPLACEMENT_HH_
2 #define NPSTAT_RESAMPLEWITHREPLACEMENT_HH_
31 const std::vector<T>& from,
33 const unsigned long sampleSizeWanted)
35 const unsigned long sz = from.size();
36 if (!sz)
throw std::invalid_argument(
37 "In npstat::resampleWithReplacement: empty input sample");
38 const double dsz = sz;
42 to->reserve(sampleSizeWanted);
44 for (
unsigned long i=0; i<sampleSizeWanted; ++i)
46 unsigned long idx = sz;
48 idx =
static_cast<unsigned long>(dsz*gen());
49 to->push_back(from[idx]);
55 inline std::vector<T> resampleWithReplacement2(
56 AbsRandomGenerator& gen,
const std::vector<T>& from,
57 const unsigned long sampleSizeWanted)
Interface definition for pseudo- and quasi-random number generators.
Definition: AbsArrayProjector.hh:14
void resampleWithReplacement(AbsRandomGenerator &gen, const std::vector< T > &from, std::vector< T > *to, const unsigned long sampleSizeWanted)
Definition: resampleWithReplacement.hh:30
Definition: AbsRandomGenerator.hh:27