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_psFunc10.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 testPoly3DEval(void);
    21 static psS32 testDPoly3DEval(void);
    2221static psS32 testPoly3DEvalVector(void);
    23 static psS32 testDPoly3DEvalVector(void);
    2422
    2523testDescription tests[] = {
    2624                              {testPoly3DEval,583,"psPolynomial3DEval",0,false},
    27                               {testDPoly3DEval,582,"psDPolynomial3DEval",0,false},
    2825                              {testPoly3DEvalVector,000,"psPolynomial3DEvalVector",0,false},
    29                               {testDPoly3DEvalVector,000,"psDPolynomial3DEvalVector",0,false},
    3026                              {NULL}
    3127                          };
     
    136132
    137133// This test will verify operation of 1D polynomial evaluation
    138 psS32 testPoly3DEval(void)
     134/*psS32 testPoly3DEval(void)
    139135{
    140136    psF32  result;
    141137    psF32  resultCheb;
    142 
     138 
    143139    // Allocate polynomial structure
    144140    psPolynomial3D*  polyOrd = psPolynomial3DAlloc(TERMS, TERMS, TERMS, PS_POLYNOMIAL_ORD);
     
    174170    psFree(polyOrd);
    175171    psFree(polyCheb);
    176 
     172 
    177173    // Allocate polynomial with invalid type
    178174    polyOrd = psPolynomial3DAlloc(TERMS, TERMS, TERMS, 99);
     
    185181    }
    186182    psFree(polyOrd);
    187 
     183 
    188184    return 0;
    189185}
    190 
     186*/
    191187// This test will verify operation of 1D polynomial evaluation
    192 psS32 testDPoly3DEval(void)
     188psS32 testPoly3DEval(void)
    193189{
    194190    psF64  result;
     
    196192
    197193    // Allocate polynomial structure
    198     psDPolynomial3D*  polyOrd = psDPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);
    199     psDPolynomial3D*  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);
    200196    // Set polynomial members
    201197    for(psS32 i = 0; i < TERMS; i++) {
     
    211207    // Evaluate test points and verify results
    212208    for(psS32 i = 0; i < TESTPOINTS; i++) {
    213         result = psDPolynomial3DEval(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]);
    215211        if(fabs(Dpoly3DResult[i]-result) > ERROR_TOL ) {
    216212            psError(PS_ERR_UNKNOWN,true,"Evaluated value %lg not as expected %lg",
     
    218214            return i;
    219215        }
    220         resultCheb = psDPolynomial3DEval(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]);
    222218        if(fabs(Dpoly3DChebResult[i]-resultCheb) > ERROR_TOL ) {
    223219            psError(PS_ERR_UNKNOWN,true,"Evaluated Chebyshev value %lg not as expected %lg",
     
    230226
    231227    // Allocate polynomial with invalid type
    232     polyOrd = psDPolynomial3DAlloc(TERMS, TERMS, TERMS, 99);
     228    polyOrd = psPolynomial3DAlloc(TERMS, TERMS, TERMS, 99);
    233229    // Attempt to evaluation invalid polynomial type
    234230    psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message invalid type");
    235     result = psDPolynomial3DEval(polyOrd,0.0, 0.0, 0.0);
     231    result = psPolynomial3DEval(polyOrd,0.0, 0.0, 0.0);
    236232    if ( !isnan(result) ) {
    237233        psError(PS_ERR_UNKNOWN,true,"Did not return NAN for invalid polynomial type");
     
    243239}
    244240
    245 psS32 testPoly3DEvalVector(void)
     241/*psS32 testPoly3DEvalVector(void)
    246242{
    247243    // Allocate polynomial
    248244    psPolynomial3D* polyOrd  = psPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);
    249245    psPolynomial3D* polyCheb = psPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_CHEB);
    250 
     246 
    251247    // Set polynomial members
    252248    for(psS32 i = 0; i < TERMS; i++) {
     
    260256        }
    261257    }
    262 
     258 
    263259    // Create input vectors
    264260    psVector* inputOrdX  = psVectorAlloc(TESTPOINTS, PS_TYPE_F32);
     
    276272        inputChebZ->data.F32[i] = poly3DXYZChebValue[i][2];
    277273    }
    278 
     274 
    279275    // Evaluate the vectors
    280276    psVector* outputOrd = psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ);
     
    298294        return 2;
    299295    }
    300 
     296 
    301297    // Verify the results
    302298    for(psS32 i = 0; i < TESTPOINTS; i++) {
     
    312308        }
    313309    }
    314 
     310 
    315311    // Attempt to invoke function with null polynomial
    316312    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial");
     
    319315        return 60;
    320316    }
    321 
     317 
    322318    // Attempt to invoke function with null input vector
    323319    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
     
    338334        return 63;
    339335    }
    340 
     336 
    341337    // Attempt to invoke function with a non F32 type input vector
    342338    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
     
    363359    }
    364360    inputOrdZ->type.type = PS_TYPE_F32;
    365 
     361 
    366362    psFree(inputOrdX);
    367363    psFree(inputOrdY);
     
    374370    psFree(polyOrd);
    375371    psFree(polyCheb);
    376 
     372 
    377373    return 0;
    378374}
    379 
    380 psS32 testDPoly3DEvalVector(void)
     375*/
     376psS32 testPoly3DEvalVector(void)
    381377{
    382378    // Allocate polynomial
    383     psDPolynomial3D* polyOrd = psDPolynomial3DAlloc(TERMS,TERMS,TERMS,PS_POLYNOMIAL_ORD);
    384     psDPolynomial3D* 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);
    385381
    386382    // Set polynomial members
     
    413409
    414410    // Evaluate the vectors
    415     psVector* outputOrd = psDPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ);
     411    psVector* outputOrd = psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ);
    416412    if(outputOrd == NULL) {
    417413        psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL.");
     
    423419        return 2;
    424420    }
    425     psVector* outputCheb = psDPolynomial3DEvalVector(polyCheb,inputChebX,inputChebY,inputChebZ);
     421    psVector* outputCheb = psPolynomial3DEvalVector(polyCheb,inputChebX,inputChebY,inputChebZ);
    426422    if(outputCheb == NULL) {
    427423        psError(PS_ERR_UNKNOWN,true,"Unexpected return of NULL.");
     
    450446    // Attempt to invoke function with null polynomial
    451447    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL polynomial");
    452     if(psDPolynomial3DEvalVector(NULL,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     448    if(psPolynomial3DEvalVector(NULL,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    453449        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL polynomial");
    454450        return 60;
     
    457453    // Attempt to invoke function with null input vector
    458454    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    459     if(psDPolynomial3DEvalVector(polyOrd,NULL,inputOrdY,inputOrdZ) != NULL) {
     455    if(psPolynomial3DEvalVector(polyOrd,NULL,inputOrdY,inputOrdZ) != NULL) {
    460456        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    461457        return 61;
     
    463459    // Attempt to invoke function with null input vector
    464460    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    465     if(psDPolynomial3DEvalVector(polyOrd,inputOrdX,NULL,inputOrdZ) != NULL) {
     461    if(psPolynomial3DEvalVector(polyOrd,inputOrdX,NULL,inputOrdZ) != NULL) {
    466462        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    467463        return 62;
     
    469465    // Attempt to invoke function with null input vector
    470466    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL input vector");
    471     if(psDPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,NULL) != NULL) {
     467    if(psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,NULL) != NULL) {
    472468        psError(PS_ERR_UNKNOWN,true,"Return of NULL expected for NULL input vector");
    473469        return 63;
     
    477473    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    478474    inputOrdX->type.type = PS_TYPE_U8;
    479     if(psDPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     475    if(psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    480476        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    481477        return 64;
     
    485481    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    486482    inputOrdY->type.type = PS_TYPE_U8;
    487     if(psDPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     483    if(psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    488484        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    489485        return 65;
     
    493489    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid input type");
    494490    inputOrdZ->type.type = PS_TYPE_U8;
    495     if(psDPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
     491    if(psPolynomial3DEvalVector(polyOrd,inputOrdX,inputOrdY,inputOrdZ) != NULL) {
    496492        psError(PS_ERR_UNKNOWN,true,"Return NULL expected for non-F64 input vector");
    497493        return 66;
Note: See TracChangeset for help on using the changeset viewer.