IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17244


Ignore:
Timestamp:
Mar 31, 2008, 12:35:51 PM (18 years ago)
Author:
eugene
Message:

catch db counting errors

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/delstar/src/find_matches.c

    r16810 r17244  
    33void find_matches (Catalog *catalog, int photcode, int start, int end) {
    44
    5   int i, j, k, n, m, N, M, drop;
     5  int i, j, k, n, m, N, M, drop, averef;
    66  int *next, *next_miss, *ave_miss, last, last_miss;
    7   int Nave, Nmeas, Nmiss;
     7  int Nave, Nmeas, NMEAS, Nmiss;
    88  int Nmeasfound, Nsecfilt;
    99  int this, prev;
     
    123123      /* find next valid entry -- notice lack of error checking... */
    124124      for (j = 0; (j < Nmeas) && (next[m+j] == -2); j++);
     125      if (catalog[0].measure[m+j].averef != n) {
     126        fprintf (stderr, "error? measure.averef and average.measureOffset are mismatched\n");
     127        exit (1);
     128      }
    125129      catalog[0].average[n].measureOffset = m + j;
    126130    }
     
    187191  /* fix order of Measure (memory intensive, but fast) */
    188192  N = 0;
    189   ALLOCATE (tmpmeasure, Measure, Nmeas);
     193  NMEAS = Nmeas;
     194  ALLOCATE (tmpmeasure, Measure, NMEAS);
    190195  for (i = 0; i < Nave; i++) {
    191196    n = catalog[0].average[i].measureOffset;
    192197    catalog[0].average[i].measureOffset = N;
     198    averef = catalog[0].measure[n].averef;
    193199    for (k = 0; k < catalog[0].average[i].Nmeasure; k++, N++) {
    194200      if ((n == -1) || (n == -2)) {
     
    196202        exit (1);
    197203      }
     204      // all measures for this object should have the same initial averef
     205      if (catalog[0].measure[n].averef != averef) {
     206        fprintf (stderr, "measure table is confused\n");
     207        exit (1);
     208      }
    198209      tmpmeasure[N] = catalog[0].measure[n];
    199210      tmpmeasure[N].averef = i;
    200211      n = next[n];
     212      CHECK_REALLOCATE (tmpmeasure, Measure, NMEAS, N, 10000);
    201213    }
    202214  }
Note: See TracChangeset for help on using the changeset viewer.