Пример #1
0
void jit_noise_calculate_ndim(t_jit_noise_vecdata *vecdata, long dimcount, long *dim, long planecount, t_jit_matrix_info *out_minfo, char *bop)
{
	long i,n;
	char *op;
	t_jit_op_info out_opinfo;

	if (dimcount<1) return; //safety

	switch(dimcount) {
	case 1:
		dim[1]=1;
	case 2:
		//flatten planes - treat as single plane data for speed...ALWAYS
		n = dim[0];
		out_opinfo.stride = 1;
		n *= planecount;
		planecount = 1;
		if (out_minfo->type==_jit_sym_char) {
			for (i=0; i<dim[1]; i++) {
				vecdata->randlast 	= jit_rand();
				out_opinfo.p = bop + i*out_minfo->dimstride[1];
				jit_noise_vector_char(n,vecdata,&out_opinfo);
			}
		} else if (out_minfo->type==_jit_sym_long) {
			for (i=0; i<dim[1]; i++) {
				vecdata->randlast 	= jit_rand();
				out_opinfo.p = bop + i*out_minfo->dimstride[1];
				jit_noise_vector_long(n,vecdata,&out_opinfo);
			}
		} else if (out_minfo->type==_jit_sym_float32) {
			for (i=0; i<dim[1]; i++) {
				vecdata->randlast 	= jit_rand();
				out_opinfo.p = bop + i*out_minfo->dimstride[1];
				jit_noise_vector_float32(n,vecdata,&out_opinfo);
			}
		} else if (out_minfo->type==_jit_sym_float64) {
			for (i=0; i<dim[1]; i++) {
				vecdata->randlast 	= jit_rand();
				out_opinfo.p = bop + i*out_minfo->dimstride[1];
				jit_noise_vector_float64(n,vecdata,&out_opinfo);
			}
		}
		break;
	default:
		for	(i=0; i<dim[dimcount-1]; i++) {
			op  = bop  + i*out_minfo->dimstride[dimcount-1];
			jit_noise_calculate_ndim(vecdata,dimcount-1,dim,planecount,out_minfo,op);
		}
	}
}
Пример #2
0
t_jit_err jit_SDIF_buffer_getvecdata(t_jit_SDIF_buffer *x, t_jit_SDIF_buffer_vecdata *vd){
	if (x&&vd) {
		vd->randlast = jit_rand();
		return JIT_ERR_NONE;
	} else {
		return JIT_ERR_INVALID_PTR;
	}
}
Пример #3
0
t_jit_err jit_noise_getvecdata(t_jit_noise *x, t_jit_noise_vecdata *vd)
{
	if (x&&vd) {
		vd->randlast 	= jit_rand();
		return JIT_ERR_NONE;
	} else {
		return JIT_ERR_INVALID_PTR;
	}
}
Пример #4
0
double RandomInt(double minRange, double maxRange)
{
	double	t, result;
	
	t = (double)(jit_rand() & 0x0000FFFF)/(double)(0x0000FFFF);

	result = (t * (maxRange - minRange)) + minRange;
	return(result);
}