Exemple #1
0
static void rand_triang_bang(t_rand_triang *x)
{
	t_float u1, u2;
    u1 = fran();
    u2 = fran();
    outlet_float(x->x_obj.ob_outlet, 0.5*(u1+u2));
}
Exemple #2
0
static void rand_linear_bang(t_rand_linear *x)
{
	t_float u1, u2;
    u1 = fran();
    u2 = fran();
	if(u2 < u1)
		u1 = u2;
    outlet_float(x->x_obj.ob_outlet, u1);
}
Exemple #3
0
static void rand_expo_bang(t_rand_expo *x)
{
    t_float u, l;
    l = (x->x_lambda <= 0 ? 0.0001 : x->x_lambda);
    do
    {
        u = fran();
    }
    while(u == 0);
    outlet_float(x->x_obj.ob_outlet, -log(u)/l);
}
Exemple #4
0
static void rand_weibull_bang(t_rand_weibull *x)
{
	t_float u, a, t, tinv;
	t = (x->x_t <= 0 ? 0.0001 : x->x_t);
	tinv = 1/t;
	do
	{
		u = fran();
	}
	while(u == 0 || u == 1);
	a = 1/(1 - u);
    outlet_float(x->x_obj.ob_outlet, x->x_s*pow(log(a), tinv));
}
Exemple #5
0
static void rand_bilex_bang(t_rand_bilex *x)
{
	t_float u, s = 1, l;
	l = (x->x_lambda <= 0 ? 0.0001 : x->x_lambda);
	do
	{
		u = 2*fran();
	}
	while(u == 0 || u == 2);
	if(u > 1)
	{
		u = 2-u;
		s=-1;
	}
    outlet_float(x->x_obj.ob_outlet, s*log(u)/l);
}