IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 16, 2020, 1:54:47 PM (6 years ago)
Author:
tdeboer
Message:

revert to working Ohana build

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.data/vgauss.c

    r41164 r41340  
    33/* local private functions */
    44opihi_flt fgaussOD (opihi_flt, opihi_flt *, int, opihi_flt *);
    5 int vgauss_apply (int argc, char **argv);
    65
    76# define GET_VAR(V,A) \
     
    2120  Vector *xvec, *yvec, *svec, *ovec;
    2221  char *c, name[16];
    23 
    24   if ((N = get_argument (argc, argv, "-apply"))) {
    25     remove_argument (N, &argc, argv);
    26     int status = vgauss_apply (argc, argv);
    27     return status;
    28   }
    2922
    3023  Quiet = FALSE;
     
    111104  } 
    112105  if (!Quiet) gprint (GP_ERR, "%d iterations\n", i);
    113   set_variable ("Chisq", chisq);
    114   set_variable ("ChisqNu", chisq / (float) (Npts - Npar));
    115106
    116107  for (i = 0; i < Npts; i++) {
     
    134125}
    135126
    136 int vgauss_apply (int argc, char **argv) {
    137 
    138   opihi_flt par[4];
    139   Vector *xvec, *ovec;
    140   char *c;
    141 
    142   // NOTE: -apply has already been stripped by vgauss call
    143   if (argc != 3) {
    144     gprint (GP_ERR, "USAGE: vgauss -apply <x> <out>\n");
    145     return (FALSE);
    146   }
    147  
    148   if ((xvec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE);
    149   if ((ovec = SelectVector (argv[2], ANYVECTOR, TRUE)) == NULL) return (FALSE);
    150 
    151   CastVector (xvec, OPIHI_FLT);
    152 
    153   GET_VAR (par[0], "C0");
    154   GET_VAR (par[1], "C1");
    155   GET_VAR (par[2], "C2");
    156   GET_VAR (par[3], "C3");
    157   int Npar = 4;
    158 
    159   int Npts = xvec[0].Nelements;
    160   ResetVector (ovec, OPIHI_FLT, Npts);
    161 
    162   for (int i = 0; i < Npts; i++) {
    163     ovec[0].elements.Flt[i] = fgaussOD (xvec[0].elements.Flt[i], par, Npar, NULL);
    164   }
    165   ovec[0].Nelements = Npts;
    166 
    167   return TRUE;
    168 }
    169 
    170127/* pars: x_o, sigma, I, back */
    171128opihi_flt fgaussOD (opihi_flt x, opihi_flt *par, int Npar, opihi_flt *dpar) {
     
    178135  f = par[2]*r + par[3];
    179136
    180   if (dpar) {
    181     dpar[0] = par[2]*r*z/par[1];
    182     dpar[1] = par[2]*r*z*z/par[1];
    183     dpar[2] = r;
    184     dpar[3] = 1;
    185   }
     137  dpar[0] = par[2]*r*z/par[1];
     138  dpar[1] = par[2]*r*z*z/par[1];
     139  dpar[2] = r;
     140  dpar[3] = 1;
    186141 
    187142  return (f);
Note: See TracChangeset for help on using the changeset viewer.