IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 19, 2005, 3:21:13 PM (21 years ago)
Author:
drobbin
Message:

changed psPolynomial fxns to use F64 and removed psDPoly fxns

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/math/tst_psFunc11.c

    r4547 r4581  
    44*  ORD and CHEB type polynomials.
    55*
    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 $
    88*
    99* Copyright 2004-2005 Maui High Performance Computing Center, Univ. of Hawaii
     
    1919
    2020static psS32 testPoly4DEval(void);
    21 static psS32 testDPoly4DEval(void);
    2221static psS32 testPoly4DEvalVector(void);
    23 static psS32 testDPoly4DEvalVector(void);
    2422
    2523testDescription tests[] = {
    2624                              {testPoly4DEval,583,"psPolynomial4DEval",0,false},
    27                               {testDPoly4DEval,582,"psDPolynomial4DEval",0,false},
    2825                              {testPoly4DEvalVector,000,"psPolynomial4DEvalVector",0,false},
    29                               {testDPoly4DEvalVector,000,"psDPolynomial4DEvalVector",0,false},
    3026                              {NULL}
    3127                          };
     
    378374
    379375// This test will verify operation of 1D polynomial evaluation
    380 psS32 testPoly4DEval(void)
     376/*psS32 testPoly4DEval(void)
    381377{
    382378    psF32  result;
    383379    psF32  resultCheb;
    384 
     380 
    385381    // Allocate polynomial structure
    386382    psPolynomial4D*  polyOrd  = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);
     
    418414    psFree(polyOrd);
    419415    psFree(polyCheb);
    420 
     416 
    421417    // Allocate polynomial with invalid type
    422418    polyOrd = psPolynomial4DAlloc(TERMS, TERMS, TERMS, TERMS, 99);
     
    429425    }
    430426    psFree(polyOrd);
    431 
     427 
    432428    return 0;
    433429}
    434 
     430*/
    435431// This test will verify operation of 1D polynomial evaluation
    436 psS32 testDPoly4DEval(void)
     432psS32 testPoly4DEval(void)
    437433{
    438434    psF64  result;
     
    440436
    441437    // Allocate polynomial structure
    442     psDPolynomial4D*  polyOrd = psDPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);
    443     psDPolynomial4D*  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);
    444440    // Set polynomial members
    445441    for(psS32 i = 0; i < TERMS; i++) {
     
    457453    // Evaluate test points and verify results
    458454    for(psS32 i = 0; i < TESTPOINTS; i++) {
    459         result = psDPolynomial4DEval(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]);
    461457        if(fabs(Dpoly4DResult[i]-result) > ERROR_TOL ) {
    462458            psError(PS_ERR_UNKNOWN,true,"Evaluated value %lg not as expected %lg",
     
    464460            return i;
    465461        }
    466         resultCheb = psDPolynomial4DEval(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]);
    468464        if(fabs(Dpoly4DChebResult[i]-resultCheb) > ERROR_TOL ) {
    469465            psError(PS_ERR_UNKNOWN,true,"Evaluated Chebyshev value %lg not as expected %lg",
     
    476472
    477473    // Allocate polynomial with invalid type
    478     polyOrd = psDPolynomial4DAlloc(TERMS, TERMS, TERMS, TERMS, 99);
     474    polyOrd = psPolynomial4DAlloc(TERMS, TERMS, TERMS, TERMS, 99);
    479475    // Attempt to evaluation invalid polynomial type
    480476    psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message invalid type");
    481     result = psDPolynomial4DEval(polyOrd,0.0, 0.0, 0.0, 0.0);
     477    result = psPolynomial4DEval(polyOrd,0.0, 0.0, 0.0, 0.0);
    482478    if ( !isnan(result) ) {
    483479        psError(PS_ERR_UNKNOWN,true,"Did not return NAN for invalid polynomial type");
     
    489485}
    490486
    491 psS32 testPoly4DEvalVector(void)
     487/*psS32 testPoly4DEvalVector(void)
    492488{
    493489    // Allocate polynomial
    494490    psPolynomial4D* polyOrd  = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);
    495491    psPolynomial4D* polyCheb = psPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB);
    496 
     492 
    497493    // Set polynomial members
    498494    for(psS32 i = 0; i < TERMS; i++) {
     
    508504        }
    509505    }
    510 
     506 
    511507    // Create input vectors
    512508    psVector* inputOrdW  = psVectorAlloc(TESTPOINTS, PS_TYPE_F32);
     
    528524        inputChebZ->data.F32[i] = poly4DWXYZChebValue[i][3];
    529525    }
    530 
     526 
    531527    // Evaluate the vectors
    532528    psVector* outputOrd = psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ);
     
    550546        return 2;
    551547    }
    552 
     548 
    553549    // Verify the results
    554550    for(psS32 i = 0; i < TESTPOINTS; i++) {
     
    564560        }
    565561    }
    566 
     562 
    567563    // Attempt to invoke function with null polynomial
    568564    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial");
     
    571567        return 60;
    572568    }
    573 
     569 
    574570    // Attempt to invoke function with null input vector
    575571    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
     
    596592        return 64;
    597593    }
    598 
     594 
    599595    // Attempt to invoke function with a non F32 type input vector
    600596    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
     
    629625    }
    630626    inputOrdW->type.type = PS_TYPE_F32;
    631 
     627 
    632628    psFree(inputOrdW);
    633629    psFree(inputOrdX);
     
    642638    psFree(polyOrd);
    643639    psFree(polyCheb);
    644 
     640 
    645641    return 0;
    646642}
    647 
    648 psS32 testDPoly4DEvalVector(void)
     643*/
     644psS32 testPoly4DEvalVector(void)
    649645{
    650646    // Allocate polynomial
    651     psDPolynomial4D* polyOrd = psDPolynomial4DAlloc(TERMS,TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);
    652     psDPolynomial4D* 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);
    653649
    654650    // Set polynomial members
     
    687683
    688684    // Evaluate the vectors
    689     psVector* outputOrd = psDPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ);
     685    psVector* outputOrd = psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ);
    690686    if(outputOrd == NULL) {
    691687        psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL.");
     
    697693        return 2;
    698694    }
    699     psVector* outputCheb = psDPolynomial4DEvalVector(polyCheb,inputChebW,inputChebX,inputChebY,inputChebZ);
     695    psVector* outputCheb = psPolynomial4DEvalVector(polyCheb,inputChebW,inputChebX,inputChebY,inputChebZ);
    700696    if(outputCheb == NULL) {
    701697        psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL.");
     
    724720    // Attempt to invoke function with null polynomial
    725721    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial");
    726     if(psDPolynomial4DEvalVector(NULL,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     722    if(psPolynomial4DEvalVector(NULL,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    727723        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL polynomial");
    728724        return 60;
     
    731727    // Attempt to invoke function with null input vector
    732728    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    733     if(psDPolynomial4DEvalVector(polyOrd,NULL,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     729    if(psPolynomial4DEvalVector(polyOrd,NULL,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    734730        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    735731        return 61;
     
    737733    // Attempt to invoke function with null input vector
    738734    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    739     if(psDPolynomial4DEvalVector(polyOrd,inputOrdW,NULL,inputOrdY,inputOrdZ) != NULL) {
     735    if(psPolynomial4DEvalVector(polyOrd,inputOrdW,NULL,inputOrdY,inputOrdZ) != NULL) {
    740736        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    741737        return 62;
     
    743739    // Attempt to invoke function with null input vector
    744740    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    745     if(psDPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,NULL,inputOrdZ) != NULL) {
     741    if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,NULL,inputOrdZ) != NULL) {
    746742        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    747743        return 63;
     
    749745    // Attempt to invoke function with null input vector
    750746    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    751     if(psDPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,NULL) != NULL) {
     747    if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,NULL) != NULL) {
    752748        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    753749        return 64;
     
    757753    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    758754    inputOrdX->type.type = PS_TYPE_U8;
    759     if(psDPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     755    if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    760756        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    761757        return 65;
     
    765761    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    766762    inputOrdY->type.type = PS_TYPE_U8;
    767     if(psDPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     763    if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    768764        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    769765        return 66;
     
    773769    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    774770    inputOrdZ->type.type = PS_TYPE_U8;
    775     if(psDPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     771    if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    776772        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    777773        return 67;
     
    781777    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    782778    inputOrdW->type.type = PS_TYPE_U8;
    783     if(psDPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     779    if(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    784780        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    785781        return 68;
Note: See TracChangeset for help on using the changeset viewer.