Changeset 4581 for trunk/psLib/test/math/tst_psFunc11.c
- Timestamp:
- Jul 19, 2005, 3:21:13 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/math/tst_psFunc11.c (modified) (29 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/math/tst_psFunc11.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 testPoly4DEval(void); 21 static psS32 testDPoly4DEval(void);22 21 static psS32 testPoly4DEvalVector(void); 23 static psS32 testDPoly4DEvalVector(void);24 22 25 23 testDescription tests[] = { 26 24 {testPoly4DEval,583,"psPolynomial4DEval",0,false}, 27 {testDPoly4DEval,582,"psDPolynomial4DEval",0,false},28 25 {testPoly4DEvalVector,000,"psPolynomial4DEvalVector",0,false}, 29 {testDPoly4DEvalVector,000,"psDPolynomial4DEvalVector",0,false},30 26 {NULL} 31 27 }; … … 378 374 379 375 // This test will verify operation of 1D polynomial evaluation 380 psS32 testPoly4DEval(void)376 /*psS32 testPoly4DEval(void) 381 377 { 382 378 psF32 result; 383 379 psF32 resultCheb; 384 380 385 381 // Allocate polynomial structure 386 382 psPolynomial4D* polyOrd = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD); … … 418 414 psFree(polyOrd); 419 415 psFree(polyCheb); 420 416 421 417 // Allocate polynomial with invalid type 422 418 polyOrd = psPolynomial4DAlloc(TERMS, TERMS, TERMS, TERMS, 99); … … 429 425 } 430 426 psFree(polyOrd); 431 427 432 428 return 0; 433 429 } 434 430 */ 435 431 // This test will verify operation of 1D polynomial evaluation 436 psS32 test DPoly4DEval(void)432 psS32 testPoly4DEval(void) 437 433 { 438 434 psF64 result; … … 440 436 441 437 // Allocate polynomial structure 442 ps DPolynomial4D* polyOrd = psDPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);443 ps DPolynomial4D* polyCheb = psDPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB);438 psPolynomial4D* polyOrd = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD); 439 psPolynomial4D* polyCheb = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB); 444 440 // Set polynomial members 445 441 for(psS32 i = 0; i < TERMS; i++) { … … 457 453 // Evaluate test points and verify results 458 454 for(psS32 i = 0; i < TESTPOINTS; i++) { 459 result = ps DPolynomial4DEval(polyOrd,Dpoly4DWXYZValue[i][0],Dpoly4DWXYZValue[i][1],460 Dpoly4DWXYZValue[i][2],Dpoly4DWXYZValue[i][3]);455 result = psPolynomial4DEval(polyOrd,Dpoly4DWXYZValue[i][0],Dpoly4DWXYZValue[i][1], 456 Dpoly4DWXYZValue[i][2],Dpoly4DWXYZValue[i][3]); 461 457 if(fabs(Dpoly4DResult[i]-result) > ERROR_TOL ) { 462 458 psError(PS_ERR_UNKNOWN,true,"Evaluated value %lg not as expected %lg", … … 464 460 return i; 465 461 } 466 resultCheb = ps DPolynomial4DEval(polyCheb,Dpoly4DWXYZChebValue[i][0],Dpoly4DWXYZChebValue[i][1],467 Dpoly4DWXYZChebValue[i][2],Dpoly4DWXYZChebValue[i][3]);462 resultCheb = psPolynomial4DEval(polyCheb,Dpoly4DWXYZChebValue[i][0],Dpoly4DWXYZChebValue[i][1], 463 Dpoly4DWXYZChebValue[i][2],Dpoly4DWXYZChebValue[i][3]); 468 464 if(fabs(Dpoly4DChebResult[i]-resultCheb) > ERROR_TOL ) { 469 465 psError(PS_ERR_UNKNOWN,true,"Evaluated Chebyshev value %lg not as expected %lg", … … 476 472 477 473 // Allocate polynomial with invalid type 478 polyOrd = ps DPolynomial4DAlloc(TERMS, TERMS, TERMS, TERMS, 99);474 polyOrd = psPolynomial4DAlloc(TERMS, TERMS, TERMS, TERMS, 99); 479 475 // Attempt to evaluation invalid polynomial type 480 476 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message invalid type"); 481 result = ps DPolynomial4DEval(polyOrd,0.0, 0.0, 0.0, 0.0);477 result = psPolynomial4DEval(polyOrd,0.0, 0.0, 0.0, 0.0); 482 478 if ( !isnan(result) ) { 483 479 psError(PS_ERR_UNKNOWN,true,"Did not return NAN for invalid polynomial type"); … … 489 485 } 490 486 491 psS32 testPoly4DEvalVector(void)487 /*psS32 testPoly4DEvalVector(void) 492 488 { 493 489 // Allocate polynomial 494 490 psPolynomial4D* polyOrd = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD); 495 491 psPolynomial4D* polyCheb = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB); 496 492 497 493 // Set polynomial members 498 494 for(psS32 i = 0; i < TERMS; i++) { … … 508 504 } 509 505 } 510 506 511 507 // Create input vectors 512 508 psVector* inputOrdW = psVectorAlloc(TESTPOINTS, PS_TYPE_F32); … … 528 524 inputChebZ->data.F32[i] = poly4DWXYZChebValue[i][3]; 529 525 } 530 526 531 527 // Evaluate the vectors 532 528 psVector* outputOrd = psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ); … … 550 546 return 2; 551 547 } 552 548 553 549 // Verify the results 554 550 for(psS32 i = 0; i < TESTPOINTS; i++) { … … 564 560 } 565 561 } 566 562 567 563 // Attempt to invoke function with null polynomial 568 564 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial"); … … 571 567 return 60; 572 568 } 573 569 574 570 // Attempt to invoke function with null input vector 575 571 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); … … 596 592 return 64; 597 593 } 598 594 599 595 // Attempt to invoke function with a non F32 type input vector 600 596 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); … … 629 625 } 630 626 inputOrdW->type.type = PS_TYPE_F32; 631 627 632 628 psFree(inputOrdW); 633 629 psFree(inputOrdX); … … 642 638 psFree(polyOrd); 643 639 psFree(polyCheb); 644 640 645 641 return 0; 646 642 } 647 648 psS32 test DPoly4DEvalVector(void)643 */ 644 psS32 testPoly4DEvalVector(void) 649 645 { 650 646 // Allocate polynomial 651 ps DPolynomial4D* polyOrd = psDPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);652 ps DPolynomial4D* polyCheb = psDPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB);647 psPolynomial4D* polyOrd = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD); 648 psPolynomial4D* polyCheb = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB); 653 649 654 650 // Set polynomial members … … 687 683 688 684 // Evaluate the vectors 689 psVector* outputOrd = ps DPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ);685 psVector* outputOrd = psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ); 690 686 if(outputOrd == NULL) { 691 687 psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL."); … … 697 693 return 2; 698 694 } 699 psVector* outputCheb = ps DPolynomial4DEvalVector(polyCheb,inputChebW,inputChebX,inputChebY,inputChebZ);695 psVector* outputCheb = psPolynomial4DEvalVector(polyCheb,inputChebW,inputChebX,inputChebY,inputChebZ); 700 696 if(outputCheb == NULL) { 701 697 psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL."); … … 724 720 // Attempt to invoke function with null polynomial 725 721 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial"); 726 if(ps DPolynomial4DEvalVector(NULL,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {722 if(psPolynomial4DEvalVector(NULL,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 727 723 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL polynomial"); 728 724 return 60; … … 731 727 // Attempt to invoke function with null input vector 732 728 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 733 if(ps DPolynomial4DEvalVector(polyOrd,NULL,inputOrdX,inputOrdY,inputOrdZ) != NULL) {729 if(psPolynomial4DEvalVector(polyOrd,NULL,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 734 730 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 735 731 return 61; … … 737 733 // Attempt to invoke function with null input vector 738 734 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 739 if(ps DPolynomial4DEvalVector(polyOrd,inputOrdW,NULL,inputOrdY,inputOrdZ) != NULL) {735 if(psPolynomial4DEvalVector(polyOrd,inputOrdW,NULL,inputOrdY,inputOrdZ) != NULL) { 740 736 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 741 737 return 62; … … 743 739 // Attempt to invoke function with null input vector 744 740 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 745 if(ps DPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,NULL,inputOrdZ) != NULL) {741 if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,NULL,inputOrdZ) != NULL) { 746 742 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 747 743 return 63; … … 749 745 // Attempt to invoke function with null input vector 750 746 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector"); 751 if(ps DPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,NULL) != NULL) {747 if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,NULL) != NULL) { 752 748 psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector"); 753 749 return 64; … … 757 753 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 758 754 inputOrdX->type.type = PS_TYPE_U8; 759 if(ps DPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {755 if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 760 756 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 761 757 return 65; … … 765 761 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 766 762 inputOrdY->type.type = PS_TYPE_U8; 767 if(ps DPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {763 if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 768 764 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 769 765 return 66; … … 773 769 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 774 770 inputOrdZ->type.type = PS_TYPE_U8; 775 if(ps DPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {771 if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 776 772 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 777 773 return 67; … … 781 777 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type"); 782 778 inputOrdW->type.type = PS_TYPE_U8; 783 if(ps DPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {779 if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) { 784 780 psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector"); 785 781 return 68;
Note:
See TracChangeset
for help on using the changeset viewer.
