From bcafe5e41698c44b6aa77b8ef150f4224613c38f Mon Sep 17 00:00:00 2001 From: Bertrand Date: Tue, 12 Apr 2016 17:05:23 +0000 Subject: rectification, renommage quasi_mean en monte_carlo, renommage quasi_option en quasi_mean qui est déplacée dans rqmc.hpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/option.hpp | 22 ---------------------- src/projet.cpp | 6 +++--- src/rqmc.hpp | 25 ++++++++++++++++++++++--- 3 files changed, 25 insertions(+), 28 deletions(-) (limited to 'src') diff --git a/src/option.hpp b/src/option.hpp index 1a3733c..4d9ee13 100644 --- a/src/option.hpp +++ b/src/option.hpp @@ -27,25 +27,3 @@ struct asian_option : public std::unary_function, double> }; - - -template -struct quasi_option : public generator -{ - quasi_option(int n, int d, Fct payoff) : n(n), d(d), payoff(payoff), G(d) {}; - - typename Fct::result_type operator()() { - double sum =0; - for(int i=0; i G; - }; - diff --git a/src/projet.cpp b/src/projet.cpp index 57f6b91..b4fa5f9 100644 --- a/src/projet.cpp +++ b/src/projet.cpp @@ -71,13 +71,13 @@ void exemple2_rqmc() { std::vector result(3); - result = quasi_mean(100, quasi_option (N, d, A)); + result = monte_carlo(100, quasi_mean (N, d, A)); for(int i =0; i<3; i++){ std::cout< result2(3); - result2 = quasi_mean(100, quasi_option (N, d, A)); + result2 = monte_carlo(100, quasi_mean (N, d, A)); for(int i =0; i<3; i++){ std::cout< result(3); - result = quasi_mean (100,quasi_option (N, 1, f)); + result = monte_carlo (100,quasi_mean (N, 1, f)); for(int i =0; i<3; i++){ std::cout< -std::vector quasi_mean(int n, L X, double p=0.05) +std::vector monte_carlo(int n, L X, double p=0.05) { std::vector result(3,0); double x; @@ -72,9 +72,9 @@ std::vector quasi_mean(int n, L X, double p=0.05) }; template -std::vector quasi_mean(int n, Fct f, L X, double p=0.05) +std::vector monte_carlo(int n, Fct f, L X, double p=0.05) { - return quasi_mean(n, compose(f, X), p); + return monte_carlo(n, compose(f, X), p); }; //Les classes de quasi-mean @@ -120,6 +120,25 @@ struct gaussian_d : public var_alea > gaussian G; }; +template +struct quasi_mean : public generator +{ + quasi_mean(int n, int d, Fct f) : n(n), d(d), f(f), G(d) {}; + + typename Fct::result_type operator()() { + double sum =0; + for(int i=0; i G; + }; -- cgit v1.2.3-70-g09d2