Show
Ignore:
Timestamp:
07/29/09 08:29:35 (15 years ago)
Author:
vbarta
Message:

added configurable tests for egamma

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/tests/epdf_harness.cpp

    r439 r441  
    4444    UI::get(mean, set, "mean"); 
    4545    UI::get(variance, set, "variance"); 
    46     UI::get(support, set, "support"); 
     46 
     47    if (set.exists("support")) { 
     48        UI::get(support, set, "support"); 
     49    } 
    4750 
    4851    if (set.exists("nsamples")) { 
     
    5053    } 
    5154 
    52     UI::get(integral, set, "integral"); 
     55    if (set.exists("integral")) { 
     56        UI::get(integral, set, "integral"); 
     57    } 
     58 
     59    if (set.exists("R")) { 
     60        UI::get(R, set, "R"); 
     61    } 
    5362} 
    5463 
     
    5867    CHECK_CLOSE(variance, hepdf->variance(), epsilon); 
    5968 
    60     vec xb = support.get_row(0); 
    61     vec yb = support.get_row(1); 
    62     CHECK_CLOSE(mean, num_mean2(hepdf.get(), xb, yb, nsamples, nsamples), 0.1); 
    63     CHECK_CLOSE(integral, normcoef(hepdf.get(), xb, yb, nsamples, nsamples), 0.1); 
     69    if (support.rows() == 2) { 
     70        vec xb = support.get_row(0); 
     71        vec yb = support.get_row(1); 
     72        CHECK_CLOSE(mean, num_mean2(hepdf.get(), xb, yb, nsamples, nsamples), 0.1); 
     73        CHECK_CLOSE(integral, normcoef(hepdf.get(), xb, yb, nsamples, nsamples), 0.1); 
     74    } 
     75 
     76    if (R.rows() > 0) { 
     77        mat Smp = hepdf->sample_m(10000); 
     78        int N = Smp.cols(); 
     79        vec Emu = Smp*ones(N) /N ; 
     80        mat Er = (Smp*Smp.transpose())/N - outer_product(Emu,Emu); 
     81        CHECK_CLOSE(mean, Emu, 0.1); 
     82        CHECK_CLOSE(R, Er, 0.1); 
     83    } 
    6484} 
    6585