Changeset 730 for library/tests
- Timestamp:
- 11/17/09 20:55:03 (15 years ago)
- Location:
- library/tests
- Files:
-
- 5 modified
Legend:
- Unmodified
- Added
- Removed
-
library/tests/epdf_harness.cpp
r725 r730 28 28 UI::get ( variance, set, "variance", UI::compulsory ); 29 29 30 UI::get ( support, set, "support", UI::optional ); 31 UI::get ( nbins, set, "nbins", UI::optional ); 30 support = UI::build<rectangular_support> ( set, "support", UI::optional ); 32 31 UI::get ( nsamples, set, "nsamples", UI::optional ); 33 32 UI::get ( R, set, "R", UI::optional ); … … 44 43 CHECK_CLOSE_EX ( variance, hepdf->variance(), tolerance ); 45 44 46 if ( support.rows() == 2 ) { 47 int old_size = nbins.size(); 48 if ( old_size < 2 ) { 49 ivec new_nbins ( "100 100" ); 50 for ( int i = 0; i < old_size; ++i ) { 51 new_nbins ( i ) = nbins ( i ); 52 } 53 54 nbins = new_nbins; 55 } 56 57 check_support_mean(); 58 check_support_integral(); 45 if ( support ) { // support is given 46 grid_fnc ep_disc; 47 ep_disc.set_support(*support); 48 ep_disc.set_values(*hepdf); 49 // ep_disc is discretized at support points 50 51 double point_volume =prod(support->_steps()); 52 CHECK_CLOSE(1.0, sum(ep_disc._values())*point_volume, 0.01); 53 54 vec pdf=ep_disc._values(); 55 pdf /=sum(pdf); // normalize 56 57 vec mea=pdf(0) * support->first_vec(); 58 mat Remp=pdf(0) * outer_product(support->act_vec(), support->act_vec()); 59 60 // run through all points 61 for (int i=1; i<support->points(); i++){ 62 mea += pdf(i)*support->next_vec(); 63 Remp += pdf(i) * outer_product(support->act_vec(), support->act_vec()); 64 } 65 CHECK_CLOSE(mean, mea, tolerance); 66 CHECK_CLOSE(R, Remp-outer_product(mea,mea), tolerance); 59 67 } 60 68 … … 112 120 } 113 121 114 void epdf_harness::check_support_mean() {115 vec xb = support.get_row ( 0 );116 vec yb = support.get_row ( 1 );117 118 vec actual;119 actual = num_mean2 ( hepdf.get(), xb, yb, nbins ( 0 ), nbins ( 1 ) );120 121 CHECK_CLOSE(mean, actual, tolerance);122 }123 124 void epdf_harness::check_support_integral() {125 vec xb = support.get_row ( 0 );126 vec yb = support.get_row ( 1 );127 128 double nc = normcoef ( hepdf.get(), xb, yb, nbins ( 0 ), nbins ( 1 ) );129 CHECK_CLOSE(1.0,nc,0.01);130 }131 122 132 123 void epdf_harness::check_sample_mean() { -
library/tests/epdf_harness.h
r722 r730 20 20 #include "base/user_info.h" 21 21 #include "stat/emix.h" 22 #include <stat/discrete.h> 22 23 23 24 namespace bdm { … … 28 29 vec mean; 29 30 vec variance; 30 mat support; 31 ivec nbins; 31 shared_ptr<rectangular_support> support; 32 32 int nsamples; 33 33 mat R; -
library/tests/testsuite/egiw.cfg
r725 r730 14 14 mean = [ 1.1, 0.2 ]; 15 15 variance = [ 0.02, 0.01333 ]; 16 support = ( "matrix", 2, 2, [ -2.0, 4.0, 0.01, 2.0 ] ); 16 R = ( "matrix", 2, 2, [ 0.02, 0.0, 0.0, 0.022 ] ); 17 support = { 18 class = "rectangular_support"; 19 ranges = ( [ -2.0, 4.0 ], [0.01, 2.0 ] ); 20 gridsizes = [ 100, 100 ]; 21 }; 17 22 nbins = [ 100, 200 ]; 18 23 tolerance = 0.01; … … 33 38 mean = [2.0, 1.14286]; 34 39 variance = [0.0285714, 0.0395795]; 35 support = ( "matrix", 2, 2, [ 0.0, 4.0, 0.01, 3.0 ] ); 36 nbins = [ 100, 200 ]; 40 R = ( "matrix", 2, 2, [ 0.028, 0.0, 0.0, 0.078 ] ); 41 support = { 42 class = "rectangular_support"; 43 ranges = ( [ 0.0, 4.0 ], [0.01, 3.0 ] ); 44 gridsizes = [ 100, 100 ]; 45 }; 37 46 tolerance = 0.01; 38 47 } ); -
library/tests/testsuite/enorm.cfg
r717 r730 14 14 mean = [ 1.1, -1.0 ]; 15 15 variance = [ 1, 2 ]; 16 support = ( "matrix", 2, 2, [ -5.0, 5.0, -5.0, 5.0 ] ); 16 support = { 17 class = "rectangular_support"; 18 ranges = ( [ -5.0, 5.0 ], [-5.0, 5.0 ] ); 19 gridsizes = [ 100, 100 ]; 20 }; 17 21 R = ( "matrix", 2, 2, [ 1.0, -0.5, -0.5, 2.0 ] ); 18 22 marginal_rv = { … … 36 40 mean = [ 0.0, 0.0 ]; 37 41 variance = [ 5.0, 5.2 ]; 38 support = ( "matrix", 2, 2, [ -10.0, 10.0, -10.0, 10.0 ] ); 42 support = { 43 class = "rectangular_support"; 44 ranges = ( [ -10.0, 10.0 ], [-10.0, 10.0 ] ); 45 gridsizes = [ 100, 100 ]; 46 }; 39 47 R = ( "matrix", 2, 2, [ 5.0, -0.05, -0.05, 5.2 ] ); 40 48 nbins = [ 200, 200 ]; -
library/tests/testsuite/user_info_matrix.cfg
r721 r730 21 21 manufacturer = "noname"; 22 22 electricLights = false; 23 matr = ( 0, 0, [ ] );23 matr = ( "matrix", 0, 0, [ ] ); 24 24 }; 25 25 pepikovo :