samer@0: /* samer@0: * Copyright (c) 2000, Samer Abdallah, King's College London. samer@0: * All rights reserved. samer@0: * samer@0: * This software is provided AS iS and WITHOUT ANY WARRANTY; samer@0: * without even the implied warranty of MERCHANTABILITY or samer@0: * FITNESS FOR A PARTICULAR PURPOSE. samer@0: */ samer@0: samer@0: package samer.maths.random; samer@0: import samer.maths.*; samer@0: import samer.core.types.*; samer@0: samer@0: public class MixtureVec extends BaseRandom samer@0: { samer@0: BinaryVec u; samer@0: Generator g1; samer@0: Generator g2; samer@0: samer@0: public void dispose() { u.dispose(); g1.dispose(); g2.dispose(); } samer@0: public double next() { return (u.next()==1) ? g1.next() : g2.next(); } samer@0: samer@0: public void next(double [] x) samer@0: { samer@0: u.next(x); samer@0: for (int i=0; i