Changeset 42496
- Timestamp:
- Aug 15, 2023, 12:13:45 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20230313/psLib/src/math/psMinimizePolyFit.c
r42492 r42496 48 48 /* DEFINE STATEMENTS */ 49 49 /*****************************************************************************/ 50 #define CZW 150 #define CZW 0 51 51 52 52 # define USE_GAUSS_JORDAN 1 … … 710 710 switch (poly->type) { 711 711 case PS_POLYNOMIAL_ORD: 712 if ((f64->n < 10000)&&(poly->nX > 1)) { 712 // if x is NULL, the domain is the index of the vector, in which case we do not 713 // need to rescale (range is guaranteed to be < 10000) 714 if ((x != NULL) && (f64->n < 10000) && (poly->nX > 1)) { 713 715 scale = true; 714 716 … … 752 754 result = VectorFitPolynomial1DOrd(poly, mask, maskValue, f64, fErr64, z64); 753 755 psFree(z64); // Done with this. 754 } 755 else { 756 } else { 756 757 result = VectorFitPolynomial1DOrd(poly, mask, maskValue, f64, fErr64, x64); 757 758 } … … 1097 1098 PS_ASSERT_VECTOR_NON_NULL(f, false); 1098 1099 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(f, false); 1099 PS_ASSERT_VECTOR_NON_NULL(mask, false); 1100 PS_ASSERT_VECTORS_SIZE_EQUAL(mask, f, false); 1101 PS_ASSERT_VECTOR_TYPE(mask, PS_TYPE_VECTOR_MASK, false); 1100 if (mask != NULL) { 1101 PS_ASSERT_VECTORS_SIZE_EQUAL(mask, f, false); 1102 PS_ASSERT_VECTOR_TYPE(mask, PS_TYPE_VECTOR_MASK, false); 1103 } 1102 1104 1103 1105 if (fErr != NULL) { … … 1168 1170 } 1169 1171 1172 # if (0) 1173 // XXX test: 1174 FILE *ftest = fopen ("irls.wt.dat", "w"); 1175 for (int i = 0; i < modErr->n; i++) { 1176 if (modErr->type.type == PS_TYPE_F64) { 1177 fprintf (ftest, "%d %f\n", i, modErr->data.F64[i]); 1178 } else { 1179 fprintf (ftest, "%d %f\n", i, modErr->data.F32[i]); 1180 } 1181 } 1182 fclose (ftest); 1183 # endif 1170 1184 psFree (modErr); 1171 1185 }
Note:
See TracChangeset
for help on using the changeset viewer.
