IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 2438


Ignore:
Timestamp:
Nov 24, 2004, 12:22:38 PM (22 years ago)
Author:
gusciora
Message:

Added error checking for covar.

Location:
trunk/psLib/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/dataManip/psConstants.h

    r2342 r2438  
    66 *  @author GLG, MHPCC
    77 *
    8  *  @version $Revision: 1.39 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2004-11-12 19:36:07 $
     8 *  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2004-11-24 22:22:38 $
    1010 *
    1111 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    … …  
    395395}
    396396
     397#define PS_IMAGE_CHECK_SIZE_(NAME1, NUM_COLS, NUM_ROWS, RVAL) \
     398if ((NAME1->numCols != NUM_COLS) || \
     399        (NAME1->numRows != NUM_ROWS)) { \
     400    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
     401            "Unallowable operation: psImages %s is not the correct size.", \
     402            #NAME1); \
     403    return(RVAL); \
     404}
     405
    397406
    398407
  • trunk/psLib/src/dataManip/psMinimize.c

    r2406 r2438  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.89 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2004-11-23 19:35:30 $
     11 *  @version $Revision: 1.90 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2004-11-24 22:22:38 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    … …  
    529529     will have to convert all F32 input vectors to F64 regardless.  So,
    530530     the F64 port might be.
     531 
     532XXX: Must update the covar matrix.
    531533 *****************************************************************************/
    532534psBool psMinimizeLMChi2(psMinimization *min,
    … …  
    553555    if (yErr != NULL) {
    554556        PS_VECTOR_CHECK_SIZE_EQUAL(y, yErr, NULL);
     557    }
     558
     559    if (covar != NULL) {
     560        PS_IMAGE_CHECK_SIZE_(covar, params->n, params->n, NULL);
     561    } else {
     562        covar = psImageAlloc(params->n, params->n, PS_TYPE_F64);
    555563    }
    556564
  • trunk/psLib/src/math/psConstants.h

    r2342 r2438  
    66 *  @author GLG, MHPCC
    77 *
    8  *  @version $Revision: 1.39 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2004-11-12 19:36:07 $
     8 *  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2004-11-24 22:22:38 $
    1010 *
    1111 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    … …  
    395395}
    396396
     397#define PS_IMAGE_CHECK_SIZE_(NAME1, NUM_COLS, NUM_ROWS, RVAL) \
     398if ((NAME1->numCols != NUM_COLS) || \
     399        (NAME1->numRows != NUM_ROWS)) { \
     400    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
     401            "Unallowable operation: psImages %s is not the correct size.", \
     402            #NAME1); \
     403    return(RVAL); \
     404}
     405
    397406
    398407
  • trunk/psLib/src/math/psMinimize.c

    r2406 r2438  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.89 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2004-11-23 19:35:30 $
     11 *  @version $Revision: 1.90 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2004-11-24 22:22:38 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    … …  
    529529     will have to convert all F32 input vectors to F64 regardless.  So,
    530530     the F64 port might be.
     531 
     532XXX: Must update the covar matrix.
    531533 *****************************************************************************/
    532534psBool psMinimizeLMChi2(psMinimization *min,
    … …  
    553555    if (yErr != NULL) {
    554556        PS_VECTOR_CHECK_SIZE_EQUAL(y, yErr, NULL);
     557    }
     558
     559    if (covar != NULL) {
     560        PS_IMAGE_CHECK_SIZE_(covar, params->n, params->n, NULL);
     561    } else {
     562        covar = psImageAlloc(params->n, params->n, PS_TYPE_F64);
    555563    }
    556564
Note: See TracChangeset for help on using the changeset viewer.