IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 19507


Ignore:
Timestamp:
Sep 11, 2008, 3:05:24 PM (18 years ago)
Author:
eugene
Message:

check error states on psMatrixGJSolve, convergence

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/astrom/pmAstrometryUtils.c

    r15895 r19507  
    77 *  @author EAM, IfA
    88 *
    9  *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2007-12-22 17:52:21 $
     9 *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2008-09-12 01:05:24 $
    1111 *
    1212 *  Copyright 2006 Institute for Astronomy, University of Hawaii
     
    6060            Beta->data.F32[1] = psPolynomial2DEval (trans->y, Xo, Yo);
    6161
    62             psMatrixGJSolveF32 (Alpha, Beta);
     62            if (!psMatrixGJSolveF32 (Alpha, Beta)) {
     63                psError(PS_ERR_UNKNOWN, false, "Unable to solve for center.");
     64                return NULL;
     65            }
    6366
    6467            Xo -= Beta->data.F32[0];
    6568            Yo -= Beta->data.F32[1];
    6669            dPos = hypot(Beta->data.F32[0], Beta->data.F32[1]);
     70
    6771        }
    6872        psFree (Alpha);
     
    7276        psFree (YdX);
    7377        psFree (YdY);
     78
     79        if (dPos > tol) {
     80            psError(PS_ERR_UNKNOWN, false, "Newton-Raphson method did not converge after 20 iterations (%f)\n", dPos);
     81            return NULL;
     82        }
    7483    }
    7584    psPlane *center = psPlaneAlloc ();
Note: See TracChangeset for help on using the changeset viewer.