IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 7, 2007, 6:28:03 PM (19 years ago)
Author:
eugene
Message:

converted internal NO_MAG and NO_ERR to NAN, NAN_S_SHORT, etc as appropriate

Location:
trunk/Ohana/src/opihi/dvo
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/dvo/calextract.c

    r14590 r15509  
    8282
    8383      /* find data for filter 2 (PHOT_REF) */
    84       M2 = NO_MAG;
    85       dM2 = NO_MAG;
     84      M2 = NAN;
     85      dM2 = NAN;
    8686      for (j = 0; j < catalog.average[i].Nm; j++) {
    8787        if (catalog.measure[m+j].photcode != code[1][0].code) continue;
     
    8989        dM2 = catalog.measure[m+j].dM;
    9090      }
    91       if (M2 == NO_MAG) continue;
     91      if (isnan(M2)) continue;
    9292
    9393      /* find data for filter 1 */
    9494      M1 = ExtractAverages (code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], AVE_MAG);
    95       if (M1 == NO_MAG) continue;
     95      if (isnan(M1)) continue;
    9696
    9797      vec[Nd ][0].elements[N] = M1 - M2;
  • trunk/Ohana/src/opihi/dvo/calmextract.c

    r14590 r15509  
    9393
    9494      /* find data for filter 2 (REF) */
    95       M2 = NO_MAG;
    96       dM2 = NO_MAG;
     95      M2 = NAN;
     96      dM2 = NAN;
    9797      for (j = 0; j < catalog.average[i].Nm; j++) {
    9898        if (catalog.measure[m+j].photcode != code[1][0].code) continue;
     
    100100        dM2 = catalog.measure[m+j].dM;
    101101      }
    102       if (M2 == NO_MAG) continue;
     102      if (isnan(M2)) continue;
    103103     
    104104      /* find data for filter 1 */
  • trunk/Ohana/src/opihi/dvo/ccd.c

    r14401 r15509  
    8484          ALLOCATE (M2, double, 1);
    8585          N2 = 1;
    86           M2[0] = NO_MAG;
     86          M2[0] = NAN;
    8787        } else {
    8888          goto skip;
  • trunk/Ohana/src/opihi/dvo/cmd.c

    r14401 r15509  
    8282          ALLOCATE (M3, double, 1);
    8383          N3 = 1;
    84           M3[0] = NO_MAG;
     84          M3[0] = NAN;
    8585        } else {
    8686          goto skip;
  • trunk/Ohana/src/opihi/dvo/dbExtractAverages.c

    r14401 r15509  
    77  double value;
    88
    9   value = NO_MAG;
     9  value = NAN;
    1010
    1111  /* assign vector values */
     
    7171        case MAG_CAL:
    7272          // XXX need to code this correctly: this returns just the first matching value
    73           value = NO_MAG;
     73          value = NAN;
    7474          for (i = 0; i < average[0].Nm; i++) {
    7575            if (field->photcode->code != measure[i].photcode) continue;
  • trunk/Ohana/src/opihi/dvo/dbExtractMeasures.c

    r15208 r15509  
    1919  Coords *mosaic;
    2020
    21   value = NO_MAG;
     21  value = NAN;
    2222
    2323  switch (field->ID) {
     
    128128      break;
    129129    case MEAS_RA_OFFSET_ERR: /* OK */
    130       value = NO_MAG;
     130      value = NAN;
    131131      break;
    132132    case MEAS_DEC_OFFSET_ERR: /* OK */
    133       value = NO_MAG;
     133      value = NAN;
    134134      break;
    135135    case MEAS_AIRMASS: /* OK */
  • trunk/Ohana/src/opihi/dvo/ddmags.c

    r14401 r15509  
    9494          ALLOCATE (M2, double, 1);
    9595          N2 = 1;
    96           M2[0] = NO_MAG;
     96          M2[0] = NAN;
    9797        } else {
    9898          goto skip;
  • trunk/Ohana/src/opihi/dvo/dmagmeas.c

    r14401 r15509  
    9191          ALLOCATE (M3, double, 1);
    9292          N3 = 1;
    93           M3[0] = NO_MAG;
     93          M3[0] = NAN;
    9494        } else {
    9595          goto skip;
  • trunk/Ohana/src/opihi/dvo/dmags.c

    r14401 r15509  
    8989          ALLOCATE (M3, double, 1);
    9090          N3 = 1;
    91           M3[0] = NO_MAG;
     91          M3[0] = NAN;
    9292        } else {
    9393          goto skip;
  • trunk/Ohana/src/opihi/dvo/gstar.c

    r15208 r15509  
    274274}
    275275
    276 void print_value (double value, short int ival) {
    277   if (ival == NO_MAG)
     276void print_double (double value) {
     277  if (isnan(value))
     278    gprint (GP_LOG, "NaN    ");
     279  else
     280    gprint (GP_LOG, "%6.3f ", value);
     281}
     282
     283void print_short (double value, short int ival) {
     284  if (ival == NAN_S_SHORT)
    278285    gprint (GP_LOG, "NaN    ");
    279286  else
     
    320327    case 0: /* average mags */
    321328      if (seq == -1) {
    322         print_value (NO_MAG, NO_MAG);
     329        print_double (NAN);
    323330      } else {
    324         print_value (secfilt[seq].M, secfilt[seq].M);
     331        print_double (secfilt[seq].M);
    325332      }
    326333      break;
     
    328335    case 1: /* average mags errors */
    329336      if (seq == -1) {
    330         print_value (NO_MAG, NO_MAG);
     337        print_double (NAN);
    331338      } else {
    332         print_value (secfilt[seq].dM, secfilt[seq].dM);
     339        print_double (secfilt[seq].dM);
    333340      }
    334341      break;
     
    336343    case 2: /* average mag chisq */
    337344      if (seq == -1) {
    338         print_value (NO_MAG, NO_MAG);
     345        print_short (NAN_S_SHORT, NAN_S_SHORT);
    339346      } else {
    340         print_value (pow (10.0, 0.01*secfilt[seq].Xm), secfilt[seq].Xm);
     347        print_short (pow (10.0, 0.01*secfilt[seq].Xm), secfilt[seq].Xm);
    341348      }
    342349      break;
  • trunk/Ohana/src/opihi/dvo/photometry.c

    r15208 r15509  
    2828
    2929# define SETMAG(MOUT,MEAS,MODE) \
    30   MOUT = NO_MAG; \
     30  MOUT = NAN; \
    3131  if (MODE == MAG_INST) MOUT = PhotInst (&MEAS);  \
    3232  if (MODE == MAG_CAT)  MOUT = PhotCat  (&MEAS); \
     
    588588  double value;
    589589
    590   value = NO_MAG;
     590  value = NAN;
    591591
    592592  /* this function requires code set for certain value of param. 
     
    594594
    595595  /* filter by average quantities (eg, chisq, Nphot, etc) */
    596   if (!TestAverage (code, average, secfilt, measure)) return (NO_MAG);
     596  if (!TestAverage (code, average, secfilt, measure)) return (NAN);
    597597
    598598  /* assign vector values */
     
    657657        case MAG_REL:
    658658        case MAG_CAL:
    659           value = NO_MAG;
     659          value = NAN;
    660660          for (i = 0; i < average[0].Nm; i++) {
    661661              if (code[0].code != measure[i].photcode) continue;
     
    866866  if (ErrSelect) {
    867867    dM = PhotdM (code, average, secfilt);
    868     if (dM > ErrValue) return (NO_MAG);
     868    if (dM > ErrValue) return (NAN);
    869869  }
    870870 
     
    944944    ALLOCATE (M, double, 1);
    945945    mag = ExtractAverages (code, mode, average, secfilt, measure, AVE_MAG);
    946     if (mag == NO_MAG) {
     946    if (isnan(mag)) {
    947947      N = 0;
    948948    } else {
     
    962962
    963963  int i, j, A1, A2, N1, N2, Np, Nlist, NLIST;
    964   double *M1, *M2, *list, NoMag;
     964  double *M1, *M2, *list;
    965965
    966966  /* check for special case of measure-measure - this is needed to drop self-matches */
     
    977977  ALLOCATE (list, double, NLIST);
    978978  M1 = M2 = NULL;
    979   NoMag = NO_MAG * 0.001;
    980979
    981980  /* one of the two is an average, must do independently */
     
    988987  if (N2 == 0) goto skip;
    989988
    990   /* magnitudes may be NO_MAG : set delta to NO_MAG */
     989  /* magnitudes may be NAN : set delta to NAN */
    991990  for (i = 0; i < N1; i++) {
    992991    for (j = 0; j < N2; j++) {
    993       if ((M1[i] == NoMag) || (M2[j] == NoMag)) {
    994         list[Nlist] = NoMag;
     992      if (isnan(M1[i]) || isnan(M2[j])) {
     993        list[Nlist] = NAN;
    995994      } else {
    996995        list[Nlist] = M1[i] - M2[j];
     
    10121011
    10131012  int i, j, Np0, Np1, Nlist, NLIST;
    1014   double *list, M1, M2, NoMag;
     1013  double *list, M1, M2;
    10151014 
    10161015  *nlist = 0;
     
    10181017  NLIST = MAX (1, average[0].Nm*average[0].Nm);
    10191018  ALLOCATE (list, double, NLIST);
    1020   NoMag = NO_MAG * 0.001;
    10211019
    10221020  /* must have two code values - drop this test? this is programming case, not a user case */
     
    10441042      TESTMEASURE (measure[j]);
    10451043      SETMAG(M2, measure[j], mode[1]);
    1046       if ((M1 == NoMag) || (M2 == NoMag)) {
    1047         list[Nlist] = NoMag;
     1044      if (isnan(M1) || isnan(M2)) {
     1045        list[Nlist] = NAN;
    10481046      } else {
    10491047        list[Nlist] = M1 - M2;
Note: See TracChangeset for help on using the changeset viewer.