Changeset 37334 for trunk/Ohana
- Timestamp:
- Aug 29, 2014, 3:45:35 PM (12 years ago)
- Location:
- trunk/Ohana/src/addstar/src
- Files:
-
- 2 edited
-
build_links.c (modified) (8 diffs)
-
resort_catalog.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/addstar/src/build_links.c
r37116 r37334 1 1 # include "addstar.h" 2 3 # define myAbortF(FORMAT,...) { fprintf (stderr, FORMAT, __VA_ARGS__); abort(); } 2 4 3 5 /* … … 47 49 48 50 if (N >= Nmeasure) { 49 fprintf (stderr, "overflow in init_measure_links\n"); 50 abort (); 51 myAbort ("overflow in init_measure_links\n"); 51 52 } 52 53 } … … 136 137 Measure *sort_measure (Average *average, off_t Naverage, Measure *measure, off_t Nmeasure, off_t *next_meas) { 137 138 138 off_t i, k, n, N;139 int i, k, n, N; 139 140 Measure *tmpmeasure; 140 141 … … 146 147 average[i].measureOffset = N; 147 148 for (k = 0; k < average[i].Nmeasure; k++, N++) { 148 if (n == -1) abort();149 if (n == -1) myAbortF("invalid measureOffset for ave %d, measureOffset %d, measure %d\n", i, average[i].measureOffset, k); 149 150 tmpmeasure[N] = measure[n]; 150 if (measure[n].averef != i) abort();151 if (measure[n].averef != i) myAbortF("invalid averef for ave %d, measureOffset %d, measure %d, averef %d\n", i, average[i].measureOffset, k, measure[n].averef); 151 152 tmpmeasure[N].averef = i; 152 153 n = next_meas[n]; … … 175 176 next_miss[N] = -1; 176 177 if (N >= Nmissing) { 177 fprintf (stderr, "overflow in init_missing_links"); 178 abort (); 178 myAbort ("overflow in init_missing_links"); 179 179 } 180 180 N++; … … 253 253 254 254 if (N >= Nlensing) { 255 fprintf (stderr, "overflow in init_lensing_links\n"); 256 abort (); 255 myAbort ("overflow in init_lensing_links\n"); 257 256 } 258 257 N++; … … 343 342 Lensing *sort_lensing (Average *average, off_t Naverage, Lensing *lensing, off_t Nlensing, off_t *next_lens) { 344 343 345 off_t i, k, n, N;344 int i, k, n, N; 346 345 Lensing *tmplensing; 347 346 … … 354 353 average[i].lensingOffset = N; 355 354 for (k = 0; k < average[i].Nlensing; k++, N++) { 356 if (n == -1) abort();355 if (n == -1) myAbortF("invalid lensingOffset for ave %d, lensingOffset %d, lensing %d\n", i, average[i].lensingOffset, k); 357 356 tmplensing[N] = lensing[n]; 358 if (lensing[n].averef != i) abort();357 if (lensing[n].averef != i) myAbortF("invalid averef for ave %d, lensingOffset %d, lensing %d, averef %d\n", i, average[i].lensingOffset, k, lensing[n].averef); 359 358 tmplensing[N].averef = i; 360 359 n = next_lens[n]; -
trunk/Ohana/src/addstar/src/resort_catalog.c
r37116 r37334 82 82 myAssert(average[averageSeq[i]].catID == measure[measureSeq[i]].catID, "object / detection mismatch"); 83 83 # if (1) 84 myAssert(average[averageSeq[i]].objID == measure[measureSeq[i]].objID, "object / detection mismatch"); 84 // myAssert(average[averageSeq[i]].objID == measure[measureSeq[i]].objID, "object / detection mismatch"); 85 // check if the objID is correct. if not, check if it is byte-swapped (this has happened) and repair if so. 86 // otherwise, abort 87 if (average[averageSeq[i]].objID != measure[measureSeq[i]].objID) { 88 fprintf (stderr, "object / detection mismatch average.objID = %d, measure.objID = %d, catID: %d, detID: %d", 89 average[averageSeq[i]].objID, measure[measureSeq[i]].objID, 90 measure[measureSeq[i]].catID, measure[measureSeq[i]].detID); 91 int objIDalt = measure[measureSeq[i]].objID; 92 char *byte = (char *) &objIDalt; 93 char tmp; 94 tmp = byte[0]; byte[0] = byte[3]; byte[3] = tmp; 95 tmp = byte[1]; byte[1] = byte[2]; byte[2] = tmp; 96 if (average[averageSeq[i]].objID == objIDalt) { 97 fprintf (stderr, "objID is byte-swapped, repairing\n"); 98 measure[measureSeq[i]].objID = average[averageSeq[i]].objID; // XXX I don't really like this... 99 } else if (measure[measureSeq[i]].objID == 0) { 100 fprintf (stderr, "objID is 0, repairing\n"); 101 measure[measureSeq[i]].objID = average[averageSeq[i]].objID; // XXX I don't really like this... 102 } else { 103 myAbort ("objID is NOT byte-swapped, aborting\n"); 104 } 105 } 85 106 # else 86 107 // for reasons I do not understand, the mini dvodbs generated on stsci1X had a handful of detections with an inconsistency between averef and objID.
Note:
See TracChangeset
for help on using the changeset viewer.
