IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 22, 2005, 12:22:15 PM (21 years ago)
Author:
gusciora
Message:

Implementing psPoly nOrder/nTerm switch.

File:
1 edited

Legend:

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

    r5092 r5094  
    44*  ORD and CHEB type polynomials.
    55*
    6 *  @version  $Revision: 1.5 $  $Name: not supported by cvs2svn $
    7 *  @date  $Date: 2005-09-22 20:45:43 $
     6*  @version  $Revision: 1.6 $  $Name: not supported by cvs2svn $
     7*  @date  $Date: 2005-09-22 22:22:15 $
    88*
    99* Copyright 2004-2005 Maui High Performance Computing Center, Univ. of Hawaii
     
    1919
    2020static psS32 testPoly4DEval(void);
    21 //static psS32 testPoly4DEvalVector(void);
     21static psS32 testPoly4DEvalVector(void);
    2222
    2323testDescription tests[] = {
    2424                              {testPoly4DEval,583,"psPolynomial4DEval",true,false},
    25                               //                              {testPoly4DEvalVector,000,"psPolynomial4DEvalVector",true,false},
     25                              {testPoly4DEvalVector,000,"psPolynomial4DEvalVector",true,false},
    2626                              {NULL}
    2727                          };
     
    378378{
    379379    psBool testStatus = true;
    380 
    381380    // Allocate polynomial structure
    382381    psPolynomial4D*  polyOrd = psPolynomial4DAlloc(TERMS-1, TERMS-1, TERMS-1, TERMS-1, PS_POLYNOMIAL_ORD);
     
    405404            testStatus = false;
    406405        }
    407 
    408406        psF64 resultCheb = psPolynomial4DEval(polyCheb,Dpoly4DWXYZChebValue[i][0],Dpoly4DWXYZChebValue[i][1],
    409407                                              Dpoly4DWXYZChebValue[i][2],Dpoly4DWXYZChebValue[i][3]);
     
    431429    return(testStatus);
    432430}
    433 /*
     431
    434432psS32 testPoly4DEvalVector(void)
    435433{
     434    psBool testStatus = true;
    436435    // Allocate polynomial
    437436    psPolynomial4D* polyOrd = psPolynomial4DAlloc(TERMS-1, TERMS-1, TERMS-1, TERMS-1, PS_POLYNOMIAL_ORD);
    438437    psPolynomial4D* polyCheb = psPolynomial4DAlloc(TERMS-1, TERMS-1, TERMS-1, TERMS-1, PS_POLYNOMIAL_CHEB);
    439  
     438
    440439    // Set polynomial members
    441440    for(psS32 i = 0; i < TERMS; i++) {
     
    451450        }
    452451    }
    453  
     452
    454453    // Create input vectors
    455454    psVector* inputOrdW  = psVectorAlloc(TESTPOINTS, PS_TYPE_F64);
     
    471470        inputChebZ->data.F64[i] = Dpoly4DWXYZChebValue[i][3];
    472471    }
    473  
     472
    474473    // Evaluate the vectors
    475474    psVector* outputOrd = psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ);
     
    480479    if(outputOrd->type.type != PS_TYPE_F64) {
    481480        printf("TEST ERROR: Output vector of type %d expected %d",
    482                 outputOrd->type.type, PS_TYPE_F64);
     481               outputOrd->type.type, PS_TYPE_F64);
    483482        testStatus = false;
    484483    }
     
    490489    if(outputCheb->type.type != PS_TYPE_F64) {
    491490        printf("TEST ERROR: Output vector of type %d expected %d",
    492                 outputCheb->type.type, PS_TYPE_F64);
    493         testStatus = false;
    494     }
    495  
     491               outputCheb->type.type, PS_TYPE_F64);
     492        testStatus = false;
     493    }
     494
    496495    // Verify the results
    497496    for(psS32 i = 0; i < TESTPOINTS; i++) {
    498497        if(fabs(Dpoly4DResult[i]-outputOrd->data.F64[i]) > ERROR_TOL) {
    499498            printf("TEST ERROR: Result[%d] %lg not equal to expected %lg",
    500                     i, outputOrd->data.F64[i], Dpoly4DResult[i]);
     499                   i, outputOrd->data.F64[i], Dpoly4DResult[i]);
    501500            testStatus = false;
    502501        }
    503502        if(fabs(Dpoly4DChebResult[i]-outputCheb->data.F64[i]) > ERROR_TOL) {
    504503            printf("TEST ERROR: ResultCheb[%d] %lg not equal to expected %lg",
    505                     i, outputCheb->data.F64[i], Dpoly4DChebResult[i]);
     504                   i, outputCheb->data.F64[i], Dpoly4DChebResult[i]);
    506505            testStatus = false;
    507506        }
    508507    }
    509  
     508
    510509    // Attempt to invoke function with null polynomial
    511510    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial");
     
    514513        testStatus = false;
    515514    }
    516  
     515
    517516    // Attempt to invoke function with null input vector
    518517    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
     
    539538        testStatus = false;
    540539    }
    541  
     540
    542541    // Attempt to invoke function with a non F64 type input vector
    543542    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
     
    572571    }
    573572    inputOrdW->type.type = PS_TYPE_F64;
    574  
     573
    575574    psFree(inputOrdX);
    576575    psFree(inputOrdY);
     
    585584    psFree(polyOrd);
    586585    psFree(polyCheb);
    587  
     586
    588587    return(testStatus);
    589588}
    590  
    591 */
Note: See TracChangeset for help on using the changeset viewer.