IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 8, 2007, 10:43:14 AM (19 years ago)
Author:
eugene
Message:

fixed conversion, some cleanup to autocode files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/src/dvo_convert_loneos.c

    r15038 r15511  
    1010
    1111  for (i = 0; i < Nvalues; i++) {
    12     out[i].dR        = in[i].dR * 0.01;
    13     out[i].dD        = in[i].dD * 0.01;
    14     out[i].M         = in[i].M  * 0.001;
    15     out[i].dM        = in[i].dM * 0.001;
    16     out[i].Mcal      = in[i].Mcal * 0.001;
     12    out[i].dR        = (in[i].dR      == NAN_S_SHORT) ? NAN : in[i].dR    * 0.01;
     13    out[i].dD        = (in[i].dD      == NAN_S_SHORT) ? NAN : in[i].dD    * 0.01;
     14    out[i].M         = (in[i].M       == NAN_S_SHORT) ? NAN : in[i].M      * 0.001;
     15    out[i].dM        = (in[i].dM      == NAN_U_CHAR)  ? NAN : in[i].dM    * 0.001;
     16    out[i].Mcal      = (in[i].Mcal    == NAN_S_SHORT) ? NAN : in[i].Mcal  * 0.001;
    1717    out[i].dophot    = in[i].dophot;
    1818    out[i].photcode  = in[i].source;
     
    2424
    2525    /* these values don't exist in the Loneos format */
    26     out[i].Mgal     = in[i].M;
     26    out[i].Mgal     = out[i].M;
    2727    out[i].dt       = 0;
    2828    out[i].airmass  = 0;
     
    6262
    6363  for (i = 0; i < Nvalues; i++) {
    64     out[i].dR     = in[i].dR * 100.0;
    65     out[i].dD     = in[i].dD * 100.0;
    66     out[i].M      = in[i].M  * 1000.0;
    67     out[i].dM     = in[i].dM * 1000.0;
    68     out[i].Mcal   = in[i].Mcal * 1000.0;
     64    out[i].dR     = isnan(in[i].dR     ) ? NAN_S_SHORT : in[i].dR      * 100.0;
     65    out[i].dD     = isnan(in[i].dD     ) ? NAN_S_SHORT : in[i].dD      * 100.0;
     66    out[i].M      = isnan(in[i].M      ) ? NAN_S_SHORT : in[i].M       * 1000.0;
     67    out[i].dM     = isnan(in[i].dM     ) ? NAN_U_CHAR  : in[i].dM      * 1000.0;
     68    out[i].Mcal   = isnan(in[i].Mcal   ) ? NAN_S_SHORT : in[i].Mcal    * 1000.0;
    6969    out[i].dophot = in[i].dophot;
    7070    out[i].source = in[i].photcode;
     
    110110    out[i].objID_lo = 0;
    111111
    112     primary[0][i].M  = in[i].M  * 0.001;     
     112    primary[0][i].M  = (in[i].M  == NAN_S_SHORT) ? NAN : in[i].M  * 0.001;     
    113113    primary[0][i].Xm = in[i].Xm;     
    114     primary[0][i].dM = 0xffff;
     114    primary[0][i].dM = NAN;
    115115    primary[0][i].Ncode = 0;     
    116116    primary[0][i].Nused = 0;
    117 
    118     // XXX drop this or keep this?
    119     // primary[0][i].Xg = in[i].Xg;
    120117  }
    121118  return (out);
     
    140137    out[i].missing = in[i].missing;
    141138
    142     out[i].M       = primary[i].M * 1000.0;     
     139    out[i].M       = isnan(primary[i].M)  ? NAN_S_SHORT : primary[i].M   * 1000.0;
    143140    out[i].Xm      = primary[i].Xm;     
    144141  }
     
    155152
    156153  for (i = 0; i < Nvalues; i++) {
    157     out[i].M     = in[i].M*0.001;     
     154    out[i].M     = (in[i].M  == NAN_S_SHORT) ? NAN : in[i].M * 0.001;
    158155    out[i].Xm    = in[i].Xm;     
    159     out[i].dM    = 0xffff;
     156    out[i].dM    = NAN;
    160157    out[i].Ncode = 0;
    161158    out[i].Nused = 0;
     
    173170
    174171  for (i = 0; i < Nvalues; i++) {
    175     out[i].M    = in[i].M*1000.0;     
     172    out[i].M    = isnan(in[i].M)  ? NAN_S_SHORT : in[i].M * 1000.0;
    176173    out[i].Xm   = in[i].Xm;     
    177174  }
     
    189186  for (i = 0; i < Nvalues; i++) {
    190187    memcpy (&out[i].coords, &in[i].coords, sizeof(Coords));
    191     memcpy (out[i].dummy, in[i].dummy, 20);
    192     strcpy (out[i].name, in[i].name);
     188    strcpy (out[i].name, in[i].name); // out[64], in[32]
    193189
    194190    out[i].tzero            = in[i].tzero;
    195191    out[i].nstar            = in[i].nstar;
    196     out[i].secz             = in[i].secz * 0.001;
    197192    out[i].NX               = in[i].NX;
    198193    out[i].NY               = in[i].NY;
    199     out[i].apmifit          = in[i].apmifit * 0.001;
    200     out[i].dapmifit         = in[i].dapmifit * 0.001;
    201     out[i].Mcal     = in[i].Mcal * 0.001;
    202     out[i].dMcal            = in[i].dMcal * 0.001;
     194
     195    out[i].secz             = (in[i].secz     == NAN_S_SHORT) ? NAN : in[i].secz     * 0.001;
     196    out[i].apmifit          = (in[i].apmifit  == NAN_S_SHORT) ? NAN : in[i].apmifit  * 0.001;
     197    out[i].dapmifit         = (in[i].dapmifit == NAN_S_SHORT) ? NAN : in[i].dapmifit * 0.001;
     198    out[i].Mcal             = (in[i].Mcal     == NAN_S_SHORT) ? NAN : in[i].Mcal     * 0.001;
     199    out[i].dMcal            = (in[i].dMcal    == NAN_S_SHORT) ? NAN : in[i].dMcal    * 0.001;
     200
    203201    out[i].Xm               = in[i].Xm;
    204202    out[i].photcode         = in[i].source;
     
    244242  for (i = 0; i < Nvalues; i++) {
    245243    memcpy (&out[i].coords, &in[i].coords, sizeof(Coords));
    246     memcpy (out[i].dummy, in[i].dummy, 20);
    247     strcpy (out[i].name, in[i].name);
     244    strncpy (out[i].name, in[i].name, 31); // out[32], in[64]
     245    out[i].name[31] = 0; // force termination
    248246
    249247    out[i].tzero            = in[i].tzero;
    250248    out[i].nstar            = in[i].nstar;
    251     out[i].secz             = in[i].secz * 1000.0;
    252249    out[i].NX               = in[i].NX;
    253250    out[i].NY               = in[i].NY;
    254     out[i].apmifit          = in[i].apmifit * 1000.0;
    255     out[i].dapmifit         = in[i].dapmifit * 1000.0;
    256     out[i].Mcal             = in[i].Mcal * 1000.0;
    257     out[i].dMcal            = in[i].dMcal * 1000.0;
     251
     252    out[i].secz             = isnan(in[i].secz    ) ? NAN_S_SHORT : in[i].secz     * 1000.0;
     253    out[i].apmifit          = isnan(in[i].apmifit ) ? NAN_S_SHORT : in[i].apmifit  * 1000.0;
     254    out[i].dapmifit         = isnan(in[i].dapmifit) ? NAN_S_SHORT : in[i].dapmifit * 1000.0;
     255    out[i].Mcal             = isnan(in[i].Mcal    ) ? NAN_S_SHORT : in[i].Mcal     * 1000.0;
     256    out[i].dMcal            = isnan(in[i].dMcal   ) ? NAN_S_SHORT : in[i].dMcal    * 1000.0;
     257
    258258    out[i].Xm               = in[i].Xm;
    259259    out[i].source           = in[i].photcode;
Note: See TracChangeset for help on using the changeset viewer.