package poisson;

import java.util.Random;
import java.lang.Math;

/**Distribution.java
* This class generates various random variables for distributions
* not directly supported in Java
*/
public class Distribution extends Random {

public  int nextPoisson(double lambda) {
	double elambda = Math.exp(-1*lambda);
	double product = 1;
	int count =  0;
	 int result=0;
	while (product >= elambda) {
		product *= nextDouble();
		result = count;
		count++; // keep result one behind
		}
	return result;
	}

public  double nextExponential(double b) {
	double randx;
	 double result;
	randx = nextDouble();
	result = -1*b*Math.log(randx);
	return result;
	}
}
