Mercurial > hg > jslab
view src/samer/maths/random/BoundedUniform.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.types.*; import java.util.*; public class BoundedUniform extends BaseRandom implements Observer { VDouble min = new VDouble("min",0); VDouble max = new VDouble("max",1); double a, b; public String toString() { return "Uniform["+min.value+","+max.value+")"; } public void dispose() { min.dispose(); max.dispose(); } public double next() { return a + b*rnd.nextDouble(); } public void next(double [] x) { for (int i=0; i<x.length; i++) x[i]=a + b*rnd.nextDouble(); } public BoundedUniform( double min, double max) { this(); this.min.value = min; this.min.changed(); this.max.value = max; this.max.changed(); } public BoundedUniform() { min.addObserver(this); max.addObserver(this); update(null,null); } public void update(Observable o, Object oo) { a=min.value; b=max.value-min.value; } }