Mercurial > hg > jslab
diff src/samer/maths/random/Gaussian.java @ 0:bf79fb79ee13
Initial Mercurial check in.
author | samer |
---|---|
date | Tue, 17 Jan 2012 17:50:20 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/samer/maths/random/Gaussian.java Tue Jan 17 17:50:20 2012 +0000 @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2000, Samer Abdallah, King's College London. + * All rights reserved. + * + * This software is provided AS iS and WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + */ + +package samer.maths.random; +import samer.core.*; +import samer.core.types.*; + +public class Gaussian extends BaseRandom +{ + VDouble var; + VDouble mean; + + public Gaussian() { + var=new VDouble("variance", 1.0); + mean=new VDouble("mean", 0.0); + } + + public Gaussian(double v, double m) { + var=new VDouble("variance",v,Variable.REGISTER|Variable.NOINIT); + mean=new VDouble("mean",m,Variable.REGISTER|Variable.NOINIT); + } + + public void dispose() { var.dispose(); mean.dispose(); } + public double next() { return mean.value + var.value*rnd.nextGaussian(); } + public void next(double [] x) { + for (int i=0; i<x.length; i++) x[i]=mean.value+var.value*rnd.nextGaussian(); + } + + public String toString() { return "Gaussian"; } +}