Changeset 20936 for trunk/Ohana/src/opihi/cmd.data/fit2d.c
- Timestamp:
- Dec 7, 2008, 3:31:01 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/cmd.data/fit2d.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.data/fit2d.c
r16059 r20936 7 7 int k, K, i, j, n, Npt, Nmask, nx, ny, nterm, mterm, wterm, order; 8 8 int N, Weight, Quiet, ClipNiter, VERBOSE; 9 float *x, *y, *z, *dz, *zfit, *zf;9 opihi_flt *x, *y, *z, *dz, *zfit, *zf; 10 10 char name[64], *mask; 11 11 Vector *xvec, *yvec, *zvec, *dzvec; … … 64 64 return (FALSE); 65 65 } 66 if (Weight && xvec[0].Nelements != dzvec[0].Nelements) { 67 gprint (GP_ERR, "vectors must have same length\n"); 68 return (FALSE); 66 REQUIRE_VECTOR_FLT (xvec, FALSE); 67 REQUIRE_VECTOR_FLT (yvec, FALSE); 68 REQUIRE_VECTOR_FLT (zvec, FALSE); 69 70 if (Weight) { 71 REQUIRE_VECTOR_FLT (dzvec, FALSE); 72 if (xvec[0].Nelements != dzvec[0].Nelements) { 73 gprint (GP_ERR, "vectors must have same length\n"); 74 return (FALSE); 75 } 69 76 } 70 77 … … 74 81 mterm = 2*order + 1; 75 82 76 ALLOCATE (zfit, float, xvec[0].Nelements);83 ALLOCATE (zfit, opihi_flt, xvec[0].Nelements); 77 84 ALLOCATE (mask, char, xvec[0].Nelements); 78 85 memset (mask, 0, xvec[0].Nelements); … … 102 109 } 103 110 104 x = xvec[0].elements ;105 y = yvec[0].elements ;106 z = zvec[0].elements ;107 if (Weight) dz = dzvec[0].elements ;111 x = xvec[0].elements.Flt; 112 y = yvec[0].elements.Flt; 113 z = zvec[0].elements.Flt; 114 if (Weight) dz = dzvec[0].elements.Flt; 108 115 109 116 /* add up the x,y values */ … … 128 135 129 136 /* add up the z values */ 130 x = xvec[0].elements ;131 y = yvec[0].elements ;132 z = zvec[0].elements ;137 x = xvec[0].elements.Flt; 138 y = yvec[0].elements.Flt; 139 z = zvec[0].elements.Flt; 133 140 for (i = 0; i < xvec[0].Nelements; i++, x++, y++, z++) { 134 141 if (mask[i]) continue; … … 179 186 */ 180 187 /* generate fitted values */ 181 x = xvec[0].elements ;182 y = yvec[0].elements ;188 x = xvec[0].elements.Flt; 189 y = yvec[0].elements.Flt; 183 190 zf = zfit; 184 191 for (n = 0; n < xvec[0].Nelements; n++, x++, y++, zf++) { … … 197 204 198 205 /* measure fit residual scatter */ 199 x = xvec[0].elements ;200 y = yvec[0].elements ;201 z = zvec[0].elements ;206 x = xvec[0].elements.Flt; 207 y = yvec[0].elements.Flt; 208 z = zvec[0].elements.Flt; 202 209 zf = zfit; 203 210 dZ = dZ2 = 0; … … 216 223 217 224 /* mask outlier points */ 218 x = xvec[0].elements ;219 y = yvec[0].elements ;220 z = zvec[0].elements ;225 x = xvec[0].elements.Flt; 226 y = yvec[0].elements.Flt; 227 z = zvec[0].elements.Flt; 221 228 zf = zfit; 222 229 Nmask = 0;
Note:
See TracChangeset
for help on using the changeset viewer.
