EigenRand  0.3.0
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

 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 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 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.3.0
Date
2020-10-07