Lines Matching refs:min
43 int min;
54 * min:max[:mult]
56 * any of the values may be blank (ie. min::mult, :max, etc.) and default
62 * which is malloc'd by the routine. The min, max, and mult entries of each
71 * defmin default value to plug in for min, if it is missing
75 * can call to parse the min, max, and mult strings. This
133 rp->min = defmin;
148 * Parse the 'min' field - if it is zero length (:n2[:mult]
154 if ((*parse_func) (n1str, &rp->min) < 0) {
166 * set max equal to min. If the field was present, but
172 rp->max = rp->min;
233 * Three simple functions to return the min, max, and mult values for a given
240 return ((struct range *)rbuf)[r].min;
278 long random_range(int min, int max, int mult, char **errp)
300 orig_min = min;
305 * switch min/max if max < min
308 if (max < min) {
310 max = min;
311 min = tmp;
318 if ((r = min % mult)) /* bump to the next higher 'mult' multiple */
319 min += mult - r;
324 if (min > max) { /* no 'mult' multiples between min & max */
338 nmults = ((max - min) / mult) + 1;
345 return (long)(min + (((long)lrand48() % nmults) * mult));
352 randnum = divider(min, max, 0, -1);
353 return (long)(min + ((randnum % nmults) * mult));
357 return (min + ((lrand48() % nmults) * mult));
365 long random_rangel(long min, long max, long mult, char **errp)
387 orig_min = min;
392 * switch min/max if max < min
395 if (max < min) {
397 max = min;
398 min = tmp;
405 if ((r = min % mult)) /* bump to the next higher 'mult' multiple */
406 min += mult - r;
411 if (min > max) { /* no 'mult' multiples between min & max */
425 nmults = ((max - min) / mult) + 1;
432 return (long)(min + (((long)lrand48() % nmults) * mult));
439 randnum = divider(min, max, 0, -1);
440 return (long)(min + ((randnum % nmults) * mult));
444 return (min + ((lrand48() % nmults) * mult));
451 long long random_rangell(long long min, long long max,
475 orig_min = min;
480 * switch min/max if max < min
483 if (max < min) {
485 max = min;
486 min = tmp;
493 if ((r = min % mult)) /* bump to the next higher 'mult' multiple */
494 min += mult - r;
499 if (min > max) { /* no 'mult' multiples between min & max */
513 nmults = ((max - min) / mult) + 1;
519 return (long long)(min +
526 randnum = divider(min, max, 0, -1);
527 return (long long)(min + ((randnum % nmults) * mult));
534 * number min and max. It was designed to work the 64bit numbers
537 * find the difference between min and max (max-min).
539 * Determine the midway point between min and max.
540 * if the midway point is less than 2g from min or max,
542 * either min or the midpoint.
543 * Otherwise, call outself with min and max being min and midway value or
547 divider(long long min, long long max, long long cnt, long long rand)
566 diff = max - min;
569 return min + rand;
571 half = diff / (long long)2; /* half the distance between min and max */
572 med = min + half; /* med way point between min and max */
575 printf("divider: min=%lld, max=%lld, cnt=%lld, rand=%lld\n", min, max,
583 * to pick the number within the min to med or med to max
589 return min + rand;
598 return divider(min, med, cnt + 1, rand);
805 printf(" min=%ld, max=%ld\n", ltmin, ltmax);
845 printf(" min=%lld, max=%lld\n", lltmin, lltmax);
885 printf(" min=%d, max=%d\n", itmin, itmax);