Go to the documentation of this file.
   39   qh->qhstat.precision= 
qh->qhstat.next;  
 
   40   zzdef_(
zdoc, 
Zdoc3, 
"precision problems (corrected unless 'Q0' or an error)", -1);
 
   46   zzdef_(
zinc, 
Zminnorm, 
"degenerate hyperplanes recomputed with gaussian elimination", -1);
 
  104   zdef_(
zinc, 
Znoarea, 
"determinants not computed because vertex too low", -1);
 
  120   zdef_(
zdoc, 
Zdoc4, 
"partitioning statistics(see previous for outer planes)", -1);
 
  190   zdef_(
wmax, 
Wmaxoutside, 
"max distance of vertex or coplanar point above facet(w/roundoff)", -1);
 
  263   qh->qhstat.vridges= 
qh->qhstat.next;
 
  300 #if qh_KEEPstatistics 
  309   facetT *facet, *neighbor, **neighborp;
 
  311   realT dotproduct, dist;
 
  312   int sizneighbors, sizridges, sizvertices, i;
 
  314   qh->old_randomdist= 
qh->RANDOMdist;
 
  330   if (
qh->MERGING || 
qh->APPROXhull || 
qh->JOGGLEmax < 
REALmax/2)
 
  357       if (sizvertices == 
qh->hull_dim) {
 
  411   qh->RANDOMdist= 
qh->old_randomdist;
 
  442   if (
qh->qhstat.next > (
int)
sizeof(
qh->qhstat.id)) {
 
  443     qh_fprintf(
qh, 
qh->qhmem.ferr, 6184, 
"qhull error (qh_initstatistics): increase size of qhstat.id[].\n\ 
  444       qhstat.next %d should be <= sizeof(qh->qhstat.id) %d\n", 
qh->qhstat.next, (
int)
sizeof(
qh->qhstat.id));
 
  446     for(i=0; i < 
ZEND; i++) {
 
  448       for(j=i+1; j < 
ZEND; j++) {
 
  449         if (
qh->qhstat.id[i] == 
qh->qhstat.id[j]) {
 
  450           qh_fprintf(
qh, 
qh->qhmem.ferr, 6185, 
"qhull error (qh_initstatistics): duplicated statistic %d at indices %d and %d\n",
 
  451               qh->qhstat.id[i], i, j);
 
  458   qh->qhstat.init[
zinc].i= 0;
 
  459   qh->qhstat.init[
zadd].i= 0;
 
  460   qh->qhstat.init[
zmin].i= INT_MAX;
 
  461   qh->qhstat.init[
zmax].i= INT_MIN;
 
  462   qh->qhstat.init[
wadd].r= 0;
 
  465   for(i=0; i < 
ZEND; i++) {
 
  467       realx= 
qh->qhstat.init[(
unsigned char)(
qh->qhstat.type[i])].r;
 
  468       qh->qhstat.stats[i].r= realx;
 
  469     }
else if (
qh->qhstat.type[i] != 
zdoc) {
 
  470       intx= 
qh->qhstat.init[(
unsigned char)(
qh->qhstat.type[i])].i;
 
  471       qh->qhstat.stats[i].i= intx;
 
  489   if (
qh->qhstat.type[
qh->qhstat.id[idx]] == 
zdoc)
 
  493   for(i= start; i < 
qh->qhstat.next && 
qh->qhstat.type[
qh->qhstat.id[i]] != 
zdoc; i++) {
 
  510        &&
qh->qhstat.stats[i].r == 
qh->qhstat.init[(
unsigned char)(
qh->qhstat.type[i])].r)
 
  512           &&
qh->qhstat.stats[i].i == 
qh->qhstat.init[(
unsigned char)(
qh->qhstat.type[i])].i))
 
  517 #if qh_KEEPstatistics 
  547   if (
qh->num_points != 
qh->num_vertices) {
 
  557  qhull invoked by: %s | %s\n%s with options:\n%s\n", 
string, 
qh->rbox_command,
 
  560  %6.2g max. abs. coordinate in the (transformed) input('Qbd:n')\n\ 
  561  %6.2g max. roundoff error for distance computation('En')\n\ 
  562  %6.2g max. roundoff error for angle computations\n\ 
  563  %6.2g min. distance for outside points ('Wn')\n\ 
  564  %6.2g min. distance for visible facets ('Vn')\n\ 
  565  %6.2g max. distance for coplanar facets ('Un')\n\ 
  566  %6.2g max. facet width for recomputing centrum and area\n\ 
  568   qh->MAXabs_coord, 
qh->DISTround, 
qh->ANGLEround, 
qh->MINoutside,
 
  569         qh->MINvisible, 
qh->MAXcoplanar, 
qh->WIDEfacet);
 
  570   if (
qh->KEEPnearinside)
 
  572  %6.2g max. distance for near-inside points\n", 
qh->NEARinside);
 
  574  %6.2g max. cosine for pre-merge angle\n", 
qh->premerge_cos);
 
  576  %6.2g radius of pre-merge centrum\n", 
qh->premerge_centrum);
 
  578  %6.2g max. cosine for post-merge angle\n", 
qh->postmerge_cos);
 
  580  %6.2g radius of post-merge centrum\n", 
qh->postmerge_centrum);
 
  582  %6.2g max. distance for merging two simplicial facets\n\ 
  583  %6.2g max. roundoff error for arithmetic operations\n\ 
  584  %6.2g min. denominator for divisions\n\ 
  586   for(k=0; k < 
qh->hull_dim; k++)
 
  589   for(i=0 ; i < 
qh->qhstat.next; )
 
  604 #define NULLfield "       " 
  606   if (
id >= 
ZEND || 
qh->qhstat.printed[
id])
 
  608   if (
qh->qhstat.type[
id] == 
zdoc) {
 
  614   qh->qhstat.printed[id]= 
True;
 
  615   if (
qh->qhstat.count[
id] != -1
 
  616       && 
qh->qhstat.stats[(
unsigned char)(
qh->qhstat.count[
id])].i == 0)
 
  618   else if (
qh->qhstat.type[
id] >= 
ZTYPEreal && 
qh->qhstat.count[
id] == -1)
 
  620   else if (
qh->qhstat.type[
id] >= 
ZTYPEreal && 
qh->qhstat.count[
id] != -1)
 
  621     qh_fprintf(
qh, fp, 9363, 
"%7.2g", 
qh->qhstat.stats[
id].r/ 
qh->qhstat.stats[(
unsigned char)(
qh->qhstat.count[
id])].i);
 
  622   else if (
qh->qhstat.type[
id] < 
ZTYPEreal && 
qh->qhstat.count[
id] == -1)
 
  624   else if (
qh->qhstat.type[
id] < 
ZTYPEreal && 
qh->qhstat.count[
id] != -1)
 
  625     qh_fprintf(
qh, fp, 9365, 
"%7.3g", (
realT) 
qh->qhstat.stats[
id].i / 
qh->qhstat.stats[(
unsigned char)(
qh->qhstat.count[
id])].i);
 
  644     for (j=idx; j<nexti; j++)
 
  651 #if qh_KEEPstatistics 
  671   stddev= sqrt(tot2/num - *ave * *ave);
 
  677 #if !qh_KEEPstatistics 
  
void qh_printstatistics(qhT *qh, FILE *fp, const char *string)
void qh_allstatH(qhT *qh)
realT qh_getangle(pointT *vect1, pointT *vect2)
#define qh_DUPLICATEridge
void qh_allstatB(qhT *qh)
realT qh_stddev(int num, realT tot, realT tot2, realT *ave)
void qh_collectstatistics(qhT *qh)
void qh_printstats(qhT *qh, FILE *fp, int idx, int *nextindex)
void qh_allstatE(qhT *qh)
#define FOREACHneighbor_(facet)
void qh_allstatF(qhT *qh)
#define zzdef_(stype, name, string, cnt)
void qh_initstatistics(qhT *qh)
boolT qh_newstats(qhT *qh, int idx, int *nextindex)
void qh_allstatC(qhT *qh)
int qh_setsize(setT *set)
#define zdef_(stype, name, string, cnt)
void qh_printallstatistics(qhT *qh, FILE *fp, const char *string)
void qh_allstatG(qhT *qh)
void qh_allstatD(qhT *qh)
void qh_exit(int exitcode)
void qh_distplane(pointT *point, facetT *facet, realT *dist)
void qh_allstatA(qhT *qh)
#define FOREACHvertex_(vertices)
void qh_allstatistics(qhT *qh)
void qh_allstatE2(qhT *qh)
void qh_printstatlevel(qhT *qh, FILE *fp, int id)
void qh_fprintf(FILE *fp, int msgcode, const char *fmt,...)
boolT qh_nostatistic(qhT *qh, int i)
void qh_memstatistics(FILE *fp)
void qh_allstatI(qhT *qh)
hpp-fcl
Author(s): 
autogenerated on Fri Feb 14 2025 03:45:51