IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 25, 2008, 4:51:39 PM (18 years ago)
Author:
eugene
Message:

convert opihi vectors to double type, add option for int type as well

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/fit.c

    r16059 r20839  
    88  int N, Weight, Quiet, ClipNiter;
    99  Vector *xvec, *yvec, *dyvec;
    10   float *x, *y, *dy, *yf, *yfit;
     10  opihi_flt *x, *y, *dy, *yf, *yfit;
    1111  char name[64], *mask;
    1212
     
    6363  mterm = 2*nterm;
    6464
    65   ALLOCATE (yfit, float, xvec[0].Nelements);
     65  ALLOCATE (yfit, opihi_flt, xvec[0].Nelements);
    6666  ALLOCATE (mask, char, xvec[0].Nelements);
    6767  memset (mask, 0, xvec[0].Nelements);
     
    8888
    8989    /* perform linear fit */
    90     x = xvec[0].elements;
    91     y = yvec[0].elements;
    92     if (Weight) dy = dyvec[0].elements;
     90    x = xvec[0].elements.Flt;
     91    y = yvec[0].elements.Flt;
     92    if (Weight) dy = dyvec[0].elements.Flt;
    9393
    9494    for (i = 0; i < xvec[0].Nelements; i++, x++, y++) {
     
    121121
    122122    /* generate fitted values */
    123     x = xvec[0].elements;
     123    x = xvec[0].elements.Flt;
    124124    yf = yfit;
    125125    for (i = 0; i < xvec[0].Nelements; i++, x++, yf++) {
     
    134134
    135135    /* measure fit residual scatter */
    136     x  = xvec[0].elements;
    137     y  = yvec[0].elements;
     136    x  = xvec[0].elements.Flt;
     137    y  = yvec[0].elements.Flt;
    138138    yf = yfit;
    139139    dY = dY2 = 0;
     
    150150
    151151    /* mask outlier points */
    152     x  = xvec[0].elements;
    153     y  = yvec[0].elements;
     152    x  = xvec[0].elements.Flt;
     153    y  = yvec[0].elements.Flt;
    154154    yf = yfit;
    155155    Nmask = 0;
     
    193193    if ((fvec = SelectVector ("yfit", ANYVECTOR, TRUE)) == NULL) return (FALSE);   
    194194    if ((mvec = SelectVector ("mask", ANYVECTOR, TRUE)) == NULL) return (FALSE);   
    195     free (fvec[0].elements);
    196     fvec[0].elements = yfit;
     195    free (fvec[0].elements.Flt);
     196    fvec[0].elements.Flt = yfit;
    197197    fvec[0].Nelements = xvec[0].Nelements;
    198198    mvec[0].Nelements = xvec[0].Nelements;
    199199
    200     REALLOCATE (mvec[0].elements, float, xvec[0].Nelements);
     200    REALLOCATE (mvec[0].elements.Flt, opihi_flt, xvec[0].Nelements);
    201201    for (i = 0; i < xvec[0].Nelements; i++) {
    202       mvec[0].elements[i] = mask[i];
     202      mvec[0].elements.Flt[i] = mask[i];
    203203    }
    204204  } else {
Note: See TracChangeset for help on using the changeset viewer.