- Timestamp:
- Nov 25, 2008, 4:51:39 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/vgauss.c
r16446 r20839 2 2 3 3 /* local private functions */ 4 float fgaussOD (float, float *, int, float *);4 opihi_flt fgaussOD (opihi_flt, opihi_flt *, int, opihi_flt *); 5 5 6 6 # define GET_VAR(V,A) \ … … 16 16 17 17 int i, N, Npts, Npar, Quiet; 18 float par[4], *v1, *v2, *dy, **covar;19 float chisq, ochisq, dchisq;18 opihi_flt par[4], *v1, *v2, *dy, **covar; 19 opihi_flt chisq, ochisq, dchisq; 20 20 Vector *xvec, *yvec, *svec, *ovec; 21 21 char *c, name[16]; … … 43 43 44 44 Npts = xvec[0].Nelements; 45 ALLOCATE (dy, float, Npts);46 REALLOCATE (ovec[0].elements , float, Npts);45 ALLOCATE (dy, opihi_flt, Npts); 46 REALLOCATE (ovec[0].elements.Flt, opihi_flt, Npts); 47 47 48 48 GET_VAR (par[0], "C0"); … … 52 52 Npar = 4; 53 53 54 v1 = svec[0].elements ;54 v1 = svec[0].elements.Flt; 55 55 v2 = dy; 56 56 for (i = 0; i < Npts; i++, v1++, v2++) { … … 58 58 } 59 59 60 ochisq = mrqinit (xvec[0].elements , yvec[0].elements, dy, Npts, par, Npar, fgaussOD, !Quiet);60 ochisq = mrqinit (xvec[0].elements.Flt, yvec[0].elements.Flt, dy, Npts, par, Npar, fgaussOD, !Quiet); 61 61 dchisq = ochisq + 2*Npts; 62 62 63 63 for (i = 0; (i < 20) && ((dchisq > 0.1*(Npts - Npar)) || (dchisq <= 0.0)); i++) { 64 chisq = mrqmin (xvec[0].elements , yvec[0].elements, dy, Npts, par, Npar, fgaussOD, !Quiet);64 chisq = mrqmin (xvec[0].elements.Flt, yvec[0].elements.Flt, dy, Npts, par, Npar, fgaussOD, !Quiet); 65 65 dchisq = ochisq - chisq; 66 66 ochisq = chisq; … … 70 70 71 71 for (i = 0; i < Npts; i++) { 72 ovec[0].elements [i] = fgaussOD (xvec[0].elements[i], par, Npar, dy);72 ovec[0].elements.Flt[i] = fgaussOD (xvec[0].elements.Flt[i], par, Npar, dy); 73 73 } 74 74 ovec[0].Nelements = Npts; … … 90 90 91 91 /* pars: x_o, sigma, I, back */ 92 float fgaussOD (float x, float *par, int Npar, float *dpar) {92 opihi_flt fgaussOD (opihi_flt x, opihi_flt *par, int Npar, opihi_flt *dpar) { 93 93 94 float z, r, f;94 opihi_flt z, r, f; 95 95 96 96 z = (x - par[0])/par[1];
Note:
See TracChangeset
for help on using the changeset viewer.
