From 67a28837c6bbb05d2636a70955a665a88696b96f Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Sun, 7 Feb 2016 15:04:55 -0500 Subject: passe à quatre espaces pour les tabs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 36 +++++++++++++++--------------- stratified_sampling.cpp | 58 ++++++++++++++++++++++++------------------------- 2 files changed, 46 insertions(+), 48 deletions(-) diff --git a/main.cpp b/main.cpp index c1eb3ec..88617c4 100644 --- a/main.cpp +++ b/main.cpp @@ -10,26 +10,26 @@ //--génération quantiles-- std::vector quantile_norm(int n, double sigma){ - std::vector q(n); - for (int i=0; i q(n); + for (int i=0; i q; - q = quantile_norm(10, 1); - vector p(10, 0.1); - vector gen; - gen.push_back(gaussian_truncated(GSL_NEGINF,q[0])); - for (int i=1; i<10; i++){ - gen.push_back(gaussian_truncated(q[i-1],q[i])); - } - stratified_sampling S(p, gen); - //S.update(1000); - return 0; + //--- GSL random init --- + gsl_rng_env_setup(); + std::vector q; + q = quantile_norm(10, 1); + vector p(10, 0.1); + vector gen; + gen.push_back(gaussian_truncated(GSL_NEGINF,q[0])); + for (int i=1; i<10; i++){ + gen.push_back(gaussian_truncated(q[i-1],q[i])); + } + stratified_sampling S(p, gen); + //S.update(1000); + return 0; } diff --git a/stratified_sampling.cpp b/stratified_sampling.cpp index c03d447..b959776 100644 --- a/stratified_sampling.cpp +++ b/stratified_sampling.cpp @@ -13,41 +13,39 @@ std::pair mean_var( std::vector r){ p.second -= p.first * p.first; return p; } + //actualisation du nombre de tirages à faire par strates template void stratified_sampling::update(int Nk) { - int I = p.size(); - //reinitialistation du vecteur M du nombre de tirages par strates - if (M.empty()) { - M.resize(I,1); - } - else { - for(int i=0; i m(I, 0); //le vecteur des m_i idéals - if (sigma.empty()) { - for (int i=0; i m(I, 0); //le vecteur des m_i idéals + + if (sigma.empty()) { + for (int i=0; i