56 template<
typename dtype,
typename GeneratorType = std::mt19937>
61 std::discrete_distribution<dtype> dist(inWeights.
cbegin(), inWeights.
cend());
62 return dist(generator);
78 template<
typename dtype,
typename GeneratorType = std::mt19937>
85 std::discrete_distribution<dtype> dist(inWeights.
cbegin(), inWeights.
cend());
89 [&generator, &dist](dtype& value) ->
void { value = dist(generator); });
105 template<
typename dtype>
108 return detail::discrete<dtype>(
generator_, inWeights);
123 template<
typename dtype>
126 return detail::discrete<dtype>(
generator_, inShape, inWeights);
#define STATIC_ASSERT_INTEGER(dtype)
Definition: StaticAsserts.hpp:40
const_iterator cbegin() const noexcept
Definition: NdArrayCore.hpp:1221
iterator end() noexcept
Definition: NdArrayCore.hpp:1479
const_iterator cend() const noexcept
Definition: NdArrayCore.hpp:1529
iterator begin() noexcept
Definition: NdArrayCore.hpp:1171
A Shape Class for NdArrays.
Definition: Core/Shape.hpp:41
dtype discrete(GeneratorType &generator, const NdArray< double > &inWeights)
Definition: discrete.hpp:57
dtype discrete(const NdArray< double > &inWeights)
Definition: discrete.hpp:106
static std::mt19937_64 generator_
generator function
Definition: generator.hpp:37
void for_each(InputIt first, InputIt last, UnaryFunction f)
Definition: StlAlgorithms.hpp:227
Definition: Coordinate.hpp:45