// mir.ndslice package is required for 'multivariateNormalVar', it can be found in 'mir-algorithm'
static if (is(typeof({ import mir.ndslice.slice; })))
{
import mir.random.engine;
import mir.ndslice.slice: sliced;
auto mu = [10.0, 0.0].sliced;
auto sigma = [2.0, -1.5, -1.5, 2.0].sliced(2,2);
auto rv = multivariateNormalVar(mu, sigma);
double[2] x;
rv(rne, x[]);
}
// mir.ndslice package is required for 'multivariateNormalVar', it can be found in 'mir-algorithm'
static if (is(typeof({ import mir.ndslice.slice; })))
{
import mir.ndslice.slice: sliced;
import mir.random.engine;
Random* gen = threadLocalPtr!Random;
auto mu = [10.0, 0.0].sliced;
auto sigma = [2.0, -1.5, -1.5, 2.0].sliced(2,2);
auto rv = multivariateNormalVar(mu, sigma);
double[2] x;
rv(gen, x[]);
}
Multivariate normal distribution. Beta version (has not properly tested).