IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 29, 2007, 2:11:31 PM (19 years ago)
Author:
gusciora
Message:

Improved skip macro placement for the PolyEval files.

Fist version of tap_psMatrixVectorArithmetic01.c

File:
1 edited

Legend:

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

    r10848 r11397  
    44*  ORD and CHEB type polynomials.
    55*
    6 *  @version  $Revision: 1.2 $  $Name: not supported by cvs2svn $
    7 *  @date  $Date: 2006-12-29 04:38:42 $
     6*  @version  $Revision: 1.3 $  $Name: not supported by cvs2svn $
     7*  @date  $Date: 2007-01-30 00:11:31 $
    88*
    99* Copyright 2004-2005 Maui High Performance Computing Center, Univ. of Hawaii
     
    462462    {
    463463        psMemId id = psMemGetId();
    464         // Allocate polynomial
    465         psPolynomial4D* polyOrd = psPolynomial4DAlloc(PS_POLYNOMIAL_ORD, TERMS-1, TERMS-1, TERMS-1, TERMS-1);
    466         ok(polyOrd != NULL, "Ordinary polynomial allocation successful");
    467         skip_start(polyOrd == NULL, 8, "Skipping tests because psPolynomial4DAlloc() failed");
    468 
    469         // Set polynomial members
    470         for(psS32 i = 0; i < TERMS; i++)
    471         {
    472             for(psS32 j = 0; j < TERMS; j++) {
    473                 for(psS32 k = 0; k < TERMS; k++) {
    474                     for(psS32 l = 0; l < TERMS; l++) {
    475                         polyOrd->coeff[i][j][k][l] = Dpoly4DCoeff[i][j][k][l];
    476                         polyOrd->mask[i][j][k][l]  = poly4DMask[i][j][k][l];
    477                     }
    478                 }
    479             }
    480         }
    481 
    482464        // Create input vectors
    483465        psVector* inputOrdW  = psVectorAlloc(TESTPOINTS, PS_TYPE_F64);
     
    497479        }
    498480
     481        // Allocate polynomial
     482        psPolynomial4D* polyOrd = psPolynomial4DAlloc(PS_POLYNOMIAL_ORD, TERMS-1, TERMS-1, TERMS-1, TERMS-1);
     483        ok(polyOrd != NULL, "Ordinary polynomial allocation successful");
     484        skip_start(polyOrd == NULL, 12, "Skipping tests because psPolynomial4DAlloc() failed");
     485        // Set polynomial members
     486        for(psS32 i = 0; i < TERMS; i++)
     487        {
     488            for(psS32 j = 0; j < TERMS; j++) {
     489                for(psS32 k = 0; k < TERMS; k++) {
     490                    for(psS32 l = 0; l < TERMS; l++) {
     491                        polyOrd->coeff[i][j][k][l] = Dpoly4DCoeff[i][j][k][l];
     492                        polyOrd->mask[i][j][k][l]  = poly4DMask[i][j][k][l];
     493                    }
     494                }
     495            }
     496        }
     497
    499498        // Evaluate the vectors
    500499        psVector* outputOrd = psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ);
     
    548547        ok(psPolynomial4DEvalVector(polyOrd,inputOrdW,inputOrdX,inputOrdY,inputOrdZ) == NULL, "psPolynomial4DEvalVector() produced NULL when called with non F64 input vector");
    549548        inputOrdW->type.type = PS_TYPE_F64;
    550 
     549        psFree(outputOrd);
     550        skip_end();
    551551        psFree(inputOrdX);
    552552        psFree(inputOrdY);
    553553        psFree(inputOrdZ);
    554554        psFree(inputOrdW);
    555         psFree(outputOrd);
    556555        psFree(polyOrd);
    557 
    558         skip_end();
    559556        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
    560557    }
     
    563560    {
    564561        psMemId id = psMemGetId();
    565         // Allocate polynomial
    566         psPolynomial4D* polyCheb = psPolynomial4DAlloc(PS_POLYNOMIAL_CHEB, TERMS-1, TERMS-1, TERMS-1, TERMS-1);
    567         ok(polyCheb != NULL, "Ordinary polynomial allocation successful");
    568         skip_start(polyCheb == NULL, 8, "Skipping tests because psPolynomial4DAlloc() failed");
    569 
    570         // Set polynomial members
    571         for(psS32 i = 0; i < TERMS; i++)
    572         {
    573             for(psS32 j = 0; j < TERMS; j++) {
    574                 for(psS32 k = 0; k < TERMS; k++) {
    575                     for(psS32 l = 0; l < TERMS; l++) {
    576                         polyCheb->coeff[i][j][k][l] = 1.0;
    577                         polyCheb->mask[i][j][k][l]  = poly4DMask[i][j][k][l];
    578                     }
    579                 }
    580             }
    581         }
    582 
    583562        // Create input vectors
    584563        psVector* inputChebW = psVectorAlloc(TESTPOINTS, PS_TYPE_F64);
     
    598577        }
    599578
     579        // Allocate polynomial
     580        psPolynomial4D* polyCheb = psPolynomial4DAlloc(PS_POLYNOMIAL_CHEB, TERMS-1, TERMS-1, TERMS-1, TERMS-1);
     581        ok(polyCheb != NULL, "Ordinary polynomial allocation successful");
     582        skip_start(polyCheb == NULL, 12, "Skipping tests because psPolynomial4DAlloc() failed");
     583
     584        // Set polynomial members
     585        for(psS32 i = 0; i < TERMS; i++)
     586        {
     587            for(psS32 j = 0; j < TERMS; j++) {
     588                for(psS32 k = 0; k < TERMS; k++) {
     589                    for(psS32 l = 0; l < TERMS; l++) {
     590                        polyCheb->coeff[i][j][k][l] = 1.0;
     591                        polyCheb->mask[i][j][k][l]  = poly4DMask[i][j][k][l];
     592                    }
     593                }
     594            }
     595        }
     596
    600597        // Evaluate the vectors
    601598        psVector* outputCheb = psPolynomial4DEvalVector(polyCheb,inputChebW,inputChebX,inputChebY,inputChebZ);
     
    649646        ok(psPolynomial4DEvalVector(polyCheb,inputChebW,inputChebX,inputChebY,inputChebZ) == NULL, "psPolynomial4DEvalVector() produced NULL when called with non F64 input vector");
    650647        inputChebW->type.type = PS_TYPE_F64;
    651 
     648        psFree(outputCheb);
     649        skip_end();
    652650        psFree(inputChebW);
    653651        psFree(inputChebX);
    654652        psFree(inputChebY);
    655653        psFree(inputChebZ);
    656         psFree(outputCheb);
    657654        psFree(polyCheb);
    658 
    659         skip_end();
    660655        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
    661656    }
Note: See TracChangeset for help on using the changeset viewer.