EigenRand  0.5.0
 
Loading...
Searching...
No Matches
Discrete.h File Reference
#include <memory>
#include <iterator>
#include <limits>
Include dependency graph for Discrete.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Eigen::Rand::UniformIntGen< _Scalar >
 Generator of integers with a given range [min, max] More...
 
class  Eigen::Rand::DiscreteGen< _Scalar, int32_t >
 DiscreteGen with int32_t precision More...
 
class  Eigen::Rand::DiscreteGen< _Scalar, float >
 DiscreteGen with float precision More...
 
class  Eigen::Rand::DiscreteGen< _Scalar, double >
 DiscreteGen with double precision More...
 
class  Eigen::Rand::PoissonGen< _Scalar >
 Generator of integers on a Poisson distribution. More...
 
class  Eigen::Rand::BinomialGen< _Scalar >
 Generator of integers on a binomial distribution. More...
 
class  Eigen::Rand::GeometricGen< _Scalar >
 Generator of integers on a geometric distribution. More...
 

Namespaces

namespace  Eigen::Rand
 namespace for EigenRand
 

Typedefs

template<typename Derived , typename Urng >
using Eigen::Rand::UniformIntType = CwiseNullaryOp< internal::scalar_rng_adaptor< UniformIntGen< typename Derived::Scalar >, typename Derived::Scalar, Urng, true >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::DiscreteFType = CwiseNullaryOp< internal::scalar_rng_adaptor< DiscreteGen< typename Derived::Scalar, float >, typename Derived::Scalar, Urng, true >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::DiscreteDType = CwiseNullaryOp< internal::scalar_rng_adaptor< DiscreteGen< typename Derived::Scalar, double >, typename Derived::Scalar, Urng, true >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::DiscreteType = CwiseNullaryOp< internal::scalar_rng_adaptor< DiscreteGen< typename Derived::Scalar, int32_t >, typename Derived::Scalar, Urng, true >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::PoissonType = CwiseNullaryOp< internal::scalar_rng_adaptor< PoissonGen< typename Derived::Scalar >, typename Derived::Scalar, Urng, true >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::BinomialType = CwiseNullaryOp< internal::scalar_rng_adaptor< BinomialGen< typename Derived::Scalar >, typename Derived::Scalar, Urng, true >, const Derived >
 
template<typename Lhs , typename Rhs , typename Urng >
using Eigen::Rand::BinomialVVType = CwiseHeteroBinaryOp< internal::scalar_binary_rng_adaptor< BinomialVGen< typename Lhs::Scalar >, typename Lhs::Scalar, typename Lhs::Scalar, typename Rhs::Scalar, Urng, true >, const Lhs, const Rhs >
 
template<typename Lhs , typename Urng >
using Eigen::Rand::BinomialVSType = CwiseHeteroBinaryOp< internal::scalar_binary_rng_adaptor< BinomialVGen< typename Lhs::Scalar >, typename Lhs::Scalar, typename Lhs::Scalar, float, Urng, true >, const Lhs, CwiseNullaryOp< internal::scalar_constant_op< float >, const typename impl::CastType< Lhs, float >::type > >
 
template<typename Lhs , typename Urng >
using Eigen::Rand::impl::BinomialVType = CwiseBinaryOp< internal::scalar_binary_rng_adaptor< BinomialVGen< typename Lhs::Scalar >, typename Lhs::Scalar, typename Lhs::Scalar, typename Lhs::Scalar, Urng, true >, const Lhs, CwiseNullaryOp< internal::scalar_constant_op< float >, const Lhs > >
 
template<typename Rhs , typename Urng >
using Eigen::Rand::BinomialSVType = CwiseHeteroBinaryOp< internal::scalar_binary_rng_adaptor< BinomialVGen< int32_t >, int32_t, int32_t, typename Rhs::Scalar, Urng, true >, CwiseNullaryOp< internal::scalar_constant_op< int32_t >, const typename impl::CastType< Rhs, int32_t >::type >, const Rhs >
 
template<typename Derived , typename Urng >
using Eigen::Rand::GeometricType = CwiseNullaryOp< internal::scalar_rng_adaptor< GeometricGen< typename Derived::Scalar >, typename Derived::Scalar, Urng, true >, const Derived >
 

Functions

template<typename Derived , typename Urng >
const UniformIntType< Derived, Urng > Eigen::Rand::uniformInt (Index rows, Index cols, Urng &&urng, typename Derived::Scalar min, typename Derived::Scalar max)
 generates integers with a given range [min, max] More...
 
template<typename Derived , typename Urng >
const UniformIntType< Derived, Urng > Eigen::Rand::uniformIntLike (Derived &o, Urng &&urng, typename Derived::Scalar min, typename Derived::Scalar max)
 generates integers with a given range [min, max] More...
 
template<typename Derived , typename Urng , typename RealIter >
const DiscreteFType< Derived, Urng > Eigen::Rand::discreteF (Index rows, Index cols, Urng &&urng, RealIter first, RealIter last)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is float(23bit precision). More...
 
template<typename Derived , typename Urng , typename RealIter >
const DiscreteFType< Derived, Urng > Eigen::Rand::discreteFLike (Derived &o, Urng &&urng, RealIter first, RealIter last)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is float(23bit precision). More...
 
template<typename Derived , typename Urng , typename Real >
const DiscreteFType< Derived, Urng > Eigen::Rand::discreteF (Index rows, Index cols, Urng &&urng, const std::initializer_list< Real > &il)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is float(23bit precision). More...
 
template<typename Derived , typename Urng , typename Real >
const DiscreteFType< Derived, Urng > Eigen::Rand::discreteFLike (Derived &o, Urng &&urng, const std::initializer_list< Real > &il)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is float(23bit precision). More...
 
template<typename Derived , typename Urng , typename RealIter >
const DiscreteDType< Derived, Urng > Eigen::Rand::discreteD (Index rows, Index cols, Urng &&urng, RealIter first, RealIter last)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is double(52bit precision). More...
 
template<typename Derived , typename Urng , typename RealIter >
const DiscreteDType< Derived, Urng > Eigen::Rand::discreteDLike (Derived &o, Urng &&urng, RealIter first, RealIter last)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is double(52bit precision). More...
 
template<typename Derived , typename Urng , typename Real >
const DiscreteDType< Derived, Urng > Eigen::Rand::discreteD (Index rows, Index cols, Urng &&urng, const std::initializer_list< Real > &il)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is double(52bit precision). More...
 
template<typename Derived , typename Urng , typename Real >
const DiscreteDType< Derived, Urng > Eigen::Rand::discreteDLike (Derived &o, Urng &&urng, const std::initializer_list< Real > &il)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is double(52bit precision). More...
 
template<typename Derived , typename Urng , typename RealIter >
const DiscreteType< Derived, Urng > Eigen::Rand::discrete (Index rows, Index cols, Urng &&urng, RealIter first, RealIter last)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is int32(32bit precision). More...
 
template<typename Derived , typename Urng , typename RealIter >
const DiscreteType< Derived, Urng > Eigen::Rand::discreteLike (Derived &o, Urng &&urng, RealIter first, RealIter last)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is int32(32bit precision). More...
 
template<typename Derived , typename Urng , typename Real >
const DiscreteType< Derived, Urng > Eigen::Rand::discrete (Index rows, Index cols, Urng &&urng, const std::initializer_list< Real > &il)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is int32(32bit precision). More...
 
template<typename Derived , typename Urng , typename Real >
const DiscreteType< Derived, Urng > Eigen::Rand::discreteLike (Derived &o, Urng &&urng, const std::initializer_list< Real > &il)
 generates random integers on the interval [0, n), where the probability of each individual integer i is proportional to w(i). The data type used for calculation of probabilities is int32(32bit precision). More...
 
template<typename Derived , typename Urng >
const PoissonType< Derived, Urng > Eigen::Rand::poisson (Index rows, Index cols, Urng &&urng, double mean=1)
 generates reals on the Poisson distribution. More...
 
template<typename Derived , typename Urng >
const PoissonType< Derived, Urng > Eigen::Rand::poissonLike (Derived &o, Urng &&urng, double mean=1)
 generates reals on the Poisson distribution. More...
 
template<typename Derived , typename Urng >
const BinomialType< Derived, Urng > Eigen::Rand::binomial (Index rows, Index cols, Urng &&urng, typename Derived::Scalar trials=1, double p=0.5)
 generates reals on the binomial distribution. More...
 
template<typename Derived , typename Urng >
const BinomialType< Derived, Urng > Eigen::Rand::binomialLike (Derived &o, Urng &&urng, typename Derived::Scalar trials=1, double p=0.5)
 generates reals on the binomial distribution. More...
 
template<typename Lhs , typename Rhs , typename Urng >
const BinomialVVType< Lhs, Rhs, Urng > Eigen::Rand::binomial (Urng &&urng, const ArrayBase< Lhs > &trials, const ArrayBase< Rhs > &p)
 generates reals on the binomial distribution. More...
 
template<typename Lhs , typename Urng >
const BinomialVSType< Lhs, Urng > Eigen::Rand::binomial (Urng &&urng, const ArrayBase< Lhs > &trials, float p)
 
template<typename Lhs , typename Urng >
const BinomialVType< Lhs, Urng > Eigen::Rand::impl::binomial (Urng &&urng, const ArrayBase< Lhs > &trials, float p)
 
template<typename Rhs , typename Urng >
const BinomialSVType< Rhs, Urng > Eigen::Rand::binomial (Urng &&urng, int32_t trials, const ArrayBase< Rhs > &p)
 
template<typename Derived , typename Urng >
const GeometricType< Derived, Urng > Eigen::Rand::geometric (Index rows, Index cols, Urng &&urng, double p=0.5)
 generates reals on the geometric distribution. More...
 
template<typename Derived , typename Urng >
const GeometricType< Derived, Urng > Eigen::Rand::geometricLike (Derived &o, Urng &&urng, double p=0.5)
 generates reals on the geometric distribution. More...
 

Detailed Description

Author
bab2min (bab2m.nosp@m.in@g.nosp@m.mail..nosp@m.com)
Version
0.5.0
Date
2023-01-31