IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 2219


Ignore:
Timestamp:
Oct 27, 2004, 11:42:21 AM (22 years ago)
Author:
gusciora
Message:

Type-checking for psMinimize.c parameters.

Location:
trunk/psLib/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/dataManip/psMinimize.c

    r2216 r2219  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.70 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2004-10-27 20:32:49 $
     11 *  @version $Revision: 1.71 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2004-10-27 21:42:21 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    173173                         float X)
    174174{
     175    PS_PTR_CHECK_NULL(spline, NAN);
     176    PS_INT_CHECK_NON_NEGATIVE(spline->n, NAN);
     177    PS_PTR_CHECK_NULL(spline->domains, NAN);
     178    PS_PTR_CHECK_NULL(spline->p_psDeriv2, NAN);
     179    PS_VECTOR_CHECK_NULL(x, NAN);
     180    PS_VECTOR_CHECK_TYPE(x, PS_TYPE_F32, NAN);
     181    PS_VECTOR_CHECK_NULL(y, NAN);
     182    PS_VECTOR_CHECK_TYPE(y, PS_TYPE_F32, NAN);
     183
    175184    psS32 n;
    176185    psS32 klo;
     
    238247                                const psVector* restrict yErr)     ///< Errors in coordinates, or NULL
    239248{
     249    PS_PTR_CHECK_NULL(mySpline, NULL);
     250    PS_INT_CHECK_NON_NEGATIVE(mySpline->n, NULL);
     251    PS_VECTOR_CHECK_NULL(x, NULL);
     252    PS_VECTOR_CHECK_NULL(y, NULL);
     253    PS_VECTOR_CHECK_TYPE_F32_OR_F64(y, NULL);
     254
    240255    psTrace(".psLib.dataManip.psVectorFitSpline1D", 4,
    241256            "---- psVectorFitSpline1D() begin ----\n");
     
    252267    static psVector *yErr32Static = NULL;
    253268
    254     PS_PTR_CHECK_NULL(mySpline, NULL);
    255     PS_PTR_CHECK_NULL(y, NULL);
    256     PS_VECTOR_CHECK_TYPE_F32_OR_F64(y, NULL);
    257269    PS_VECTOR_CONVERT_F64_TO_F32_STATIC(y, y32, y32Static);
    258270
     
    432444    PS_VECTOR_CHECK_EMPTY(y, NULL);
    433445    PS_VECTOR_CHECK_SIZE_EQUAL(x, y, NULL);
     446    PS_PTR_CHECK_NULL(func, NULL);
     447
    434448    if (paramMask != NULL) {
    435449        PS_VECTOR_CHECK_SIZE_EQUAL(params, paramMask, NULL);
     
    853867                                        const psVector* restrict yErr)
    854868{
     869    PS_POLY_CHECK_NULL(myPoly, NULL);
     870    PS_INT_CHECK_NON_NEGATIVE(myPoly->n, NULL);
     871    PS_VECTOR_CHECK_NULL(y, NULL);
     872    PS_VECTOR_CHECK_EMPTY(y, NULL);
     873    PS_VECTOR_CHECK_TYPE_F32_OR_F64(y, NULL);
     874
    855875    psS32 i;
    856876    psPolynomial1D *tmpPoly;
    857     PS_POLY_CHECK_NULL(myPoly, NULL);
    858     PS_VECTOR_CHECK_NULL(y, NULL);
    859     PS_VECTOR_CHECK_EMPTY(y, NULL);
    860877    psVector *x64 = NULL;
    861878    psVector *y64 = NULL;
     
    865882    static psVector *yErr64Static = NULL;
    866883
    867     PS_VECTOR_CHECK_TYPE_F32_OR_F64(y, NULL);
    868884    PS_VECTOR_CONVERT_F32_TO_F64_STATIC(y, y64, y64Static);
    869 
    870885    // If yErr==NULL, set all errors equal.
    871886    if (yErr == NULL) {
     
    911926                                    float tol)
    912927{
     928    PS_INT_CHECK_NON_NEGATIVE(maxIter, NULL);
     929
    913930    psMinimization *min = psAlloc(sizeof(psMinimization));
    914931    min->maxIter = maxIter;
     
    13191336                        psMinimizePowellFunc func)
    13201337{
     1338    PS_PTR_CHECK_NULL(min, NULL);
    13211339    PS_VECTOR_CHECK_NULL(params, NULL);
    13221340    PS_VECTOR_CHECK_EMPTY(params, NULL);
    1323     PS_PTR_CHECK_NULL(min, NULL);
     1341    PS_VECTOR_CHECK_TYPE(params, PS_TYPE_F32, NULL);
    13241342    PS_PTR_CHECK_NULL(coords, NULL);
    13251343    PS_PTR_CHECK_NULL(func, NULL);
  • trunk/psLib/src/math/psMinimize.c

    r2216 r2219  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.70 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2004-10-27 20:32:49 $
     11 *  @version $Revision: 1.71 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2004-10-27 21:42:21 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    173173                         float X)
    174174{
     175    PS_PTR_CHECK_NULL(spline, NAN);
     176    PS_INT_CHECK_NON_NEGATIVE(spline->n, NAN);
     177    PS_PTR_CHECK_NULL(spline->domains, NAN);
     178    PS_PTR_CHECK_NULL(spline->p_psDeriv2, NAN);
     179    PS_VECTOR_CHECK_NULL(x, NAN);
     180    PS_VECTOR_CHECK_TYPE(x, PS_TYPE_F32, NAN);
     181    PS_VECTOR_CHECK_NULL(y, NAN);
     182    PS_VECTOR_CHECK_TYPE(y, PS_TYPE_F32, NAN);
     183
    175184    psS32 n;
    176185    psS32 klo;
     
    238247                                const psVector* restrict yErr)     ///< Errors in coordinates, or NULL
    239248{
     249    PS_PTR_CHECK_NULL(mySpline, NULL);
     250    PS_INT_CHECK_NON_NEGATIVE(mySpline->n, NULL);
     251    PS_VECTOR_CHECK_NULL(x, NULL);
     252    PS_VECTOR_CHECK_NULL(y, NULL);
     253    PS_VECTOR_CHECK_TYPE_F32_OR_F64(y, NULL);
     254
    240255    psTrace(".psLib.dataManip.psVectorFitSpline1D", 4,
    241256            "---- psVectorFitSpline1D() begin ----\n");
     
    252267    static psVector *yErr32Static = NULL;
    253268
    254     PS_PTR_CHECK_NULL(mySpline, NULL);
    255     PS_PTR_CHECK_NULL(y, NULL);
    256     PS_VECTOR_CHECK_TYPE_F32_OR_F64(y, NULL);
    257269    PS_VECTOR_CONVERT_F64_TO_F32_STATIC(y, y32, y32Static);
    258270
     
    432444    PS_VECTOR_CHECK_EMPTY(y, NULL);
    433445    PS_VECTOR_CHECK_SIZE_EQUAL(x, y, NULL);
     446    PS_PTR_CHECK_NULL(func, NULL);
     447
    434448    if (paramMask != NULL) {
    435449        PS_VECTOR_CHECK_SIZE_EQUAL(params, paramMask, NULL);
     
    853867                                        const psVector* restrict yErr)
    854868{
     869    PS_POLY_CHECK_NULL(myPoly, NULL);
     870    PS_INT_CHECK_NON_NEGATIVE(myPoly->n, NULL);
     871    PS_VECTOR_CHECK_NULL(y, NULL);
     872    PS_VECTOR_CHECK_EMPTY(y, NULL);
     873    PS_VECTOR_CHECK_TYPE_F32_OR_F64(y, NULL);
     874
    855875    psS32 i;
    856876    psPolynomial1D *tmpPoly;
    857     PS_POLY_CHECK_NULL(myPoly, NULL);
    858     PS_VECTOR_CHECK_NULL(y, NULL);
    859     PS_VECTOR_CHECK_EMPTY(y, NULL);
    860877    psVector *x64 = NULL;
    861878    psVector *y64 = NULL;
     
    865882    static psVector *yErr64Static = NULL;
    866883
    867     PS_VECTOR_CHECK_TYPE_F32_OR_F64(y, NULL);
    868884    PS_VECTOR_CONVERT_F32_TO_F64_STATIC(y, y64, y64Static);
    869 
    870885    // If yErr==NULL, set all errors equal.
    871886    if (yErr == NULL) {
     
    911926                                    float tol)
    912927{
     928    PS_INT_CHECK_NON_NEGATIVE(maxIter, NULL);
     929
    913930    psMinimization *min = psAlloc(sizeof(psMinimization));
    914931    min->maxIter = maxIter;
     
    13191336                        psMinimizePowellFunc func)
    13201337{
     1338    PS_PTR_CHECK_NULL(min, NULL);
    13211339    PS_VECTOR_CHECK_NULL(params, NULL);
    13221340    PS_VECTOR_CHECK_EMPTY(params, NULL);
    1323     PS_PTR_CHECK_NULL(min, NULL);
     1341    PS_VECTOR_CHECK_TYPE(params, PS_TYPE_F32, NULL);
    13241342    PS_PTR_CHECK_NULL(coords, NULL);
    13251343    PS_PTR_CHECK_NULL(func, NULL);
Note: See TracChangeset for help on using the changeset viewer.