IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 24, 2006, 6:23:34 PM (20 years ago)
Author:
magnier
Message:

added profile enabling, some attempts at optimization

File:
1 edited

Legend:

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

    r6448 r6493  
    2626    psF32 py = PAR[5]*Y;
    2727    psF32 z  = 0.5*PS_SQR(px) + 0.5*PS_SQR(py) + PAR[6]*X*Y;
    28 
    29     psF32 r  = 1.0 / (1 + PAR[7]*z + pow(z, 2.25));
    30     psF32 f  = PAR[1]*r + PAR[0];
     28    psF32 zp = pow(z,1.25);
     29
     30    psF32 r  = 1.0 / (1 + PAR[7]*z + z*zp);
     31    // test: psF32 r  = 1.0 / (1 + PAR[7]*z + PS_SQR(z));
     32    psF32 r1 = PAR[1]*r;
     33    psF32 f  = r1 + PAR[0];
    3134
    3235    if (deriv != NULL) {
     
    3437
    3538        // note difference from a pure gaussian: q = params->data.F32[1]*r
    36         psF32 t = PAR[1]*r*r;
    37         psF32 q = t*(PAR[7] + 2.25*pow(z, 1.25));
     39        psF32 t = r1*r;
     40        psF32 q = t*(PAR[7] + 2.25*zp);
     41        // test: psF32 q = t*(PAR[7] + 2*z);
    3842
    3943        dPAR[0] = +1.0;
     
    120124    for (z = 0.005; z < 50; z += 0.01) {
    121125        f = 1.0 / (1 + PAR[7]*z + pow(z, 2.25));
     126        // test: f = 1.0 / (1 + PAR[7]*z + PS_SQR(z));
    122127        norm += f;
    123128    }
     
    151156    for (z = 0.0; z < 30.0; z += dz) {
    152157        f = 1.0 / (1 + PAR[7]*z + pow(z, 2.25));
     158        // test: f = 1.0 / (1 + PAR[7]*z + PS_SQR(z));
    153159        if (f < limit)
    154160            break;
Note: See TracChangeset for help on using the changeset viewer.