view 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 source
/*
 *	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"; }
}