#include "simple_discr.h" // change the tuple; return bool: "success" int step_tuple(int *tuple, int dim, int max) { int i=0; while ((i pos2[i]) return 0; return 1; } // assuming point in box, is point also on edge? int point_on_edge(double *pos1, double *pos2, int dim) { int i; for (i=0; i discr2) ? discr : discr2; } double exact_discr(double **pointset, int npoints, int dim) { double *point, **coords, maxdiscr=0.0, discr; int i,j, *tuple; point = malloc(dim*sizeof(double)); tuple = malloc(dim*sizeof(int)); coords = malloc(dim*sizeof(double *)); for (i=0; i maxdiscr) { fprintf(stderr, "Point (%g", point[0]); for (i=1; i maxdiscr) { fprintf(stderr, "%d/%d: discr %g\n", i, trials, discr); maxdiscr = discr; } } return maxdiscr; }