Lines Matching refs:rndp

179 rand_uniform_get(randdist_t *rndp)
183 dmin = (double)rndp->rnd_vint_min;
184 dround = (double)rndp->rnd_vint_round;
186 dprob = (*rndp->rnd_src)(rndp->rnd_xi);
188 dres = (dprob * (2.0 * (rndp->rnd_dbl_mean - dmin))) + dmin;
201 rand_gamma_get(randdist_t *rndp)
205 dmin = (double)rndp->rnd_vint_min;
206 dround = (double)rndp->rnd_vint_round;
208 dmult = (rndp->rnd_dbl_mean - dmin) / rndp->rnd_dbl_gamma;
210 dres = gamma_dist_knuth_src(rndp->rnd_dbl_gamma,
211 dmult, rndp->rnd_src, rndp->rnd_xi) + dmin;
224 rand_table_get(randdist_t *rndp)
229 dmin = (double)rndp->rnd_vint_min;
230 dround = (double)rndp->rnd_vint_round;
232 dprob = (*rndp->rnd_src)(rndp->rnd_xi);
237 dtabres = (rndp->rnd_rft[idx].rf_base +
238 (rndp->rnd_rft[idx].rf_range * (dprcnt - (double)idx)));
240 dsclres = (dtabres * (rndp->rnd_dbl_mean - dmin)) + dmin;
252 rand_seed_set(randdist_t *rndp)
260 temp1.ll = (uint64_t)avd_get_int(rndp->rnd_seed);
265 rndp->rnd_xi[idx] = temp1.w[3-idx];
267 rndp->rnd_xi[idx] = temp1.w[idx];
279 randdist_t *rndp;
281 if ((rndp = (randdist_t *)ipc_malloc(FILEBENCH_RANDDIST)) == NULL) {
287 rndp->rnd_next = filebench_shm->shm_rand_list;
288 filebench_shm->shm_rand_list = rndp;
290 return (rndp);
299 randdist_init_one(randdist_t *rndp)
306 rndp->rnd_dbl_gamma = (double)avd_get_int(rndp->rnd_gamma) / 1000.0;
307 if (rndp->rnd_mean != NULL)
308 rndp->rnd_dbl_mean = (double)avd_get_int(rndp->rnd_mean);
310 rndp->rnd_dbl_mean = rndp->rnd_dbl_gamma;
313 rndp->rnd_vint_min = avd_get_int(rndp->rnd_min);
314 rndp->rnd_vint_round = avd_get_int(rndp->rnd_round);
318 rndp->rnd_var->var_name, rndp->rnd_dbl_mean, rndp->rnd_dbl_gamma,
319 (u_longlong_t)rndp->rnd_vint_min);
322 switch (rndp->rnd_type & RAND_TYPE_MASK) {
324 rndp->rnd_get = rand_uniform_get;
328 rndp->rnd_get = rand_gamma_get;
332 rndp->rnd_get = rand_table_get;
342 if (rndp->rnd_type & RAND_SRC_GENERATOR) {
343 rndp->rnd_src = rand_src_rand48;
344 rand_seed_set(rndp);
346 rndp->rnd_src = rand_src_urandom;
350 if ((rdte_hdp = rndp->rnd_probtabs) == NULL)
377 rndp->rnd_rft[pteidx].rf_base = dmin;
378 rndp->rnd_rft[pteidx].rf_range = dmax - dmin;
389 if (rndp->rnd_dbl_mean == 0.0)
390 rndp->rnd_dbl_mean = (double)tablemean / (double)PF_TAB_SIZE;
398 rndp->rnd_rft[pteidx].rf_base = 0.0;
399 rndp->rnd_rft[pteidx].rf_range = 0.0;
406 rndp->rnd_rft[pteidx].rf_base =
407 ((rndp->rnd_rft[pteidx].rf_base - tablemin) / tablemean);
408 rndp->rnd_rft[pteidx].rf_range =
409 (rndp->rnd_rft[pteidx].rf_range / tablemean);
419 randdist_t *rndp;
421 for (rndp = filebench_shm->shm_rand_list; rndp; rndp = rndp->rnd_next)
422 randdist_init_one(rndp);