IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 24, 2006, 6:32:38 PM (20 years ago)
Author:
eugene
Message:

added profile enabling, some attempts at optimization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psphot/src/pmModelFitSet.c

    r6481 r6495  
    3838    psF32 *dPAR = oneDeriv->data.F32;
    3939
     40    psF32 *pars = params->data.F32;
     41    psF32 *dpars = (deriv == NULL) ? NULL : deriv->data.F32;
     42
    4043    int nSrc = (params->n - 1) / (nPar - 1);
    4144
    42     model = params->data.F32[0];
    43 
    44     PAR[0] = params->data.F32[0];
     45    PAR[0] = model = pars[0];
    4546    for (int i = 0; i < nSrc; i++) {
     47        int nOff = i*nPar - i;
    4648        for (int n = 1; n < nPar; n++) {
    47             PAR[n] = params->data.F32[i*nPar - i + n];
     49            PAR[n] = pars[nOff + n];
    4850        }
    49         value = mFunc (oneDeriv, onePar, x);
     51        if (deriv == NULL) {
     52            value = mFunc (NULL, onePar, x);
     53        } else {
     54            value = mFunc (oneDeriv, onePar, x);
     55            for (int n = 1; n < nPar; n++) {
     56                dpars[nOff + n] = dPAR[n];
     57            }
     58        }
    5059        model += value;
    51         for (int n = 1; n < nPar; n++) {
    52             deriv->data.F32[i*nPar - i + n] = dPAR[n];
    53         }
    5460    }
    55     deriv->data.F32[0] = dPAR[0]*2.0;
     61    if (deriv != NULL) {
     62        dpars[0] = dPAR[0]*2.0;
     63    }
    5664    return (model);
    5765}
Note: See TracChangeset for help on using the changeset viewer.