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_psFunc09.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 testPoly2DEval(void);
    21 static psS32 testDPoly2DEval(void);
    2221static psS32 testPoly2DEvalVector(void);
    23 static psS32 testDPoly2DEvalVector(void);
    2422
    2523testDescription tests[] = {
    2624                              {testPoly2DEval,583,"psPolynomial2DEval",0,false},
    27                               {testDPoly2DEval,582,"psDPolynomial2DEval",0,false},
    2825                              {testPoly2DEvalVector,000,"psPolynomial2DEvalVector",0,false},
    29                               {testDPoly2DEvalVector,000,"psDPolynomial2DEvalVector",0,false},
    3026                              {NULL}
    3127                          };
     
    8581
    8682// This test will verify operation of 1D polynomial evaluation
    87 psS32 testPoly2DEval(void)
     83/*psS32 testPoly2DEval(void)
    8884{
    8985    psF32  result;
    9086    psF32  resultCheb;
    91 
     87 
    9288    // Allocate polynomial structure
    9389    psPolynomial2D*  polyOrd = psPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_ORD);
     
    119115    psFree(polyOrd);
    120116    psFree(polyCheb);
    121 
     117 
    122118    // Allocate polynomial with invalid type
    123119    polyOrd = psPolynomial2DAlloc(TERMS, TERMS, 99);
     
    130126    }
    131127    psFree(polyOrd);
    132 
     128 
    133129    return 0;
    134130}
    135 
     131*/
    136132// This test will verify operation of 1D polynomial evaluation
    137 psS32 testDPoly2DEval(void)
     133psS32 testPoly2DEval(void)
    138134{
    139135    psF64  result;
     
    141137
    142138    // Allocate polynomial structure
    143     psDPolynomial2D*  polyOrd = psDPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_ORD);
    144     psDPolynomial2D*  polyCheb = psDPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_CHEB);
     139    psPolynomial2D*  polyOrd = psPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_ORD);
     140    psPolynomial2D*  polyCheb = psPolynomial2DAlloc(TERMS, TERMS, PS_POLYNOMIAL_CHEB);
    145141    // Set polynomial members
    146142    for(psS32 i = 0; i < TERMS; i++) {
     
    154150    // Evaluate test points and verify results
    155151    for(psS32 i = 0; i < TESTPOINTS; i++) {
    156         result = psDPolynomial2DEval(polyOrd,Dpoly2DXYValue[i][0],Dpoly2DXYValue[i][1]);
     152        result = psPolynomial2DEval(polyOrd,Dpoly2DXYValue[i][0],Dpoly2DXYValue[i][1]);
    157153        if(fabs(Dpoly2DResult[i]-result) > ERROR_TOL ) {
    158154            psError(PS_ERR_UNKNOWN,true,"Evaluated value %lg not as expected %lg",
     
    160156            return i;
    161157        }
    162         resultCheb = psDPolynomial2DEval(polyCheb,Dpoly2DXYChebValue[i][0],Dpoly2DXYChebValue[i][1]);
     158        resultCheb = psPolynomial2DEval(polyCheb,Dpoly2DXYChebValue[i][0],Dpoly2DXYChebValue[i][1]);
    163159        if(fabs(Dpoly2DChebResult[i]-resultCheb) > ERROR_TOL ) {
    164160            psError(PS_ERR_UNKNOWN,true,"Evaluated Chebyshev value %lg not as expected %lg",
     
    171167
    172168    // Allocate polynomial with invalid type
    173     polyOrd = psDPolynomial2DAlloc(TERMS, TERMS, 99);
     169    polyOrd = psPolynomial2DAlloc(TERMS, TERMS, 99);
    174170    // Attempt to evaluation invalid polynomial type
    175171    psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message invalid type");
    176     result = psDPolynomial2DEval(polyOrd,0.0, 0.0);
     172    result = psPolynomial2DEval(polyOrd,0.0, 0.0);
    177173    if ( !isnan(result) ) {
    178174        psError(PS_ERR_UNKNOWN,true,"Did not return NAN for invalid polynomial type");
     
    184180}
    185181
    186 psS32 testPoly2DEvalVector(void)
     182/*psS32 testPoly2DEvalVector(void)
    187183{
    188184    // Allocate polynomial
    189185    psPolynomial2D* polyOrd = psPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_ORD);
    190186    psPolynomial2D* polyCheb = psPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_CHEB);
    191 
     187 
    192188    // Set polynomial members
    193189    for(psS32 i = 0; i < TERMS; i++) {
     
    199195        }
    200196    }
    201 
     197 
    202198    // Create input vectors
    203199    psVector* inputOrdX  = psVectorAlloc(TESTPOINTS, PS_TYPE_F32);
     
    211207        inputChebY->data.F32[i] = poly2DXYChebValue[i][1];
    212208    }
    213 
     209 
    214210    // Evaluate the vectors
    215211    psVector* outputOrd = psPolynomial2DEvalVector(polyOrd, inputOrdX, inputOrdY);
     
    233229        return 2;
    234230    }
    235 
     231 
    236232    // Verify the results
    237233    for(psS32 i = 0; i < TESTPOINTS; i++) {
     
    247243        }
    248244    }
    249 
     245 
    250246    // Attempt to invoke function with null polynomial
    251247    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial");
     
    254250        return 60;
    255251    }
    256 
     252 
    257253    // Attempt to invoke function with null input vector
    258254    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
     
    267263        return 62;
    268264    }
    269 
     265 
    270266    // Attempt to invoke function with a non F32 type input vector
    271267    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
     
    284280    }
    285281    inputOrdY->type.type = PS_TYPE_F32;
    286 
     282 
    287283    psFree(inputOrdX);
    288284    psFree(inputOrdY);
     
    293289    psFree(polyOrd);
    294290    psFree(polyCheb);
    295 
     291 
    296292    return 0;
    297293}
    298 
    299 psS32 testDPoly2DEvalVector(void)
     294*/
     295psS32 testPoly2DEvalVector(void)
    300296{
    301297    // Allocate polynomial
    302     psDPolynomial2D* polyOrd = psDPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_ORD);
    303     psDPolynomial2D* polyCheb = psDPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_CHEB);
     298    psPolynomial2D* polyOrd = psPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_ORD);
     299    psPolynomial2D* polyCheb = psPolynomial2DAlloc(TERMS,TERMS,PS_POLYNOMIAL_CHEB);
    304300
    305301    // Set polynomial members
     
    326322
    327323    // Evaluate the vectors
    328     psVector* outputOrd = psDPolynomial2DEvalVector(polyOrd, inputOrdX, inputOrdY);
     324    psVector* outputOrd = psPolynomial2DEvalVector(polyOrd, inputOrdX, inputOrdY);
    329325    if(outputOrd == NULL) {
    330326        psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL.");
     
    336332        return 2;
    337333    }
    338     psVector* outputCheb = psDPolynomial2DEvalVector(polyCheb, inputChebX, inputChebY);
     334    psVector* outputCheb = psPolynomial2DEvalVector(polyCheb, inputChebX, inputChebY);
    339335    if(outputCheb == NULL) {
    340336        psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL.");
     
    363359    // Attempt to invoke function with null polynomial
    364360    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial");
    365     if(psDPolynomial2DEvalVector(NULL, inputOrdX, inputOrdY) != NULL) {
     361    if(psPolynomial2DEvalVector(NULL, inputOrdX, inputOrdY) != NULL) {
    366362        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL polynomial");
    367363        return 60;
     
    370366    // Attempt to invoke function with null input vector
    371367    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    372     if(psDPolynomial2DEvalVector(polyOrd,NULL,inputOrdY) != NULL) {
     368    if(psPolynomial2DEvalVector(polyOrd,NULL,inputOrdY) != NULL) {
    373369        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    374370        return 61;
     
    376372    // Attempt to invoke function with null input vector
    377373    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    378     if(psDPolynomial2DEvalVector(polyOrd,inputOrdX,NULL) != NULL) {
     374    if(psPolynomial2DEvalVector(polyOrd,inputOrdX,NULL) != NULL) {
    379375        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    380376        return 62;
     
    384380    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    385381    inputOrdX->type.type = PS_TYPE_U8;
    386     if(psDPolynomial2DEvalVector(polyOrd,inputOrdX, inputOrdY) != NULL) {
     382    if(psPolynomial2DEvalVector(polyOrd,inputOrdX, inputOrdY) != NULL) {
    387383        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    388384        return 63;
     
    392388    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    393389    inputOrdY->type.type = PS_TYPE_U8;
    394     if(psDPolynomial2DEvalVector(polyOrd,inputOrdX, inputOrdY) != NULL) {
     390    if(psPolynomial2DEvalVector(polyOrd,inputOrdX, inputOrdY) != NULL) {
    395391        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    396392        return 64;
Note: See TracChangeset for help on using the changeset viewer.