Changeset 4581 for trunk/psLib/test/math/tst_psFunc10.c
- Timestamp:
- Jul 19, 2005, 3:21:13 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/math/tst_psFunc10.c (modified) (27 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/math/tst_psFunc10.c
r4547 r4581 4 4 * ORD and CHEB type polynomials. 5 5 * 6 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $7 * @date $Date: 2005-07- 13 02:47:00$6 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 7 * @date $Date: 2005-07-20 01:21:13 $ 8 8 * 9 9 * Copyright 2004-2005 Maui High Performance Computing Center, Univ. of Hawaii … … 19 19 20 20 static psS32 testPoly3DEval(void); 21 static psS32 testDPoly3DEval(void);22 21 static psS32 testPoly3DEvalVector(void); 23 static psS32 testDPoly3DEvalVector(void);24 22 25 23 testDescription tests[] = { 26 24 {testPoly3DEval,583,"psPolynomial3DEval",0,false}, 27 {testDPoly3DEval,582,"psDPolynomial3DEval",0,false},28 25 {testPoly3DEvalVector,000,"psPolynomial3DEvalVector",0,false}, 29 {testDPoly3DEvalVector,000,"psDPolynomial3DEvalVector",0,false},30 26 {NULL} 31 27 }; … … 136 132 137 133 // This test will verify operation of 1D polynomial evaluation 138 psS32 testPoly3DEval(void)134 /*psS32 testPoly3DEval(void) 139 135 { 140 136 psF32 result; 141 137 psF32 resultCheb; 142 138 143 139 // Allocate polynomial structure 144 140 psPolynomial3D* polyOrd = psPolynomial3DAlloc(TERMS, TERMS, TERMS, PS_POLYNOMIAL_ORD); … … 174 170 psFree(polyOrd); 175 171 psFree(polyCheb); 176 172 177 173 // Allocate polynomial with invalid type 178 174 polyOrd = psPolynomial3DAlloc(TERMS, TERMS, TERMS, 99); … … 185 181 } 186 182 psFree(polyOrd); 187 183 188 184 return 0; 189 185 } 190 186 */ 191 187 // This test will verify operation of 1D polynomial evaluation 192 psS32 test DPoly3DEval(void)188 psS32 testPoly3DEval(void) 193 189 { 194 190 psF64 result; … … 196 192 197 193 // Allocate polynomial structure 198 ps DPolynomial3D* polyOrd = psDPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);199 ps DPolynomial3D* polyCheb = psDPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB);194 psPolynomial3D* polyOrd = psPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD); 195 psPolynomial3D* polyCheb = psPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB); 200 196 // Set polynomial members 201 197 for(psS32 i = 0; i < TERMS; i++) { … … 211 207 // Evaluate test points and verify results 212 208 for(psS32 i = 0; i < TESTPOINTS; i++) { 213 result = ps DPolynomial3DEval(polyOrd,Dpoly3DXYZValue[i][0],Dpoly3DXYZValue[i][1],214 Dpoly3DXYZValue[i][2]);209 result = psPolynomial3DEval(polyOrd,Dpoly3DXYZValue[i][0],Dpoly3DXYZValue[i][1], 210 Dpoly3DXYZValue[i][2]); 215 211 if(fabs(Dpoly3DResult[i]-result) > ERROR_TOL ) { 216 212 psError(PS_ERR_UNKNOWN,true,"Evaluated value %lg not as expected %lg", … … 218 214 return i; 219 215 } 220 resultCheb = ps DPolynomial3DEval(polyCheb,Dpoly3DXYZChebValue[i][0],Dpoly3DXYZChebValue[i][1],221 Dpoly3DXYZChebValue[i][2]);216 resultCheb = psPolynomial3DEval(polyCheb,Dpoly3DXYZChebValue[i][0],Dpoly3DXYZChebValue[i][1], 217 Dpoly3DXYZChebValue[i][2]); 222 218 if(fabs(Dpoly3DChebResult[i]-resultCheb) > ERROR_TOL ) { 223 219 psError(PS_ERR_UNKNOWN,true,"Evaluated Chebyshev value %lg not as expected %lg", … … 230 226 231 227 // Allocate polynomial with invalid type 232 polyOrd = ps DPolynomial3DAlloc(TERMS, TERMS, TERMS, 99);228 polyOrd = psPolynomial3DAlloc(TERMS, TERMS, TERMS, 99); 233 229 // Attempt to evaluation invalid polynomial type 234 230 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message invalid type"); 235 result = ps DPolynomial3DEval(polyOrd,0.0, 0.0, 0.0);231 result = psPolynomial3DEval(polyOrd,0.0, 0.0, 0.0); 236 232 if ( !isnan(result) ) { 237 233 psError(PS_ERR_UNKNOWN,true,"Did not return NAN for invalid polynomial type"); … … 243 239 } 244 240 245 psS32 testPoly3DEvalVector(void)241 /*psS32 testPoly3DEvalVector(void) 246 242 { 247 243 // Allocate polynomial 248 244 psPolynomial3D* polyOrd = psPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD); 249 245 psPolynomial3D* polyCheb = psPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB); 250 246 251 247 // Set polynomial members 252 248 for(psS32 i = 0; i < TERMS; i++) { … … 260 256 } 261 257 } 262 258 263 259 // Create input vectors 264 260 psVector* inputOrdX = psVectorAlloc(TESTPOINTS, PS_TYPE_F32); … … 276 272 inputChebZ->data.F32[i] = poly3DXYZChebValue[i][2]; 277 273 } 278 274 279 275 // Evaluate the vectors 280 276 psVector* outputOrd = psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ); … … 298 294 return 2; 299 295 } 300 296 301 297 // Verify the results 302 298 for(psS32 i = 0; i < TESTPOINTS; i++) { … … 312 308 } 313 309 } 314 310 315 311 // Attempt to invoke function with null polynomial 316 312 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial"); … … 319 315 return 60; 320 316 } 321 317 322 318 // Attempt to invoke function with null input vector 323 319 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); … … 338 334 return 63; 339 335 } 340 336 341 337 // Attempt to invoke function with a non F32 type input vector 342 338 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); … … 363 359 } 364 360 inputOrdZ->type.type = PS_TYPE_F32; 365 361 366 362 psFree(inputOrdX); 367 363 psFree(inputOrdY); … … 374 370 psFree(polyOrd); 375 371 psFree(polyCheb); 376 372 377 373 return 0; 378 374 } 379 380 psS32 test DPoly3DEvalVector(void)375 */ 376 psS32 testPoly3DEvalVector(void) 381 377 { 382 378 // Allocate polynomial 383 ps DPolynomial3D* polyOrd = psDPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);384 ps DPolynomial3D* polyCheb = psDPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB);379 psPolynomial3D* polyOrd = psPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD); 380 psPolynomial3D* polyCheb = psPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB); 385 381 386 382 // Set polynomial members … … 413 409 414 410 // Evaluate the vectors 415 psVector* outputOrd = ps DPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ);411 psVector* outputOrd = psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ); 416 412 if(outputOrd == NULL) { 417 413 psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL."); … … 423 419 return 2; 424 420 } 425 psVector* outputCheb = ps DPolynomial3DEvalVector(polyCheb,inputChebX,inputChebY,inputChebZ);421 psVector* outputCheb = psPolynomial3DEvalVector(polyCheb,inputChebX,inputChebY,inputChebZ); 426 422 if(outputCheb == NULL) { 427 423 psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL."); … … 450 446 // Attempt to invoke function with null polynomial 451 447 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial"); 452 if(ps DPolynomial3DEvalVector(NULL,inputOrdX,inputOrdY,inputOrdZ) != NULL) {448 if(psPolynomial3DEvalVector(NULL,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 453 449 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL polynomial"); 454 450 return 60; … … 457 453 // Attempt to invoke function with null input vector 458 454 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 459 if(ps DPolynomial3DEvalVector(polyOrd,NULL,inputOrdY,inputOrdZ) != NULL) {455 if(psPolynomial3DEvalVector(polyOrd,NULL,inputOrdY,inputOrdZ) != NULL) { 460 456 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 461 457 return 61; … … 463 459 // Attempt to invoke function with null input vector 464 460 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 465 if(ps DPolynomial3DEvalVector(polyOrd,inputOrdX,NULL,inputOrdZ) != NULL) {461 if(psPolynomial3DEvalVector(polyOrd,inputOrdX,NULL,inputOrdZ) != NULL) { 466 462 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 467 463 return 62; … … 469 465 // Attempt to invoke function with null input vector 470 466 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 471 if(ps DPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,NULL) != NULL) {467 if(psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,NULL) != NULL) { 472 468 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 473 469 return 63; … … 477 473 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 478 474 inputOrdX->type.type = PS_TYPE_U8; 479 if(ps DPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {475 if(psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 480 476 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 481 477 return 64; … … 485 481 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 486 482 inputOrdY->type.type = PS_TYPE_U8; 487 if(ps DPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {483 if(psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 488 484 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 489 485 return 65; … … 493 489 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 494 490 inputOrdZ->type.type = PS_TYPE_U8; 495 if(ps DPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {491 if(psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 496 492 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 497 493 return 66;
Note:
See TracChangeset
for help on using the changeset viewer.
