IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 2791


Ignore:
Timestamp:
Dec 22, 2004, 1:09:40 PM (22 years ago)
Author:
gusciora
Message:

Added a few chek functions.

Location:
trunk/psLib/src
Files:
3 edited

Legend:

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

    r2789 r2791  
    77 *  polynomials.  It also contains a Gaussian functions.
    88 *
    9  *  @version $Revision: 1.76 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2004-12-22 21:00:36 $
     9 *  @version $Revision: 1.77 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2004-12-22 23:09:40 $
    1111 *
    1212 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    275275/*****************************************************************************
    276276    Polynomial coefficients will be accessed in [w][x][y][z] fashion.
    277  
    278277 *****************************************************************************/
    279278static psF32 ordPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly)
     
    309308static psF32 chebPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly)
    310309{
    311     //    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    312310    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    313311    psVector *d;
     
    355353}
    356354
    357 static psF32 ordPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly)
     355static psF32 ordPolynomial2DEval(psF32 x,
     356                                 psF32 y,
     357                                 const psPolynomial2D* myPoly)
    358358{
    359359    PS_POLY_CHECK_NULL(myPoly, NAN);
     
    381381static psF32 chebPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly)
    382382{
     383    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     384    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
    383385    PS_POLY_CHECK_NULL(myPoly, NAN);
    384386
     
    444446static psF32 chebPolynomial3DEval(psF32 x, psF32 y, psF32 z, const psPolynomial3D* myPoly)
    445447{
     448    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     449    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     450    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    446451    psS32 loop_x = 0;
    447452    psS32 loop_y = 0;
     
    519524static psF32 chebPolynomial4DEval(psF32 w, psF32 x, psF32 y, psF32 z, const psPolynomial4D* myPoly)
    520525{
     526    PS_FLOAT_CHECK_RANGE(w, -1.0, 1.0, 0.0);
     527    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     528    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     529    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    521530    psS32 loop_w = 0;
    522531    psS32 loop_x = 0;
     
    588597static psF64 dChebPolynomial1DEval(psF64 x, const psDPolynomial1D* myPoly)
    589598{
     599    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    590600    psVector *d;
    591601    psS32 n;
     
    635645static psF64 dChebPolynomial2DEval(psF64 x, psF64 y, const psDPolynomial2D* myPoly)
    636646{
     647    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     648    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
    637649    psS32 loop_x = 0;
    638650    psS32 loop_y = 0;
     
    697709static psF64 dChebPolynomial3DEval(psF64 x, psF64 y, psF64 z, const psDPolynomial3D* myPoly)
    698710{
     711    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     712    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     713    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    699714    psS32 loop_x = 0;
    700715    psS32 loop_y = 0;
     
    772787static psF64 dChebPolynomial4DEval(psF64 w, psF64 x, psF64 y, psF64 z, const psDPolynomial4D* myPoly)
    773788{
     789    PS_FLOAT_CHECK_RANGE(w, -1.0, 1.0, 0.0);
     790    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     791    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     792    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    774793    psS32 loop_w = 0;
    775794    psS32 loop_x = 0;
     
    902921                              psF32 x)
    903922{
     923    PS_PTR_CHECK_NULL(domain, NAN)
     924    PS_PTR_CHECK_NULL(range, NAN)
     925    // XXX: Check valid values for n, order, and x?
     926
    904927    psS32 binNum;
    905928    psS32 numIntPoints = order+1;
     
    18661889                                   psS32 order)
    18671890{
    1868     PS_INT_CHECK_NON_NEGATIVE(order, NULL);
    18691891    PS_VECTOR_CHECK_NULL(bounds, NULL);
    18701892    PS_VECTOR_CHECK_EMPTY(bounds, NULL);
     1893    PS_INT_CHECK_NON_NEGATIVE(order, NULL);
    18711894
    18721895    psSpline1D *tmp = NULL;
     
    19761999                          psScalar *x)
    19772000{
     2001    PS_VECTOR_CHECK_NULL(bins, -4);
     2002    PS_VECTOR_CHECK_EMPTY(bins, -4);
     2003    PS_PTR_CHECK_NULL(x, -6);
    19782004    PS_PTR_CHECK_TYPE_EQUAL(x, bins, -3);
    19792005    psS8* strType;
  • trunk/psLib/src/math/psPolynomial.c

    r2789 r2791  
    77 *  polynomials.  It also contains a Gaussian functions.
    88 *
    9  *  @version $Revision: 1.76 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2004-12-22 21:00:36 $
     9 *  @version $Revision: 1.77 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2004-12-22 23:09:40 $
    1111 *
    1212 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    275275/*****************************************************************************
    276276    Polynomial coefficients will be accessed in [w][x][y][z] fashion.
    277  
    278277 *****************************************************************************/
    279278static psF32 ordPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly)
     
    309308static psF32 chebPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly)
    310309{
    311     //    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    312310    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    313311    psVector *d;
     
    355353}
    356354
    357 static psF32 ordPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly)
     355static psF32 ordPolynomial2DEval(psF32 x,
     356                                 psF32 y,
     357                                 const psPolynomial2D* myPoly)
    358358{
    359359    PS_POLY_CHECK_NULL(myPoly, NAN);
     
    381381static psF32 chebPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly)
    382382{
     383    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     384    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
    383385    PS_POLY_CHECK_NULL(myPoly, NAN);
    384386
     
    444446static psF32 chebPolynomial3DEval(psF32 x, psF32 y, psF32 z, const psPolynomial3D* myPoly)
    445447{
     448    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     449    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     450    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    446451    psS32 loop_x = 0;
    447452    psS32 loop_y = 0;
     
    519524static psF32 chebPolynomial4DEval(psF32 w, psF32 x, psF32 y, psF32 z, const psPolynomial4D* myPoly)
    520525{
     526    PS_FLOAT_CHECK_RANGE(w, -1.0, 1.0, 0.0);
     527    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     528    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     529    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    521530    psS32 loop_w = 0;
    522531    psS32 loop_x = 0;
     
    588597static psF64 dChebPolynomial1DEval(psF64 x, const psDPolynomial1D* myPoly)
    589598{
     599    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    590600    psVector *d;
    591601    psS32 n;
     
    635645static psF64 dChebPolynomial2DEval(psF64 x, psF64 y, const psDPolynomial2D* myPoly)
    636646{
     647    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     648    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
    637649    psS32 loop_x = 0;
    638650    psS32 loop_y = 0;
     
    697709static psF64 dChebPolynomial3DEval(psF64 x, psF64 y, psF64 z, const psDPolynomial3D* myPoly)
    698710{
     711    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     712    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     713    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    699714    psS32 loop_x = 0;
    700715    psS32 loop_y = 0;
     
    772787static psF64 dChebPolynomial4DEval(psF64 w, psF64 x, psF64 y, psF64 z, const psDPolynomial4D* myPoly)
    773788{
     789    PS_FLOAT_CHECK_RANGE(w, -1.0, 1.0, 0.0);
     790    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     791    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     792    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    774793    psS32 loop_w = 0;
    775794    psS32 loop_x = 0;
     
    902921                              psF32 x)
    903922{
     923    PS_PTR_CHECK_NULL(domain, NAN)
     924    PS_PTR_CHECK_NULL(range, NAN)
     925    // XXX: Check valid values for n, order, and x?
     926
    904927    psS32 binNum;
    905928    psS32 numIntPoints = order+1;
     
    18661889                                   psS32 order)
    18671890{
    1868     PS_INT_CHECK_NON_NEGATIVE(order, NULL);
    18691891    PS_VECTOR_CHECK_NULL(bounds, NULL);
    18701892    PS_VECTOR_CHECK_EMPTY(bounds, NULL);
     1893    PS_INT_CHECK_NON_NEGATIVE(order, NULL);
    18711894
    18721895    psSpline1D *tmp = NULL;
     
    19761999                          psScalar *x)
    19772000{
     2001    PS_VECTOR_CHECK_NULL(bins, -4);
     2002    PS_VECTOR_CHECK_EMPTY(bins, -4);
     2003    PS_PTR_CHECK_NULL(x, -6);
    19782004    PS_PTR_CHECK_TYPE_EQUAL(x, bins, -3);
    19792005    psS8* strType;
  • trunk/psLib/src/math/psSpline.c

    r2789 r2791  
    77 *  polynomials.  It also contains a Gaussian functions.
    88 *
    9  *  @version $Revision: 1.76 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2004-12-22 21:00:36 $
     9 *  @version $Revision: 1.77 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2004-12-22 23:09:40 $
    1111 *
    1212 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    275275/*****************************************************************************
    276276    Polynomial coefficients will be accessed in [w][x][y][z] fashion.
    277  
    278277 *****************************************************************************/
    279278static psF32 ordPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly)
     
    309308static psF32 chebPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly)
    310309{
    311     //    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    312310    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    313311    psVector *d;
     
    355353}
    356354
    357 static psF32 ordPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly)
     355static psF32 ordPolynomial2DEval(psF32 x,
     356                                 psF32 y,
     357                                 const psPolynomial2D* myPoly)
    358358{
    359359    PS_POLY_CHECK_NULL(myPoly, NAN);
     
    381381static psF32 chebPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly)
    382382{
     383    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     384    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
    383385    PS_POLY_CHECK_NULL(myPoly, NAN);
    384386
     
    444446static psF32 chebPolynomial3DEval(psF32 x, psF32 y, psF32 z, const psPolynomial3D* myPoly)
    445447{
     448    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     449    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     450    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    446451    psS32 loop_x = 0;
    447452    psS32 loop_y = 0;
     
    519524static psF32 chebPolynomial4DEval(psF32 w, psF32 x, psF32 y, psF32 z, const psPolynomial4D* myPoly)
    520525{
     526    PS_FLOAT_CHECK_RANGE(w, -1.0, 1.0, 0.0);
     527    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     528    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     529    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    521530    psS32 loop_w = 0;
    522531    psS32 loop_x = 0;
     
    588597static psF64 dChebPolynomial1DEval(psF64 x, const psDPolynomial1D* myPoly)
    589598{
     599    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
    590600    psVector *d;
    591601    psS32 n;
     
    635645static psF64 dChebPolynomial2DEval(psF64 x, psF64 y, const psDPolynomial2D* myPoly)
    636646{
     647    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     648    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
    637649    psS32 loop_x = 0;
    638650    psS32 loop_y = 0;
     
    697709static psF64 dChebPolynomial3DEval(psF64 x, psF64 y, psF64 z, const psDPolynomial3D* myPoly)
    698710{
     711    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     712    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     713    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    699714    psS32 loop_x = 0;
    700715    psS32 loop_y = 0;
     
    772787static psF64 dChebPolynomial4DEval(psF64 w, psF64 x, psF64 y, psF64 z, const psDPolynomial4D* myPoly)
    773788{
     789    PS_FLOAT_CHECK_RANGE(w, -1.0, 1.0, 0.0);
     790    PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);
     791    PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0);
     792    PS_FLOAT_CHECK_RANGE(z, -1.0, 1.0, 0.0);
    774793    psS32 loop_w = 0;
    775794    psS32 loop_x = 0;
     
    902921                              psF32 x)
    903922{
     923    PS_PTR_CHECK_NULL(domain, NAN)
     924    PS_PTR_CHECK_NULL(range, NAN)
     925    // XXX: Check valid values for n, order, and x?
     926
    904927    psS32 binNum;
    905928    psS32 numIntPoints = order+1;
     
    18661889                                   psS32 order)
    18671890{
    1868     PS_INT_CHECK_NON_NEGATIVE(order, NULL);
    18691891    PS_VECTOR_CHECK_NULL(bounds, NULL);
    18701892    PS_VECTOR_CHECK_EMPTY(bounds, NULL);
     1893    PS_INT_CHECK_NON_NEGATIVE(order, NULL);
    18711894
    18721895    psSpline1D *tmp = NULL;
     
    19761999                          psScalar *x)
    19772000{
     2001    PS_VECTOR_CHECK_NULL(bins, -4);
     2002    PS_VECTOR_CHECK_EMPTY(bins, -4);
     2003    PS_PTR_CHECK_NULL(x, -6);
    19782004    PS_PTR_CHECK_TYPE_EQUAL(x, bins, -3);
    19792005    psS8* strType;
Note: See TracChangeset for help on using the changeset viewer.