Core.h File Reference
#include <EigenRand/RandUtils.h>
#include <EigenRand/Dists/Basic.h>
#include <EigenRand/Dists/Discrete.h>
#include <EigenRand/Dists/NormalExp.h>
Include dependency graph for Core.h:

Go to the source code of this file.

Namespaces

 Eigen::Rand
 namespace for EigenRand
 

Typedefs

template<typename Derived , typename Urng >
using Eigen::Rand::RandBitsType = CwiseNullaryOp< internal::scalar_randbits_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::UniformIntType = CwiseNullaryOp< internal::scalar_uniform_int_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::BalancedType = CwiseNullaryOp< internal::scalar_balanced_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::UniformRealType = CwiseNullaryOp< internal::scalar_uniform_real_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::NormalType = CwiseNullaryOp< internal::scalar_norm_dist_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::Normal2Type = CwiseNullaryOp< internal::scalar_norm_dist2_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::LognormalType = CwiseNullaryOp< internal::scalar_lognorm_dist_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::ExponentialType = CwiseNullaryOp< internal::scalar_exp_dist_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::GammaType = CwiseNullaryOp< internal::scalar_gamma_dist_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::WeibullType = CwiseNullaryOp< internal::scalar_weibull_dist_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::ExtremeValueType = CwiseNullaryOp< internal::scalar_extreme_value_dist_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::ChiSquaredType = CwiseNullaryOp< internal::scalar_chi_squared_dist_op< typename Derived::Scalar, Urng >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::DiscreteFType = CwiseNullaryOp< internal::scalar_discrete_dist_op< typename Derived::Scalar, Urng, float >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::DiscreteDType = CwiseNullaryOp< internal::scalar_discrete_dist_op< typename Derived::Scalar, Urng, double >, const Derived >
 
template<typename Derived , typename Urng >
using Eigen::Rand::DiscreteType = CwiseNullaryOp< internal::scalar_discrete_dist_op< typename Derived::Scalar, Urng, int32_t >, const Derived >
 

Functions

template<typename Derived , typename Urng >
const RandBitsType< Derived, Urng > Eigen::Rand::randBits (Index rows, Index cols, Urng &&urng)
 generates integers with random bits More...
 
template<typename Derived , typename Urng >
const RandBitsType< Derived, Urng > Eigen::Rand::randBitsLike (Derived &o, Urng &&urng)
 generates integers with random bits More...
 
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 >
const BalancedType< Derived, Urng > Eigen::Rand::balanced (Index rows, Index cols, Urng &&urng)
 generates reals in a range [-1, 1] More...
 
template<typename Derived , typename Urng >
const BalancedType< Derived, Urng > Eigen::Rand::balancedLike (const Derived &o, Urng &&urng)
 generates reals in a range [-1, 1] More...
 
template<typename Derived , typename Urng >
const UniformRealType< Derived, Urng > Eigen::Rand::uniformReal (Index rows, Index cols, Urng &&urng)
 generates reals in a range [0, 1) More...
 
template<typename Derived , typename Urng >
const UniformRealType< Derived, Urng > Eigen::Rand::uniformRealLike (Derived &o, Urng &&urng)
 generates reals in a range [0, 1) More...
 
template<typename Derived , typename Urng >
const NormalType< Derived, Urng > Eigen::Rand::normal (Index rows, Index cols, Urng &&urng)
 generates reals on a standard normal distribution (mean = 0, stdev=1) More...
 
template<typename Derived , typename Urng >
const NormalType< Derived, Urng > Eigen::Rand::normalLike (Derived &o, Urng &&urng)
 generates reals on a standard normal distribution (mean = 0, stdev=1) More...
 
template<typename Derived , typename Urng >
const Normal2Type< Derived, Urng > Eigen::Rand::normal (Index rows, Index cols, Urng &&urng, typename Derived::Scalar mean, typename Derived::Scalar stdev=1)
 generates reals on a normal distribution with arbitrary mean and stdev. More...
 
template<typename Derived , typename Urng >
const Normal2Type< Derived, Urng > Eigen::Rand::normalLike (Derived &o, Urng &&urng, typename Derived::Scalar mean, typename Derived::Scalar stdev=1)
 generates reals on a normal distribution with arbitrary mean and stdev. More...
 
template<typename Derived , typename Urng >
const LognormalType< Derived, Urng > Eigen::Rand::lognormal (Index rows, Index cols, Urng &&urng, typename Derived::Scalar mean=0, typename Derived::Scalar stdev=1)
 generates reals on a lognormal distribution with arbitrary mean and stdev. More...
 
template<typename Derived , typename Urng >
const LognormalType< Derived, Urng > Eigen::Rand::lognormalLike (Derived &o, Urng &&urng, typename Derived::Scalar mean=0, typename Derived::Scalar stdev=1)
 generates reals on a lognormal distribution with arbitrary mean and stdev. More...
 
template<typename Derived , typename Urng >
const ExponentialType< Derived, Urng > Eigen::Rand::exponential (Index rows, Index cols, Urng &&urng, typename Derived::Scalar lambda=1)
 generates reals on an exponential distribution with arbitrary scale parameter. More...
 
template<typename Derived , typename Urng >
const ExponentialType< Derived, Urng > Eigen::Rand::exponentialLike (Derived &o, Urng &&urng, typename Derived::Scalar lambda=1)
 generates reals on an exponential distribution with arbitrary scale parameter. More...
 
template<typename Derived , typename Urng >
const GammaType< Derived, Urng > Eigen::Rand::gamma (Index rows, Index cols, Urng &&urng, typename Derived::Scalar alpha=1, typename Derived::Scalar beta=1)
 generates reals on a gamma distribution with arbitrary shape and scale parameter. More...
 
template<typename Derived , typename Urng >
const GammaType< Derived, Urng > Eigen::Rand::gammaLike (Derived &o, Urng &&urng, typename Derived::Scalar alpha=1, typename Derived::Scalar beta=1)
 generates reals on a gamma distribution with arbitrary shape and scale parameter. More...
 
template<typename Derived , typename Urng >
const WeibullType< Derived, Urng > Eigen::Rand::weibull (Index rows, Index cols, Urng &&urng, typename Derived::Scalar a=1, typename Derived::Scalar b=1)
 generates reals on a Weibull distribution with arbitrary shape and scale parameter. More...
 
template<typename Derived , typename Urng >
const WeibullType< Derived, Urng > Eigen::Rand::weibullLike (Derived &o, Urng &&urng, typename Derived::Scalar a=1, typename Derived::Scalar b=1)
 generates reals on a Weibull distribution with arbitrary shape and scale parameter. More...
 
template<typename Derived , typename Urng >
const ExtremeValueType< Derived, Urng > Eigen::Rand::extremeValue (Index rows, Index cols, Urng &&urng, typename Derived::Scalar a=0, typename Derived::Scalar b=1)
 generates reals on an extreme value distribution (a.k.a Gumbel Type I, log-Weibull, Fisher-Tippett Type I) with arbitrary shape and scale parameter. More...
 
template<typename Derived , typename Urng >
const ExtremeValueType< Derived, Urng > Eigen::Rand::extremeValueLike (Derived &o, Urng &&urng, typename Derived::Scalar a=0, typename Derived::Scalar b=1)
 generates reals on an extreme value distribution (a.k.a Gumbel Type I, log-Weibull, Fisher-Tippett Type I) with arbitrary shape and scale parameter. More...
 
template<typename Derived , typename Urng >
const ChiSquaredType< Derived, Urng > Eigen::Rand::chiSquared (Index rows, Index cols, Urng &&urng, typename Derived::Scalar n=1)
 generates reals on the Chi-squared distribution with arbitrary degrees of freedom. More...
 
template<typename Derived , typename Urng >
const ChiSquaredType< Derived, Urng > Eigen::Rand::chiSquaredLike (Derived &o, Urng &&urng, typename Derived::Scalar n=1)
 generates reals on the Chi-squared distribution with arbitrary degrees of freedom. 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...
 

Detailed Description

Author
bab2min (bab2m.nosp@m.in@g.nosp@m.mail..nosp@m.com)
Version
0.1.0
Date
2020-06-22