IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 26, 2006, 1:49:11 PM (20 years ago)
Author:
gusciora
Message:

Made the requested changes to the psStats structure and added the fitted
statistics.

File:
1 edited

Legend:

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

    r6204 r6215  
    4040    float realUQNoMask = MEAN + ( 0.6 * STDEV );
    4141    psS32 realN50NoMask = N / 4;
    42     psS32 realNfitNoMask = N / 4;
    4342
    4443    /*************************************************************************/
     
    7978    psFree(mySampleStatsWithMask);
    8079
    81     myStats = psStatsAlloc( PS_STAT_ROBUST_MEAN |
    82                             PS_STAT_ROBUST_MEDIAN |
    83                             PS_STAT_ROBUST_MODE |
    84                             PS_STAT_ROBUST_STDEV |
    85                             PS_STAT_ROBUST_QUARTILE );
     80    myStats = psStatsAlloc(PS_STAT_ROBUST_MEDIAN |
     81                           PS_STAT_ROBUST_STDEV |
     82                           PS_STAT_ROBUST_QUARTILE |
     83                           PS_STAT_FITTED_MEAN |
     84                           PS_STAT_FITTED_STDEV);
    8685    // Create a full outliers:
    8786    myVector->data.F32[N/4] = -1000.0 * MEAN;
     
    101100
    102101    printf( "The expected Mean was %.2f; the calculated Mean was %.2f\n",
    103             realMeanNoMask, myStats->robustMean );
    104 
    105     if ( fabs( myStats->robustMean - realMeanNoMask ) < ( ERROR_TOLERANCE * realMeanNoMask ) ) {
     102            realMeanNoMask, myStats->fittedMean );
     103
     104    if ( fabs( myStats->fittedMean - realMeanNoMask ) < ( ERROR_TOLERANCE * realMeanNoMask ) ) {
    106105        testStatus = true;
    107106    } else {
     
    157156
    158157    printf( "The expected Stdev was %.2f; the calculated Stdev was %.2f\n",
    159             realStdevNoMask, myStats->robustStdev );
    160     if ( fabs( myStats->robustStdev - realStdevNoMask ) < ( ERROR_TOLERANCE * realStdevNoMask ) ) {
     158            realStdevNoMask, myStats->fittedStdev );
     159    if ( fabs( myStats->fittedStdev - realStdevNoMask ) < ( ERROR_TOLERANCE * realStdevNoMask ) ) {
    161160        testStatus = true;
    162161    } else {
     
    208207                             "psStats functions",
    209208                             "PS_STAT_ROBUST_STATS: robust N50: no vector mask" );
    210 
    211209    // XXX:
    212210    realN50NoMask = myStats->robustN50;
     
    227225                 testStatus );
    228226
    229     printPositiveTestHeader( stdout,
    230                              "psStats functions",
    231                              "PS_STAT_ROBUST_STATS: robust Nfit: no vector mask" );
    232 
    233     // XXX:
    234     realNfitNoMask = myStats->robustNfit;
    235 
    236     printf( "The expected Nfit was %d; the calculated Nfit was %d\n",
    237             realNfitNoMask, myStats->robustNfit );
    238     /* XXX: fix
    239         if ( fabs( myStats->robustNfit - realNfitNoMask ) < ( ERROR_TOLERANCE * realNfitNoMask ) ) {
    240             testStatus = true;
    241         } else {
    242             testStatus = false;
    243             globalTestStatus = false;
    244         }
    245     */
    246     printFooter( stdout,
    247                  "psVector functions",
    248                  "PS_STAT_ROBUST_STATS: robust Nfit: no vector mask",
    249                  testStatus );
    250227
    251228    /*************************************************************************/
     
    296273    float realUQWithMask = MEAN;
    297274    psS32 realN50WithMask = N / 4;
    298     psS32 realNfitWithMask = N / 4;
    299275    /*************************************************************************/
    300276    /*  Allocate and initialize data structures                              */
    301277    /*************************************************************************/
    302     myStats = psStatsAlloc( PS_STAT_ROBUST_MEAN |
    303                             PS_STAT_ROBUST_MEDIAN |
    304                             PS_STAT_ROBUST_MODE |
    305                             PS_STAT_ROBUST_STDEV |
    306                             PS_STAT_ROBUST_QUARTILE );
     278    myStats = psStatsAlloc(PS_STAT_ROBUST_MEDIAN |
     279                           PS_STAT_ROBUST_STDEV |
     280                           PS_STAT_ROBUST_QUARTILE |
     281                           PS_STAT_FITTED_MEAN |
     282                           PS_STAT_FITTED_STDEV);
    307283
    308284    maskVector = psVectorAlloc( N, PS_TYPE_U8 );
     
    334310    printf( "Called psVectorStats() on a vector with elements masked.\n" );
    335311    printf( "The expected Mean was %.2f; the calculated Mean was %.2f\n",
    336             realMeanWithMask, myStats->robustMean );
    337     if ( fabs( myStats->robustMean - realMeanWithMask ) < ( ERROR_TOLERANCE * realMeanWithMask ) ) {
     312            realMeanWithMask, myStats->fittedMean );
     313    if ( fabs( myStats->fittedMean - realMeanWithMask ) < ( ERROR_TOLERANCE * realMeanWithMask ) ) {
    338314        testStatus = true;
    339315    } else {
     
    389365
    390366    printf( "The expected Stdev was %.2f; the calculated Stdev was %.2f\n",
    391             realStdevWithMask, myStats->robustStdev );
    392     if ( fabs( myStats->robustStdev - realStdevWithMask ) < ( ERROR_TOLERANCE * realStdevWithMask ) ) {
     367            realStdevWithMask, myStats->fittedStdev );
     368    if ( fabs( myStats->fittedStdev - realStdevWithMask ) < ( ERROR_TOLERANCE * realStdevWithMask ) ) {
    393369        testStatus = true;
    394370    } else {
     
    459435                 "PS_STAT_ROBUST_STATS: robust N50: with vector mask",
    460436                 testStatus );
    461 
    462 
    463 
    464     printPositiveTestHeader( stdout,
    465                              "psStats functions",
    466                              "PS_STAT_ROBUST_STATS: robust Nfit: with vector mask" );
    467 
    468     printf( "The expected Nfit was %d; the calculated Nfit was %d\n",
    469             realNfitWithMask, myStats->robustNfit );
    470     /* XXX: fix
    471         if ( fabs( myStats->robustNfit - realNfitWithMask ) < ( ERROR_TOLERANCE * realNfitWithMask ) ) {
    472             testStatus = true;
    473         } else {
    474             testStatus = false;
    475             globalTestStatus = false;
    476         }
    477     */
    478     printFooter( stdout,
    479                  "psVector functions",
    480                  "PS_STAT_ROBUST_STATS: robust Nfit: with vector mask",
    481                  testStatus );
    482 
    483437
    484438
Note: See TracChangeset for help on using the changeset viewer.