Changeset 4447
- Timestamp:
- Jul 1, 2005, 12:01:17 PM (21 years ago)
- Location:
- trunk/psLib
- Files:
-
- 7 edited
-
src/dataManip/psFunctions.c (modified) (15 diffs)
-
src/dataManip/psFunctions.h (modified) (27 diffs)
-
src/sysUtils/psMemory.c (modified) (1 diff)
-
src/sysUtils/psMemory.h (modified) (1 diff)
-
test/dataManip/tst_psFunc02.c (modified) (1 diff)
-
test/dataManip/verified/tst_psFunc02.stderr (modified) (1 diff)
-
test/dataManip/verified/tst_psFunc02.stdout (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/dataManip/psFunctions.c
r4426 r4447 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.11 4$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-0 6-29 03:23:19$9 * @version $Revision: 1.115 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-07-01 22:01:17 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 1084 1084 newPoly->coeff = (psF32 *)psAlloc(n * sizeof(psF32)); 1085 1085 newPoly->coeffErr = (psF32 *)psAlloc(n * sizeof(psF32)); 1086 newPoly->mask = ( psU8 *)psAlloc(n * sizeof(psU8));1086 newPoly->mask = (char *)psAlloc(n * sizeof(char)); 1087 1087 for (i = 0; i < n; i++) { 1088 1088 newPoly->coeff[i] = 0.0; … … 1113 1113 newPoly->coeff = (psF32 **)psAlloc(nX * sizeof(psF32 *)); 1114 1114 newPoly->coeffErr = (psF32 **)psAlloc(nX * sizeof(psF32 *)); 1115 newPoly->mask = ( psU8 **)psAlloc(nX * sizeof(psU8*));1115 newPoly->mask = (char **)psAlloc(nX * sizeof(char *)); 1116 1116 for (x = 0; x < nX; x++) { 1117 1117 newPoly->coeff[x] = (psF32 *)psAlloc(nY * sizeof(psF32)); 1118 1118 newPoly->coeffErr[x] = (psF32 *)psAlloc(nY * sizeof(psF32)); 1119 newPoly->mask[x] = ( psU8 *)psAlloc(nY * sizeof(psU8));1119 newPoly->mask[x] = (char *)psAlloc(nY * sizeof(char)); 1120 1120 } 1121 1121 for (x = 0; x < nX; x++) { … … 1152 1152 newPoly->coeff = (psF32 ***)psAlloc(nX * sizeof(psF32 **)); 1153 1153 newPoly->coeffErr = (psF32 ***)psAlloc(nX * sizeof(psF32 **)); 1154 newPoly->mask = ( psU8 ***)psAlloc(nX * sizeof(psU8**));1154 newPoly->mask = (char ***)psAlloc(nX * sizeof(char **)); 1155 1155 for (x = 0; x < nX; x++) { 1156 1156 newPoly->coeff[x] = (psF32 **)psAlloc(nY * sizeof(psF32 *)); 1157 1157 newPoly->coeffErr[x] = (psF32 **)psAlloc(nY * sizeof(psF32 *)); 1158 newPoly->mask[x] = ( psU8 **)psAlloc(nY * sizeof(psU8*));1158 newPoly->mask[x] = (char **)psAlloc(nY * sizeof(char *)); 1159 1159 for (y = 0; y < nY; y++) { 1160 1160 newPoly->coeff[x][y] = (psF32 *)psAlloc(nZ * sizeof(psF32)); 1161 1161 newPoly->coeffErr[x][y] = (psF32 *)psAlloc(nZ * sizeof(psF32)); 1162 newPoly->mask[x][y] = ( psU8 *)psAlloc(nZ * sizeof(psU8));1162 newPoly->mask[x][y] = (char *)psAlloc(nZ * sizeof(char)); 1163 1163 } 1164 1164 } … … 1201 1201 newPoly->coeff = (psF32 ****)psAlloc(nX * sizeof(psF32 ***)); 1202 1202 newPoly->coeffErr = (psF32 ****)psAlloc(nX * sizeof(psF32 ***)); 1203 newPoly->mask = ( psU8 ****)psAlloc(nX * sizeof(psU8***));1203 newPoly->mask = (char ****)psAlloc(nX * sizeof(char ***)); 1204 1204 for (x = 0; x < nX; x++) { 1205 1205 newPoly->coeff[x] = (psF32 ***)psAlloc(nY * sizeof(psF32 **)); 1206 1206 newPoly->coeffErr[x] = (psF32 ***)psAlloc(nY * sizeof(psF32 **)); 1207 newPoly->mask[x] = ( psU8 ***)psAlloc(nY * sizeof(psU8**));1207 newPoly->mask[x] = (char ***)psAlloc(nY * sizeof(char **)); 1208 1208 for (y = 0; y < nY; y++) { 1209 1209 newPoly->coeff[x][y] = (psF32 **)psAlloc(nZ * sizeof(psF32 *)); 1210 1210 newPoly->coeffErr[x][y] = (psF32 **)psAlloc(nZ * sizeof(psF32 *)); 1211 newPoly->mask[x][y] = ( psU8 **)psAlloc(nZ * sizeof(psU8*));1211 newPoly->mask[x][y] = (char **)psAlloc(nZ * sizeof(char *)); 1212 1212 for (z = 0; z < nZ; z++) { 1213 1213 newPoly->coeff[x][y][z] = (psF32 *)psAlloc(nT * sizeof(psF32)); 1214 1214 newPoly->coeffErr[x][y][z] = (psF32 *)psAlloc(nT * sizeof(psF32)); 1215 newPoly->mask[x][y][z] = ( psU8 *)psAlloc(nT * sizeof(psU8));1215 newPoly->mask[x][y][z] = (char *)psAlloc(nT * sizeof(char)); 1216 1216 } 1217 1217 } … … 1446 1446 newPoly->coeff = (psF64 *)psAlloc(n * sizeof(psF64)); 1447 1447 newPoly->coeffErr = (psF64 *)psAlloc(n * sizeof(psF64)); 1448 newPoly->mask = ( psU8 *)psAlloc(n * sizeof(psU8));1448 newPoly->mask = (char *)psAlloc(n * sizeof(char)); 1449 1449 for (i = 0; i < n; i++) { 1450 1450 newPoly->coeff[i] = 0.0; … … 1475 1475 newPoly->coeff = (psF64 **)psAlloc(nX * sizeof(psF64 *)); 1476 1476 newPoly->coeffErr = (psF64 **)psAlloc(nX * sizeof(psF64 *)); 1477 newPoly->mask = ( psU8 **)psAlloc(nX * sizeof(psU8*));1477 newPoly->mask = (char **)psAlloc(nX * sizeof(char *)); 1478 1478 for (x = 0; x < nX; x++) { 1479 1479 newPoly->coeff[x] = (psF64 *)psAlloc(nY * sizeof(psF64)); 1480 1480 newPoly->coeffErr[x] = (psF64 *)psAlloc(nY * sizeof(psF64)); 1481 newPoly->mask[x] = ( psU8 *)psAlloc(nY * sizeof(psU8));1481 newPoly->mask[x] = (char *)psAlloc(nY * sizeof(char)); 1482 1482 } 1483 1483 for (x = 0; x < nX; x++) { … … 1514 1514 newPoly->coeff = (psF64 ***)psAlloc(nX * sizeof(psF64 **)); 1515 1515 newPoly->coeffErr = (psF64 ***)psAlloc(nX * sizeof(psF64 **)); 1516 newPoly->mask = ( psU8 ***)psAlloc(nX * sizeof(psU8**));1516 newPoly->mask = (char ***)psAlloc(nX * sizeof(char **)); 1517 1517 for (x = 0; x < nX; x++) { 1518 1518 newPoly->coeff[x] = (psF64 **)psAlloc(nY * sizeof(psF64 *)); 1519 1519 newPoly->coeffErr[x] = (psF64 **)psAlloc(nY * sizeof(psF64 *)); 1520 newPoly->mask[x] = ( psU8 **)psAlloc(nY * sizeof(psU8*));1520 newPoly->mask[x] = (char **)psAlloc(nY * sizeof(char *)); 1521 1521 for (y = 0; y < nY; y++) { 1522 1522 newPoly->coeff[x][y] = (psF64 *)psAlloc(nZ * sizeof(psF64)); 1523 1523 newPoly->coeffErr[x][y] = (psF64 *)psAlloc(nZ * sizeof(psF64)); 1524 newPoly->mask[x][y] = ( psU8 *)psAlloc(nZ * sizeof(psU8));1524 newPoly->mask[x][y] = (char *)psAlloc(nZ * sizeof(char)); 1525 1525 } 1526 1526 } … … 1563 1563 newPoly->coeff = (psF64 ****)psAlloc(nX * sizeof(psF64 ***)); 1564 1564 newPoly->coeffErr = (psF64 ****)psAlloc(nX * sizeof(psF64 ***)); 1565 newPoly->mask = ( psU8 ****)psAlloc(nX * sizeof(psU8***));1565 newPoly->mask = (char ****)psAlloc(nX * sizeof(char ***)); 1566 1566 for (x = 0; x < nX; x++) { 1567 1567 newPoly->coeff[x] = (psF64 ***)psAlloc(nY * sizeof(psF64 **)); 1568 1568 newPoly->coeffErr[x] = (psF64 ***)psAlloc(nY * sizeof(psF64 **)); 1569 newPoly->mask[x] = ( psU8 ***)psAlloc(nY * sizeof(psU8**));1569 newPoly->mask[x] = (char ***)psAlloc(nY * sizeof(char **)); 1570 1570 for (y = 0; y < nY; y++) { 1571 1571 newPoly->coeff[x][y] = (psF64 **)psAlloc(nZ * sizeof(psF64 *)); 1572 1572 newPoly->coeffErr[x][y] = (psF64 **)psAlloc(nZ * sizeof(psF64 *)); 1573 newPoly->mask[x][y] = ( psU8 **)psAlloc(nZ * sizeof(psU8*));1573 newPoly->mask[x][y] = (char **)psAlloc(nZ * sizeof(char *)); 1574 1574 for (z = 0; z < nZ; z++) { 1575 1575 newPoly->coeff[x][y][z] = (psF64 *)psAlloc(nT * sizeof(psF64)); 1576 1576 newPoly->coeffErr[x][y][z] = (psF64 *)psAlloc(nT * sizeof(psF64)); 1577 newPoly->mask[x][y][z] = ( psU8 *)psAlloc(nT * sizeof(psU8));1577 newPoly->mask[x][y][z] = (char *)psAlloc(nT * sizeof(char)); 1578 1578 } 1579 1579 } … … 1822 1822 XXX: What should be the defualty type for knots be? psF32 is assumed. 1823 1823 *****************************************************************************/ 1824 psSpline1D *psSpline1DAlloc( int numSplines,1825 int order,1824 psSpline1D *psSpline1DAlloc(unsigned int numSplines, 1825 unsigned int order, 1826 1826 float min, 1827 1827 float max) … … 1867 1867 *****************************************************************************/ 1868 1868 psSpline1D *psSpline1DAllocGeneric(const psVector *bounds, 1869 int order)1869 unsigned int order) 1870 1870 { 1871 1871 PS_ASSERT_VECTOR_NON_NULL(bounds, NULL); … … 1874 1874 1875 1875 psSpline1D *tmp = NULL; 1876 psS32i;1877 psS32numSplines;1876 unsigned int i; 1877 unsigned int numSplines; 1878 1878 1879 1879 tmp = (psSpline1D *) psAlloc(sizeof(psSpline1D)); … … 2045 2045 psScalar *p_psVectorInterpolate(psVector *domain, 2046 2046 psVector *range, 2047 psS32order,2047 unsigned int order, 2048 2048 psScalar *x) 2049 2049 { … … 2134 2134 PS_ASSERT_VECTOR_TYPE(spline->knots, PS_TYPE_F32, NAN); 2135 2135 2136 psS32binNum;2137 psS32n;2136 unsigned int binNum; 2137 unsigned int n; 2138 2138 2139 2139 n = spline->n; … … 2171 2171 PS_ASSERT_VECTOR_TYPE(spline->knots, PS_TYPE_F32, NULL); 2172 2172 2173 psS32i;2173 unsigned int i; 2174 2174 psVector *tmpVector; 2175 2175 -
trunk/psLib/src/dataManip/psFunctions.h
r4426 r4447 12 12 * @author GLG, MHPCC 13 13 * 14 * @version $Revision: 1.5 1$ $Name: not supported by cvs2svn $15 * @date $Date: 2005-0 6-29 03:23:19$14 * @version $Revision: 1.52 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2005-07-01 22:01:17 $ 16 16 * 17 17 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 74 74 { 75 75 psPolynomialType type; ///< Polynomial type 76 unsigned int n; ///< Number of terms 76 psElemType ctype; ///< Polynomial precision 77 unsigned int n; ///< Number of terms 77 78 psF32 *coeff; ///< Coefficients 78 79 psF32 *coeffErr; ///< Error in coefficients 79 psU8*mask; ///< Coefficient mask80 char *mask; ///< Coefficient mask 80 81 } 81 82 psPolynomial1D; … … 85 86 { 86 87 psPolynomialType type; ///< Polynomial type 88 psElemType ctype; ///< Polynomial precision 87 89 unsigned int nX; ///< Number of terms in x 88 90 unsigned int nY; ///< Number of terms in y 89 91 psF32 **coeff; ///< Coefficients 90 92 psF32 **coeffErr; ///< Error in coefficients 91 psU8**mask; ///< Coefficients mask93 char **mask; ///< Coefficients mask 92 94 } 93 95 psPolynomial2D; … … 97 99 { 98 100 psPolynomialType type; ///< Polynomial type 101 psElemType ctype; ///< Polynomial precision 99 102 unsigned int nX; ///< Number of terms in x 100 103 unsigned int nY; ///< Number of terms in y … … 102 105 psF32 ***coeff; ///< Coefficients 103 106 psF32 ***coeffErr; ///< Error in coefficients 104 psU8***mask; ///< Coefficients mask107 char ***mask; ///< Coefficients mask 105 108 } 106 109 psPolynomial3D; … … 110 113 { 111 114 psPolynomialType type; ///< Polynomial type 115 psElemType ctype; ///< Polynomial precision 112 116 unsigned int nX; ///< Number of terms in x 113 117 unsigned int nY; ///< Number of terms in y … … 116 120 psF32 ****coeff; ///< Coefficients 117 121 psF32 ****coeffErr; ///< Error in coefficients 118 psU8****mask; ///< Coefficients mask122 char ****mask; ///< Coefficients mask 119 123 } 120 124 psPolynomial4D; … … 206 210 207 211 /** Evaluates a 1-D polynomial at specific sets of coordinates 208 * 212 * 209 213 * @return psVector* results of polynomials at given locations 210 214 */ … … 215 219 216 220 /** Evaluates a 2-D polynomial at specific sets of coordinates 217 * 221 * 218 222 * @return psVector* results of polynomial at given locations 219 223 */ … … 225 229 226 230 /** Evaluates a 3-D polynomial at specific sets of coordinates 227 * 231 * 228 232 * @return psVector* results of polynomial at given locations 229 233 */ … … 236 240 237 241 /** Evaluates a 4-D polynomial at specific sets of coordinates 238 * 242 * 239 243 * @return psVector* results of polynomial at given locations 240 244 */ … … 258 262 psF64 *coeff; ///< Coefficients 259 263 psF64 *coeffErr; ///< Error in coefficients 260 psU8*mask; ///< Coefficient mask264 char *mask; ///< Coefficient mask 261 265 } 262 266 psDPolynomial1D; … … 270 274 psF64 **coeff; ///< Coefficients 271 275 psF64 **coeffErr; ///< Error in coefficients 272 psU8**mask; ///< Coefficients mask276 char **mask; ///< Coefficients mask 273 277 } 274 278 psDPolynomial2D; … … 283 287 psF64 ***coeff; ///< Coefficients 284 288 psF64 ***coeffErr; ///< Error in coefficients 285 psU8***mask; ///< Coefficient mask289 char ***mask; ///< Coefficient mask 286 290 } 287 291 psDPolynomial3D; … … 297 301 psF64 ****coeff; ///< Coefficients 298 302 psF64 ****coeffErr; ///< Error in coefficients 299 psU8****mask; ///< Coefficients mask303 char ****mask; ///< Coefficients mask 300 304 } 301 305 psDPolynomial4D; … … 386 390 387 391 /** Evaluates a double-precision 1-D polynomial at specific sets of coordinates. 388 * 392 * 389 393 * @return psVector* results of polynomial at given locations 390 394 */ … … 395 399 396 400 /** Evaluates a double-precision 2-D polynomial at specific sets of coordinates. 397 * 401 * 398 402 * @return psVector* results of polynomial at given locations 399 403 */ … … 405 409 406 410 /** Evaluates a double-precision 3-D polynomial at specific sets of coordinates. 407 * 411 * 408 412 * @return psVector* results of polynomial at given locations 409 413 */ … … 416 420 417 421 /** Evaluates a double-precision 4-D polynomial at specific sets of coordinates. 418 * 422 * 419 423 * @return psVector* results of polynomial at given locations 420 424 */ … … 430 434 typedef struct 431 435 { 432 psS32 n;///< The number of spline polynomials436 unsigned int n; ///< The number of spline polynomials 433 437 psPolynomial1D **spline; ///< An array of n pointers to the spline polynomials 434 438 psF32 *p_psDeriv2; ///< For cubic splines, the second derivative at each domain point. Size is n+1. … … 439 443 440 444 /** Allocates a psSpline1D structure 441 * 445 * 442 446 * Allocator for psSpline1D where the bounds are implicitly specified through specifying 443 447 * min and max values along with the number of splines. … … 446 450 */ 447 451 psSpline1D *psSpline1DAlloc( 448 int n,///< Number of spline polynomials449 int order,///< Order of spline polynomials452 unsigned int n, ///< Number of spline polynomials 453 unsigned int order, ///< Order of spline polynomials 450 454 float min, ///< Lower boundary value of spline polynomials 451 455 float max ///< Upper boundary value of spline polynomials … … 453 457 454 458 /** Allocates a psSpline1D structure 455 * 456 * Allocator for psSpline1D where the bounds are explicitly specified. 459 * 460 * Allocator for psSpline1D where the bounds are explicitly specified. 457 461 * 458 462 * @return psSpline1D* new 1-D spline struct … … 460 464 psSpline1D *psSpline1DAllocGeneric( 461 465 const psVector *bounds, ///< Bounds for spline polynomials 462 int order///< Order of spline polynomials466 unsigned int order ///< Order of spline polynomials 463 467 ); 464 468 465 469 /** Evaluates 1-D spline polynomials at a specific coordinate. 466 * 470 * 467 471 * @return float result of spline polynomials evaluated at given location 468 472 */ … … 473 477 474 478 /** Evaluates 1-D spline polynomials at a set of specific coordinates. 475 * 479 * 476 480 * @return psVector* results of spline polynomials evaluated at given locations 477 481 */ … … 483 487 /** Performs a binary disection on a given vector. 484 488 * Searches through an array of data for a specified value. 485 * 489 * 486 490 * @return psS32 corresponding index number of specified value 487 491 */ … … 499 503 psVector *domain, ///< Domain (x coords) for interpolation 500 504 psVector *range, ///< Range (y coords) for interpolation 501 psS32 order,///< Order of interpolation function505 unsigned int order, ///< Order of interpolation function 502 506 psScalar *x ///< Location at which to evaluate 503 507 ); -
trunk/psLib/src/sysUtils/psMemory.c
r4444 r4447 8 8 * @author Robert Lupton, Princeton University 9 9 * 10 * @version $Revision: 1.5 8$ $Name: not supported by cvs2svn $11 * @date $Date: 2005-07-01 03:57:39$10 * @version $Revision: 1.59 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2005-07-01 22:01:17 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii -
trunk/psLib/src/sysUtils/psMemory.h
r4444 r4447 12 12 * @ingroup MemoryManagement 13 13 * 14 * @version $Revision: 1.4 5$ $Name: not supported by cvs2svn $15 * @date $Date: 2005-07-01 03:57:39$14 * @version $Revision: 1.46 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2005-07-01 22:01:17 $ 16 16 * 17 17 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii -
trunk/psLib/test/dataManip/tst_psFunc02.c
r3682 r4447 360 360 /****************************************************************************/ 361 361 /****************************************************************************/ 362 testStatus = true; 363 printPositiveTestHeader(stdout, 364 "psFunction functions", 365 "psSpline1DAllocGeneric(): negative order"); 366 367 bounds = psVectorAlloc(5,PS_TYPE_F32); 368 bounds->n = bounds->nalloc; 369 for(psU32 n = 0; n < 5; n++ ) { 370 bounds->data.F32[n] = (n+1) * 2; 371 } 372 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message."); 373 tmpSpline = psSpline1DAllocGeneric(bounds, -1); 374 if (tmpSpline != NULL) { 375 psError(PS_ERR_UNKNOWN,true,"Did not return null for negative order"); 376 return 10; 377 } 362 ///XXX: REMOVED FOLLOWING TEST AFTER CHANGING TO UNSIGNED INT/// 363 /* testStatus = true; 364 printPositiveTestHeader(stdout, 365 "psFunction functions", 366 "psSpline1DAllocGeneric(): negative order"); 367 368 bounds = psVectorAlloc(5,PS_TYPE_F32); 369 bounds->n = bounds->nalloc; 370 for(psU32 n = 0; n < 5; n++ ) { 371 bounds->data.F32[n] = (n+1) * 2; 372 } 373 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message."); 374 tmpSpline = psSpline1DAllocGeneric(bounds, -1); 375 if (tmpSpline != NULL) { 376 psError(PS_ERR_UNKNOWN,true,"Did not return null for negative order"); 377 return 10; 378 } 379 psFree(bounds); 380 psMemCheckCorruption(1); 381 memLeaks = psMemCheckLeaks(currentId,NULL,stderr,false); 382 if (0 != memLeaks) { 383 psError(PS_ERR_UNKNOWN,true,"Memory Leaks! (%d leaks)", memLeaks); 384 testStatus = false; 385 } 386 printFooter(stdout, 387 "psFunctions functions", 388 "psSpline1DAllocGeneric(): negative order", 389 testStatus); 390 */ 378 391 psFree(bounds); 379 psMemCheckCorruption(1);380 memLeaks = psMemCheckLeaks(currentId,NULL,stderr,false);381 if (0 != memLeaks) {382 psError(PS_ERR_UNKNOWN,true,"Memory Leaks! (%d leaks)", memLeaks);383 testStatus = false;384 }385 printFooter(stdout,386 "psFunctions functions",387 "psSpline1DAllocGeneric(): negative order",388 testStatus);389 392 390 393 /****************************************************************************/ -
trunk/psLib/test/dataManip/verified/tst_psFunc02.stderr
r3127 r4447 10 10 Following should generate an error message. 11 11 <DATE><TIME>|<HOST>|E|psSpline1DAllocGeneric (FILE:LINENO) 12 Error: order is less than 0.13 <DATE><TIME>|<HOST>|I|main14 Following should generate an error message.15 <DATE><TIME>|<HOST>|E|psSpline1DAllocGeneric (FILE:LINENO)16 12 Unallowable operation: psVector bounds or its data is NULL. 17 13 <DATE><TIME>|<HOST>|I|main -
trunk/psLib/test/dataManip/verified/tst_psFunc02.stdout
r3115 r4447 89 89 /***************************** TESTPOINT ******************************************\ 90 90 * TestFile: tst_psFunc02.c * 91 * TestPoint: psFunction functions{psSpline1DAllocGeneric(): negative order} *92 * TestType: Positive *93 \**********************************************************************************/94 95 96 ---> TESTPOINT PASSED (psFunctions functions{psSpline1DAllocGeneric(): negative order} | tst_psFunc02.c)97 98 /***************************** TESTPOINT ******************************************\99 * TestFile: tst_psFunc02.c *100 91 * TestPoint: psFunction functions{psSpline1DAllocGeneric(): bound equal to NULL} * 101 92 * TestType: Positive *
Note:
See TracChangeset
for help on using the changeset viewer.
