Changeset 6028
- Timestamp:
- Jan 16, 2006, 11:26:50 PM (21 years ago)
- File:
-
- 1 edited
-
branches/eam_rel9_b1/psLib/src/math/psMinimize.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_rel9_b1/psLib/src/math/psMinimize.c
r5959 r6028 10 10 * @author EAM, IfA 11 11 * 12 * @version $Revision: 1.147.4.1.2. 6$ $Name: not supported by cvs2svn $13 * @date $Date: 2006-01-1 0 04:47:27$12 * @version $Revision: 1.147.4.1.2.7 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2006-01-17 09:26:50 $ 14 14 * 15 15 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 206 206 } 207 207 208 # include "psAbort.h" 209 208 210 // XXX EAM: this needs to respect the mask on params 209 211 // alpha, beta, params are already allocated … … 246 248 delta = ymodel - y->data.F32[i]; 247 249 chisq += PS_SQR(delta) * dy->data.F32[i]; 250 // fprintf (stderr, "chi: %f : %f %f %f\n", chisq, ymodel, y->data.F32[i], dy->data.F32[i]); 251 // if (!isfinite(chisq)) psAbort ("min", "chi"); 248 252 249 253 for (int j = 0; j < params->n; j++) { … … 2951 2955 } 2952 2956 PS_ASSERT_VECTOR_NON_NULL(x, NULL); 2953 PS_ASSERT_VECTORS_SIZE_EQUAL(f, y, NULL);2957 PS_ASSERT_VECTORS_SIZE_EQUAL(f, x, NULL); 2954 2958 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(x, NULL); 2955 2959 PS_ASSERT_VECTOR_NON_NULL(y, NULL); 2956 2960 PS_ASSERT_VECTORS_SIZE_EQUAL(f, y, NULL); 2957 2961 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(y, NULL); 2958 PS_ASSERT_VECTOR_NON_NULL( f, NULL);2959 // PS_ASSERT_VECTORS_SIZE_EQUAL(f, f, NULL);2960 // PS_ASSERT_VECTOR_TYPE_F32_OR_F64(f, NULL);2962 PS_ASSERT_VECTOR_NON_NULL(z, NULL); 2963 PS_ASSERT_VECTORS_SIZE_EQUAL(f, z, NULL); 2964 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(z, NULL); 2961 2965 if (fErr != NULL) { 2962 PS_ASSERT_VECTORS_SIZE_EQUAL(f Err, mask, NULL);2966 PS_ASSERT_VECTORS_SIZE_EQUAL(f, fErr, NULL); 2963 2967 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(fErr, NULL); 2964 2968 } … … 3211 3215 psFree(B); 3212 3216 3217 if (Sums == NULL) { 3218 psLogMsg (".psLib.VectorFitPolynomial3DOrd", 4, "all data has been clipped away\n"); 3219 return (myPoly); 3220 } 3221 3213 3222 for (int ix = 0; ix < nXterm; ix++) { 3214 3223 for (int iy = 0; iy < nYterm; iy++) { … … 3438 3447 PS_ASSERT_PTR_NON_NULL(stats, NULL); 3439 3448 PS_ASSERT_VECTOR_NON_NULL(f, NULL); 3440 PS_ASSERT_VECTOR_TYPE (f, PS_TYPE_F32, NULL);3449 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(f, NULL); 3441 3450 if (mask != NULL) { 3442 3451 PS_ASSERT_VECTORS_SIZE_EQUAL(f, mask, NULL); … … 3444 3453 } 3445 3454 PS_ASSERT_VECTOR_NON_NULL(x, NULL); 3446 PS_ASSERT_VECTORS_SIZE_EQUAL(f, y, NULL);3447 PS_ASSERT_VECTOR_TYPE (x, PS_TYPE_F32, NULL);3455 PS_ASSERT_VECTORS_SIZE_EQUAL(f, x, NULL); 3456 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(x, NULL); 3448 3457 PS_ASSERT_VECTOR_NON_NULL(y, NULL); 3449 3458 PS_ASSERT_VECTORS_SIZE_EQUAL(f, y, NULL); 3450 PS_ASSERT_VECTOR_TYPE (y, PS_TYPE_F32, NULL);3451 PS_ASSERT_VECTOR_NON_NULL( f, NULL);3452 PS_ASSERT_VECTORS_SIZE_EQUAL(f, f, NULL);3453 PS_ASSERT_VECTOR_TYPE (f, PS_TYPE_F32, NULL);3459 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(y, NULL); 3460 PS_ASSERT_VECTOR_NON_NULL(z, NULL); 3461 PS_ASSERT_VECTORS_SIZE_EQUAL(f, z, NULL); 3462 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(z, NULL); 3454 3463 PS_ASSERT_VECTOR_NON_NULL(t, NULL); 3455 3464 PS_ASSERT_VECTORS_SIZE_EQUAL(f, t, NULL); 3456 PS_ASSERT_VECTOR_TYPE (t, PS_TYPE_F32, NULL);3465 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(t, NULL); 3457 3466 if (fErr != NULL) { 3458 3467 PS_ASSERT_VECTORS_SIZE_EQUAL(fErr, mask, NULL); 3459 PS_ASSERT_VECTOR_TYPE (fErr, PS_TYPE_F32, NULL);3468 PS_ASSERT_VECTOR_TYPE_F32_OR_F64(fErr, NULL); 3460 3469 } 3461 3470 … … 3520 3529 Nkeep, x->n); 3521 3530 3531 stats->clippedNvalues = Nkeep; 3522 3532 psFree (fit); 3523 3533 }
Note:
See TracChangeset
for help on using the changeset viewer.
