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/dvo/lcurve.c

    r16810 r20839  
    103103
    104104  NPTS = 100;
    105   ALLOCATE (Xvec.elements, float, NPTS);
    106   ALLOCATE (Yvec.elements, float, NPTS);
    107   dYvec.elements = NULL;
    108   if (ErrorBars) { ALLOCATE (dYvec.elements, float, NPTS); }
     105  ALLOCATE (Xvec.elements.Flt, opihi_flt, NPTS);
     106  ALLOCATE (Yvec.elements.Flt, opihi_flt, NPTS);
     107  dYvec.elements.Flt = NULL;
     108  if (ErrorBars) { ALLOCATE (dYvec.elements.Flt, opihi_flt, NPTS); }
    109109  N = 0;
    110110
     
    124124      m = catalog.average[N1[i]].measureOffset;
    125125      for (j = 0; j < catalog.average[N1[i]].Nmeasure; j++, m++) {
    126         if (ErrorBars) dYvec.elements[N] = catalog.measure[m].dM;
    127         Xvec.elements[N] = TimeValue (catalog.measure[m].t, TimeReference, TimeFormat);
    128         Yvec.elements[N] = PhotCat (&catalog.measure[m]);
     126        if (ErrorBars) dYvec.elements.Flt[N] = catalog.measure[m].dM;
     127        Xvec.elements.Flt[N] = TimeValue (catalog.measure[m].t, TimeReference, TimeFormat);
     128        Yvec.elements.Flt[N] = PhotCat (&catalog.measure[m]);
    129129        /**** need to use PhotRel optionally here ****/
    130130        N++;
    131131        if (N == NPTS) {
    132132          NPTS += 100;
    133           REALLOCATE (Xvec.elements, float, NPTS);
    134           REALLOCATE (Yvec.elements, float, NPTS);
    135           if (ErrorBars) { REALLOCATE (dYvec.elements, float, NPTS); }
     133          REALLOCATE (Xvec.elements.Flt, opihi_flt, NPTS);
     134          REALLOCATE (Yvec.elements.Flt, opihi_flt, NPTS);
     135          if (ErrorBars) { REALLOCATE (dYvec.elements.Flt, opihi_flt, NPTS); }
    136136        }
    137137      }     
     
    142142 
    143143  if (ErrorBars)
    144     fsortthree (Xvec.elements, Yvec.elements, dYvec.elements, N);
     144    dsortthree (Xvec.elements.Flt, Yvec.elements.Flt, dYvec.elements.Flt, N);
    145145  else
    146     fsortpair (Xvec.elements, Yvec.elements, N);
     146    dsortpair (Xvec.elements.Flt, Yvec.elements.Flt, N);
    147147
    148148  /* autoscale the plot */
     
    154154    graphmode.etype = 0; 
    155155
    156   KapaPrepPlot (kapa, N, &graphmode);
    157   KapaPlotVector (kapa, N, Xvec.elements, "x");
    158   KapaPlotVector (kapa, N, Yvec.elements, "y");
    159156  if (ErrorBars) {
    160     KapaPlotVector (kapa, N, dYvec.elements, "dym");
    161     KapaPlotVector (kapa, N, dYvec.elements, "dyp");
     157    PlotVectorPairErrors (kapa, N, Xvec.elements.Flt, Yvec.elements.Flt, dYvec.elements.Flt, &graphmode);
     158  } else {
     159    PlotVectorPair (kapa, N, Xvec.elements.Flt, Yvec.elements.Flt, &graphmode);
    162160  }
    163161
     
    175173
    176174  if (SaveVectors) {
    177     free (xvec[0].elements);
    178     free (yvec[0].elements);
    179     xvec[0].elements = Xvec.elements;
    180     yvec[0].elements = Yvec.elements;
     175    free (xvec[0].elements.Flt);
     176    free (yvec[0].elements.Flt);
     177    xvec[0].elements.Flt = Xvec.elements.Flt;
     178    yvec[0].elements.Flt = Yvec.elements.Flt;
    181179    xvec[0].Nelements = yvec[0].Nelements = Xvec.Nelements;
    182180  } else {
    183     free (Xvec.elements);
    184     free (Yvec.elements);
     181    free (Xvec.elements.Flt);
     182    free (Yvec.elements.Flt);
    185183  }
    186184
    187   if (ErrorBars) free (dYvec.elements);
     185  if (ErrorBars) free (dYvec.elements.Flt);
    188186  dvo_catalog_free (&catalog);
    189187
Note: See TracChangeset for help on using the changeset viewer.