IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 13, 2007, 1:41:51 PM (19 years ago)
Author:
magnier
Message:

replaced pmModel.status with pmModel.flags; using bit values instead of ints; names are now of the form PM_MODEL_STATUS_XXX; no error on limit saturation for model parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/objects/models/pmModel_QGAUSS.c

    r13567 r13803  
    127127        if (fabs(beta[nParam]) > fabs(beta_lim)) {
    128128            beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
    129             psError(PM_ERR_PSF, true, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
    130                     nParam, beta[nParam], beta_lim);
     129            psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
     130                     nParam, beta[nParam], beta_lim);
    131131            return false;
    132132        }
     
    163163        if (params[nParam] < params_min) {
    164164            params[nParam] = params_min;
    165             psError(PM_ERR_PSF, true, "params[nParam==%d] < params_min; %g v. %g",
    166                     nParam, params[nParam], params_min);
     165            psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
     166                     nParam, params[nParam], params_min);
    167167            return false;
    168168        }
     
    199199        if (params[nParam] > params_max) {
    200200            params[nParam] = params_max;
    201             psError(PM_ERR_PSF, true, "params[nParam==%d] > params_max; %g v. %g",
    202                     nParam, params[nParam], params_max);
     201            psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
     202                     nParam, params[nParam], params_max);
    203203            return false;
    204204        }
     
    372372            continue;
    373373
    374         if (!PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MIN, i, out, NULL) ||
    375             !PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL)) {
    376             psError(PM_ERR_PSF, false, "Setting limits at (r,c) = (%.1f, %.1f)",
    377                     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
    378             return false;
     374        bool status = true;
     375        status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MIN, i, out, NULL);
     376        status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL);
     377        if (!status) {
     378            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
     379                     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
     380            modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
    379381        }
    380382    }
    381383
    382     return(true);
     384    return true;
    383385}
    384386
Note: See TracChangeset for help on using the changeset viewer.