IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 15, 2006, 7:34:07 PM (19 years ago)
Author:
magnier
Message:

further tests

File:
1 edited

Legend:

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

    r10550 r10774  
    120120    }
    121121
     122    // test stat sample mean (mask, range : small sample)
     123    {
     124        psMemId id = psMemGetId();
     125
     126        psStats *stats = psStatsAlloc (PS_STAT_SAMPLE_MEAN | PS_STAT_USE_RANGE);
     127        stats->min = -10;
     128        stats->max = +10;
     129        psVector *mask = psVectorAlloc (10, PS_TYPE_U8);
     130        psVectorInit (mask, 0);
     131        mask->data.U8[3] = 1;
     132        int nOld = rnd->n;
     133
     134        rnd->n = 10;
     135        gettimeofday (&start, NULL);
     136        for (int i = 0; i < 1000000; i++)
     137        {
     138            psVectorStats (stats, rnd, NULL, mask, 1);
     139        }
     140        gettimeofday (&mark, NULL);
     141        rnd->n = nOld;
     142
     143        psF64 delta = DTIME(mark, start);
     144        ok (delta < 0.2, "sample mean %f (mask: 1, range: 1): %.3f sec", stats->sampleMean, delta);
     145        psFree (stats);
     146        psFree (mask);
     147
     148        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     149    }
     150
    122151    diag ("timing for sample median");
    123152    /********** SAMPLE MEDIAN ***********/
     
    300329        }
    301330        gettimeofday (&mark, NULL);
     331        psF64 delta = DTIME(mark, start);
     332        ok (delta < 0.42, "sample stdev %f (mask: 1, range: 1): %.3f sec", stats->sampleStdev, delta);
     333        psFree (stats);
     334        psFree (mask);
     335
     336        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     337    }
     338
     339    // test stat sample stdev (mask, range)
     340    {
     341        psMemId id = psMemGetId();
     342
     343        psStats *stats = psStatsAlloc (PS_STAT_SAMPLE_STDEV | PS_STAT_USE_RANGE);
     344        stats->min = -10;
     345        stats->max = +10;
     346        psVector *mask = psVectorAlloc (10, PS_TYPE_U8);
     347        psVectorInit (mask, 0);
     348        mask->data.U8[1] = 1;
     349        int nOld = rnd->n;
     350
     351        rnd->n = 10;
     352        gettimeofday (&start, NULL);
     353        for (int i = 0; i < 1000000; i++)
     354        {
     355            psVectorStats (stats, rnd, NULL, mask, 1);
     356        }
     357        gettimeofday (&mark, NULL);
     358        rnd->n = nOld;
     359
    302360        psF64 delta = DTIME(mark, start);
    303361        ok (delta < 0.42, "sample stdev %f (mask: 1, range: 1): %.3f sec", stats->sampleStdev, delta);
Note: See TracChangeset for help on using the changeset viewer.