Changeset 20936 for trunk/Ohana/src/opihi/lib.data/mrq2dmin.c
- Timestamp:
- Dec 7, 2008, 3:31:01 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/lib.data/mrq2dmin.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/lib.data/mrq2dmin.c
r16059 r20936 9 9 # define VERY_VERBOSE 0 10 10 11 static float **alpha, **talpha;12 static float **beta, **tbeta;13 static float *partry, *dyda;14 static float ochisq, lambda;15 16 static float *parmin = NULL;17 static float *parmax = NULL;18 19 float mrq2dcof (float *x, float *t, float *y, float *dy, int Npts,20 float *par, int Npar, float **ta, float **tb,21 float (funcs)(float, float, float *, int, float *)) {11 static opihi_flt **alpha, **talpha; 12 static opihi_flt **beta, **tbeta; 13 static opihi_flt *partry, *dyda; 14 static opihi_flt ochisq, lambda; 15 16 static opihi_flt *parmin = NULL; 17 static opihi_flt *parmax = NULL; 18 19 opihi_flt mrq2dcof (opihi_flt *x, opihi_flt *t, opihi_flt *y, opihi_flt *dy, int Npts, 20 opihi_flt *par, int Npar, opihi_flt **ta, opihi_flt **tb, 21 opihi_flt (funcs)(opihi_flt, opihi_flt, opihi_flt *, int, opihi_flt *)) { 22 22 23 23 int k, j, i; 24 float ydiff, wt, chisq;24 opihi_flt ydiff, wt, chisq; 25 25 26 26 for (j = 0; j < Npar; j++) { … … 60 60 } 61 61 62 float mrq2dchi (float *x, float *t, float *y, float *dy, int Npts,63 float *par, int Npar,64 float (funcs)(float, float, float *, int, float *)) {65 66 int i; 67 float ydiff, chisq;62 opihi_flt mrq2dchi (opihi_flt *x, opihi_flt *t, opihi_flt *y, opihi_flt *dy, int Npts, 63 opihi_flt *par, int Npar, 64 opihi_flt (funcs)(opihi_flt, opihi_flt, opihi_flt *, int, opihi_flt *)) { 65 66 int i; 67 opihi_flt ydiff, chisq; 68 68 69 69 chisq = 0.0; … … 75 75 } 76 76 77 float mrq2dmin (float *x, float *t, float *y, float *dy, int Npts,78 float *par, int Npar,79 float (funcs)(float, float, float *, int, float *), int VERBOSE) {77 opihi_flt mrq2dmin (opihi_flt *x, opihi_flt *t, opihi_flt *y, opihi_flt *dy, int Npts, 78 opihi_flt *par, int Npar, 79 opihi_flt (funcs)(opihi_flt, opihi_flt, opihi_flt *, int, opihi_flt *), int VERBOSE) { 80 80 81 81 int j, k; 82 float chisq;82 opihi_flt chisq; 83 83 84 84 /* set up test matrixes for this run */ … … 90 90 91 91 /* keep this test in here? */ 92 if (! fgaussjordan (talpha, tbeta, Npar, 1)) {92 if (!dgaussjordan (talpha, tbeta, Npar, 1)) { 93 93 lambda *= 10.0; 94 94 return (ochisq); … … 131 131 } 132 132 133 int mrq2dlimits ( float *pmin, float *pmax, int Npar) {134 135 int i; 136 137 ALLOCATE (parmin, float, Npar);138 ALLOCATE (parmax, float, Npar);133 int mrq2dlimits (opihi_flt *pmin, opihi_flt *pmax, int Npar) { 134 135 int i; 136 137 ALLOCATE (parmin, opihi_flt, Npar); 138 ALLOCATE (parmax, opihi_flt, Npar); 139 139 for (i = 0; i < Npar; i++) { 140 140 parmin[i] = pmin[i]; … … 144 144 } 145 145 146 float mrq2dinit (float *x, float *t, float *y, float *dy, int Npts,147 float *par, int Npar,148 float (funcs)(float, float, float *, int, float *), int VERBOSE) {149 150 int i; 151 152 ALLOCATE (dyda, float, Npar);153 ALLOCATE (partry, float, Npar);154 ALLOCATE (alpha, float *, Npar);155 ALLOCATE (beta, float *, Npar);156 ALLOCATE (talpha, float *, Npar);157 ALLOCATE (tbeta, float *, Npar);146 opihi_flt mrq2dinit (opihi_flt *x, opihi_flt *t, opihi_flt *y, opihi_flt *dy, int Npts, 147 opihi_flt *par, int Npar, 148 opihi_flt (funcs)(opihi_flt, opihi_flt, opihi_flt *, int, opihi_flt *), int VERBOSE) { 149 150 int i; 151 152 ALLOCATE (dyda, opihi_flt, Npar); 153 ALLOCATE (partry, opihi_flt, Npar); 154 ALLOCATE (alpha, opihi_flt *, Npar); 155 ALLOCATE (beta, opihi_flt *, Npar); 156 ALLOCATE (talpha, opihi_flt *, Npar); 157 ALLOCATE (tbeta, opihi_flt *, Npar); 158 158 for (i = 0; i < Npar; i++) { 159 ALLOCATE (alpha[i], float, Npar);160 ALLOCATE (beta[i], float, Npar);161 ALLOCATE (talpha[i], float, Npar);162 ALLOCATE (tbeta[i], float, Npar);159 ALLOCATE (alpha[i], opihi_flt, Npar); 160 ALLOCATE (beta[i], opihi_flt, Npar); 161 ALLOCATE (talpha[i], opihi_flt, Npar); 162 ALLOCATE (tbeta[i], opihi_flt, Npar); 163 163 } 164 164 … … 181 181 182 182 /* don't invoke this in the middle of a run, only near the end */ 183 float **mrq2dcovar (int Npar) {184 185 fgaussjordan (alpha, beta, Npar, 1);183 opihi_flt **mrq2dcovar (int Npar) { 184 185 dgaussjordan (alpha, beta, Npar, 1); 186 186 return (alpha); 187 187
Note:
See TracChangeset
for help on using the changeset viewer.
