function standardGamma( randu, randn, alpha ) {
	var flg;
	var x2;
	var v0;
	var v1;
	var c;
	var d;
	var x;
	var s;
	var u;
	var v;

	if ( alpha < 1.0 ) {
		d = alpha + 1.0 - ONE_THIRD;
		c = 1.0 / sqrt( 9.0*d );
		s = pow( randu(), 1.0/alpha );
	} else {
		d = alpha - ONE_THIRD;
		c = 1.0 / sqrt( 9.0*d );
		s = 1.0;
	}
	flg = true;
	while ( flg ) {
		do {
			x = randn();
			v = 1.0 + (c*x);
		} while ( v <= 0.0 );
		v *= v * v;
		x2 = x * x;
		v0 = 1.0 - (0.331*x2*x2);
		v1 = (0.5*x2) + (d*( 1.0-v+ln(v) ));
		u = randu();
		if ( u < v0 || ln( u ) < v1 ) {
			flg = false;
		}
	}
	return d * v * s;
}
Returns a pseudorandom number drawn from a gamma distribution with rate parameter equal to 1.0 and shape parameter equal to `alpha`.

@private
@param {PRNG} randu - PRNG for uniformly distributed numbers
@param {PRNG} randn - PRNG for standard normally distributed numbers
@param {PositiveNumber} alpha - shape parameter
@returns {PositiveNumber} pseudorandom number