- 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/vmaxwell.c
r16446 r20839 2 2 3 3 /* local private functions */ 4 float fmaxwellOD (float, float *, int, float *);4 opihi_flt fmaxwellOD (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[5], *v1, *v2, *dy, **covar;19 float chisq, ochisq, dchisq;18 opihi_flt par[5], *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"); … … 54 54 /* careful of variable renomalization */ 55 55 56 v1 = svec[0].elements ;56 v1 = svec[0].elements.Flt; 57 57 v2 = dy; 58 58 for (i = 0; i < Npts; i++, v1++, v2++) *v2 = 1.0 / (*v1 * *v1); 59 59 60 ochisq = mrqinit (xvec[0].elements , yvec[0].elements, dy, Npts, par, Npar, fmaxwellOD, !Quiet);60 ochisq = mrqinit (xvec[0].elements.Flt, yvec[0].elements.Flt, dy, Npts, par, Npar, fmaxwellOD, !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, fmaxwellOD, !Quiet);64 chisq = mrqmin (xvec[0].elements.Flt, yvec[0].elements.Flt, dy, Npts, par, Npar, fmaxwellOD, !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] = fmaxwellOD (xvec[0].elements[i], par, Npar, dy);72 ovec[0].elements.Flt[i] = fmaxwellOD (xvec[0].elements.Flt[i], par, Npar, dy); 73 73 } 74 74 ovec[0].Nelements = Npts; … … 90 90 91 91 /* pars: x_o, -0.5/sigma^2, I, back, ref */ 92 float fmaxwellOD (float x, float *par, int Npar, float *dpar) {92 opihi_flt fmaxwellOD (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.
