Ejemplo n.º 1
0
int random_number_in_range (int min, int max)
{
  TRACEINW("(min=%d max=%d)", min, max);
  int width = max - min + 1;
  int res = min + (random() % width);
  TRACEOUTW("%d", res);
  return res;
}
Ejemplo n.º 2
0
/* blindly double all dimensions */
void enlarge_underlying_mat ( void )
{
  TRACEIN;
  assert (xdim == memmatrix_xdim());
  assert (ydim == memmatrix_ydim());
  realloc_memmatrix (xdim+1, ydim+1, 1+xdim/2, 1+ydim/2, UNUSEDSQ);
  xdepl += 1+xdim/2;
  ydepl += 1+ydim/2;
  xdim  += xdim+1;
  ydim  += ydim+1;
  cboard = memmatrix(xdepl,ydepl);
  assert (xdim == memmatrix_xdim()); assert (ydim == memmatrix_ydim());
  TRACEOUTW ("was %dx%d, now is %dx%d", prev_xdim, prev_ydim, memmatrix_xdim(), memmatrix_ydim());
}
Ejemplo n.º 3
0
void read_longint_val_in_range (char * s, long int * val, long int range_min, long int range_max, const char * varname) /* varname is used for error messages */
{
  TRACEINW("(\"%s\",min=%ld,max=%ld)", s, range_min, range_max);
  char * endptr = NULL;
  long int res = strtol(s, &endptr, 10);
  if (*endptr != '\0') {
    cantcontinue("ERROR: value \"%s\" for %s is not a number.\n", s, varname);
  } else if (errno == ERANGE) {
    cantcontinue("ERROR: value \"%s\" for %s cannot be scanned as a long int.\n", s, varname);
  } else if ((res < range_min) || (res > range_max)) {
    cantcontinue("ERROR: value %ld for %s not in valid range %ld..%ld.\n", res, varname, range_min, range_max);
  }
  val[0] = res;
  TRACEOUTW("%s=%ld", varname, *val);
}