Index: /branches/eam_branches/ipp-20230313/psLib/src/math/psMinimizePolyFit.c
===================================================================
--- /branches/eam_branches/ipp-20230313/psLib/src/math/psMinimizePolyFit.c	(revision 42495)
+++ /branches/eam_branches/ipp-20230313/psLib/src/math/psMinimizePolyFit.c	(revision 42496)
@@ -48,5 +48,5 @@
 /* DEFINE STATEMENTS                                                         */
 /*****************************************************************************/
-#define CZW 1
+#define CZW 0
 
 # define USE_GAUSS_JORDAN 1
@@ -710,5 +710,7 @@
     switch (poly->type) {
     case PS_POLYNOMIAL_ORD:
-      if ((f64->n < 10000)&&(poly->nX > 1)) {
+      // if x is NULL, the domain is the index of the vector, in which case we do not
+      // need to rescale (range is guaranteed to be < 10000)
+      if ((x != NULL) && (f64->n < 10000) && (poly->nX > 1)) {
 	scale = true;
 
@@ -752,6 +754,5 @@
 	result = VectorFitPolynomial1DOrd(poly, mask, maskValue, f64, fErr64, z64);
 	psFree(z64); // Done with this.
-      }
-      else {
+      } else {
 	result = VectorFitPolynomial1DOrd(poly, mask, maskValue, f64, fErr64, x64);
       }
@@ -1097,7 +1098,8 @@
     PS_ASSERT_VECTOR_NON_NULL(f, false);
     PS_ASSERT_VECTOR_TYPE_F32_OR_F64(f, false);
-    PS_ASSERT_VECTOR_NON_NULL(mask, false);
-    PS_ASSERT_VECTORS_SIZE_EQUAL(mask, f, false);
-    PS_ASSERT_VECTOR_TYPE(mask, PS_TYPE_VECTOR_MASK, false);
+    if (mask != NULL) {
+	PS_ASSERT_VECTORS_SIZE_EQUAL(mask, f, false);
+	PS_ASSERT_VECTOR_TYPE(mask, PS_TYPE_VECTOR_MASK, false);
+    }
 
     if (fErr != NULL) {
@@ -1168,4 +1170,16 @@
 	}
 
+# if (0)	
+	// XXX test:
+	FILE *ftest = fopen ("irls.wt.dat", "w");
+	for (int i = 0; i < modErr->n; i++) {
+	    if (modErr->type.type == PS_TYPE_F64) {
+		fprintf (ftest, "%d %f\n", i, modErr->data.F64[i]);
+	    } else {
+		fprintf (ftest, "%d %f\n", i, modErr->data.F32[i]);
+	    }
+	}
+	fclose (ftest);
+# endif
 	psFree (modErr);
     }
