49 std::size_t N = indices_->size ();
50 std::size_t sample_size = negative_ ? N - sample_ : sample_;
56 removed_indices_->clear ();
61 indices.resize (sample_size);
62 if (extract_removed_indices_)
63 removed_indices_->resize (N - sample_size);
67 srand_deterministic (seed_);
74 std::size_t index = 0;
75 std::vector<bool> added;
76 if (extract_removed_indices_)
77 added.resize (indices_->size (),
false);
78 std::size_t n = sample_size;
82 const float U = unifRand ();
87 if (extract_removed_indices_)
89 indices[i++] = (*indices_)[index];
100 if (extract_removed_indices_)
103 for (std::size_t i = 0; i < added.size (); i++)
107 (*removed_indices_)[ri++] = (*indices_)[i];