Changeset 2791
- Timestamp:
- Dec 22, 2004, 1:09:40 PM (22 years ago)
- Location:
- trunk/psLib/src
- Files:
-
- 3 edited
-
dataManip/psFunctions.c (modified) (14 diffs)
-
math/psPolynomial.c (modified) (14 diffs)
-
math/psSpline.c (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/dataManip/psFunctions.c
r2789 r2791 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.7 6$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-12-22 2 1:00:36$9 * @version $Revision: 1.77 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-22 23:09:40 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 275 275 /***************************************************************************** 276 276 Polynomial coefficients will be accessed in [w][x][y][z] fashion. 277 278 277 *****************************************************************************/ 279 278 static psF32 ordPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly) … … 309 308 static psF32 chebPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly) 310 309 { 311 // PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);312 310 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 313 311 psVector *d; … … 355 353 } 356 354 357 static psF32 ordPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly) 355 static psF32 ordPolynomial2DEval(psF32 x, 356 psF32 y, 357 const psPolynomial2D* myPoly) 358 358 { 359 359 PS_POLY_CHECK_NULL(myPoly, NAN); … … 381 381 static psF32 chebPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly) 382 382 { 383 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 384 PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0); 383 385 PS_POLY_CHECK_NULL(myPoly, NAN); 384 386 … … 444 446 static psF32 chebPolynomial3DEval(psF32 x, psF32 y, psF32 z, const psPolynomial3D* myPoly) 445 447 { 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); 446 451 psS32 loop_x = 0; 447 452 psS32 loop_y = 0; … … 519 524 static psF32 chebPolynomial4DEval(psF32 w, psF32 x, psF32 y, psF32 z, const psPolynomial4D* myPoly) 520 525 { 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); 521 530 psS32 loop_w = 0; 522 531 psS32 loop_x = 0; … … 588 597 static psF64 dChebPolynomial1DEval(psF64 x, const psDPolynomial1D* myPoly) 589 598 { 599 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 590 600 psVector *d; 591 601 psS32 n; … … 635 645 static psF64 dChebPolynomial2DEval(psF64 x, psF64 y, const psDPolynomial2D* myPoly) 636 646 { 647 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 648 PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0); 637 649 psS32 loop_x = 0; 638 650 psS32 loop_y = 0; … … 697 709 static psF64 dChebPolynomial3DEval(psF64 x, psF64 y, psF64 z, const psDPolynomial3D* myPoly) 698 710 { 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); 699 714 psS32 loop_x = 0; 700 715 psS32 loop_y = 0; … … 772 787 static psF64 dChebPolynomial4DEval(psF64 w, psF64 x, psF64 y, psF64 z, const psDPolynomial4D* myPoly) 773 788 { 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); 774 793 psS32 loop_w = 0; 775 794 psS32 loop_x = 0; … … 902 921 psF32 x) 903 922 { 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 904 927 psS32 binNum; 905 928 psS32 numIntPoints = order+1; … … 1866 1889 psS32 order) 1867 1890 { 1868 PS_INT_CHECK_NON_NEGATIVE(order, NULL);1869 1891 PS_VECTOR_CHECK_NULL(bounds, NULL); 1870 1892 PS_VECTOR_CHECK_EMPTY(bounds, NULL); 1893 PS_INT_CHECK_NON_NEGATIVE(order, NULL); 1871 1894 1872 1895 psSpline1D *tmp = NULL; … … 1976 1999 psScalar *x) 1977 2000 { 2001 PS_VECTOR_CHECK_NULL(bins, -4); 2002 PS_VECTOR_CHECK_EMPTY(bins, -4); 2003 PS_PTR_CHECK_NULL(x, -6); 1978 2004 PS_PTR_CHECK_TYPE_EQUAL(x, bins, -3); 1979 2005 psS8* strType; -
trunk/psLib/src/math/psPolynomial.c
r2789 r2791 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.7 6$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-12-22 2 1:00:36$9 * @version $Revision: 1.77 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-22 23:09:40 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 275 275 /***************************************************************************** 276 276 Polynomial coefficients will be accessed in [w][x][y][z] fashion. 277 278 277 *****************************************************************************/ 279 278 static psF32 ordPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly) … … 309 308 static psF32 chebPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly) 310 309 { 311 // PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);312 310 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 313 311 psVector *d; … … 355 353 } 356 354 357 static psF32 ordPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly) 355 static psF32 ordPolynomial2DEval(psF32 x, 356 psF32 y, 357 const psPolynomial2D* myPoly) 358 358 { 359 359 PS_POLY_CHECK_NULL(myPoly, NAN); … … 381 381 static psF32 chebPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly) 382 382 { 383 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 384 PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0); 383 385 PS_POLY_CHECK_NULL(myPoly, NAN); 384 386 … … 444 446 static psF32 chebPolynomial3DEval(psF32 x, psF32 y, psF32 z, const psPolynomial3D* myPoly) 445 447 { 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); 446 451 psS32 loop_x = 0; 447 452 psS32 loop_y = 0; … … 519 524 static psF32 chebPolynomial4DEval(psF32 w, psF32 x, psF32 y, psF32 z, const psPolynomial4D* myPoly) 520 525 { 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); 521 530 psS32 loop_w = 0; 522 531 psS32 loop_x = 0; … … 588 597 static psF64 dChebPolynomial1DEval(psF64 x, const psDPolynomial1D* myPoly) 589 598 { 599 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 590 600 psVector *d; 591 601 psS32 n; … … 635 645 static psF64 dChebPolynomial2DEval(psF64 x, psF64 y, const psDPolynomial2D* myPoly) 636 646 { 647 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 648 PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0); 637 649 psS32 loop_x = 0; 638 650 psS32 loop_y = 0; … … 697 709 static psF64 dChebPolynomial3DEval(psF64 x, psF64 y, psF64 z, const psDPolynomial3D* myPoly) 698 710 { 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); 699 714 psS32 loop_x = 0; 700 715 psS32 loop_y = 0; … … 772 787 static psF64 dChebPolynomial4DEval(psF64 w, psF64 x, psF64 y, psF64 z, const psDPolynomial4D* myPoly) 773 788 { 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); 774 793 psS32 loop_w = 0; 775 794 psS32 loop_x = 0; … … 902 921 psF32 x) 903 922 { 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 904 927 psS32 binNum; 905 928 psS32 numIntPoints = order+1; … … 1866 1889 psS32 order) 1867 1890 { 1868 PS_INT_CHECK_NON_NEGATIVE(order, NULL);1869 1891 PS_VECTOR_CHECK_NULL(bounds, NULL); 1870 1892 PS_VECTOR_CHECK_EMPTY(bounds, NULL); 1893 PS_INT_CHECK_NON_NEGATIVE(order, NULL); 1871 1894 1872 1895 psSpline1D *tmp = NULL; … … 1976 1999 psScalar *x) 1977 2000 { 2001 PS_VECTOR_CHECK_NULL(bins, -4); 2002 PS_VECTOR_CHECK_EMPTY(bins, -4); 2003 PS_PTR_CHECK_NULL(x, -6); 1978 2004 PS_PTR_CHECK_TYPE_EQUAL(x, bins, -3); 1979 2005 psS8* strType; -
trunk/psLib/src/math/psSpline.c
r2789 r2791 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.7 6$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-12-22 2 1:00:36$9 * @version $Revision: 1.77 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-22 23:09:40 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 275 275 /***************************************************************************** 276 276 Polynomial coefficients will be accessed in [w][x][y][z] fashion. 277 278 277 *****************************************************************************/ 279 278 static psF32 ordPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly) … … 309 308 static psF32 chebPolynomial1DEval(psF32 x, const psPolynomial1D* myPoly) 310 309 { 311 // PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0);312 310 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 313 311 psVector *d; … … 355 353 } 356 354 357 static psF32 ordPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly) 355 static psF32 ordPolynomial2DEval(psF32 x, 356 psF32 y, 357 const psPolynomial2D* myPoly) 358 358 { 359 359 PS_POLY_CHECK_NULL(myPoly, NAN); … … 381 381 static psF32 chebPolynomial2DEval(psF32 x, psF32 y, const psPolynomial2D* myPoly) 382 382 { 383 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 384 PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0); 383 385 PS_POLY_CHECK_NULL(myPoly, NAN); 384 386 … … 444 446 static psF32 chebPolynomial3DEval(psF32 x, psF32 y, psF32 z, const psPolynomial3D* myPoly) 445 447 { 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); 446 451 psS32 loop_x = 0; 447 452 psS32 loop_y = 0; … … 519 524 static psF32 chebPolynomial4DEval(psF32 w, psF32 x, psF32 y, psF32 z, const psPolynomial4D* myPoly) 520 525 { 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); 521 530 psS32 loop_w = 0; 522 531 psS32 loop_x = 0; … … 588 597 static psF64 dChebPolynomial1DEval(psF64 x, const psDPolynomial1D* myPoly) 589 598 { 599 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 590 600 psVector *d; 591 601 psS32 n; … … 635 645 static psF64 dChebPolynomial2DEval(psF64 x, psF64 y, const psDPolynomial2D* myPoly) 636 646 { 647 PS_FLOAT_CHECK_RANGE(x, -1.0, 1.0, 0.0); 648 PS_FLOAT_CHECK_RANGE(y, -1.0, 1.0, 0.0); 637 649 psS32 loop_x = 0; 638 650 psS32 loop_y = 0; … … 697 709 static psF64 dChebPolynomial3DEval(psF64 x, psF64 y, psF64 z, const psDPolynomial3D* myPoly) 698 710 { 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); 699 714 psS32 loop_x = 0; 700 715 psS32 loop_y = 0; … … 772 787 static psF64 dChebPolynomial4DEval(psF64 w, psF64 x, psF64 y, psF64 z, const psDPolynomial4D* myPoly) 773 788 { 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); 774 793 psS32 loop_w = 0; 775 794 psS32 loop_x = 0; … … 902 921 psF32 x) 903 922 { 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 904 927 psS32 binNum; 905 928 psS32 numIntPoints = order+1; … … 1866 1889 psS32 order) 1867 1890 { 1868 PS_INT_CHECK_NON_NEGATIVE(order, NULL);1869 1891 PS_VECTOR_CHECK_NULL(bounds, NULL); 1870 1892 PS_VECTOR_CHECK_EMPTY(bounds, NULL); 1893 PS_INT_CHECK_NON_NEGATIVE(order, NULL); 1871 1894 1872 1895 psSpline1D *tmp = NULL; … … 1976 1999 psScalar *x) 1977 2000 { 2001 PS_VECTOR_CHECK_NULL(bins, -4); 2002 PS_VECTOR_CHECK_EMPTY(bins, -4); 2003 PS_PTR_CHECK_NULL(x, -6); 1978 2004 PS_PTR_CHECK_TYPE_EQUAL(x, bins, -3); 1979 2005 psS8* strType;
Note:
See TracChangeset
for help on using the changeset viewer.
