From f134278ed451370b0f6f82286c61a17c6315d4e3 Mon Sep 17 00:00:00 2001 From: david <david@lipn.fr> Date: Wed, 18 Sep 2019 11:34:21 +0200 Subject: [PATCH] long double in CPP --- CPP/analyzer.cpp | 6 +++--- CPP/analyzer.hpp | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CPP/analyzer.cpp b/CPP/analyzer.cpp index 9d2659e..fef345f 100644 --- a/CPP/analyzer.cpp +++ b/CPP/analyzer.cpp @@ -8,14 +8,14 @@ void Analyzer::append(const double & x){ cumulative_square += x*x; } -double Analyzer::get_average_cost(){ +long double Analyzer::get_average_cost(){ if(cumulative_cost.empty()) throw std::runtime_error("List is empty"); return cumulative_cost.back()/cumulative_cost.size(); } -double Analyzer::get_variance(){ - double mean, mean_square; +long double Analyzer::get_variance(){ + long double mean, mean_square; mean = get_average_cost(); mean_square = mean * mean; return cumulative_square - mean_square; diff --git a/CPP/analyzer.hpp b/CPP/analyzer.hpp index 7eb9d04..4772ff0 100644 --- a/CPP/analyzer.hpp +++ b/CPP/analyzer.hpp @@ -31,7 +31,7 @@ public: Complexité en temps/espace, meilleur cas : O(1) @returns la somme des coûts enregistrés dans cette analyse. */ - double get_total_cost(){ + long double get_total_cost(){ return cumulative_cost.back(); } @@ -41,7 +41,7 @@ public: @param pos est l'indice de l'opération pour laquelle on veut connaître le coût amorti. @returns le coût amorti d'une opération. */ - double get_amortized_cost(size_t pos){ + long double get_amortized_cost(size_t pos){ return (pos)? cumulative_cost.at(pos)/pos : cumulative_cost.at(pos); } @@ -50,21 +50,21 @@ public: Complexité en temps/espace, meilleur cas : O(1) @returns la moyenne des coûts de toutes les opérations enregistrées dans l'analyse. */ - double get_average_cost(); + long double get_average_cost(); /** Renvoie la variance des coûts de toutes les opérations enregistrées dans l'analyse. Complexité en temps/espace, meilleur cas : O(1) @returns la variance des coûts de toutes les opérations enregistrées dans l'analyse. */ - double get_variance(); + long double get_variance(); /** Renvoie l'écart-type des coûts de toutes les opérations enregistrées dans l'analyse. Complexité en temps/espace, meilleur cas : O(1) @returns l'écart-type des coûts de toutes les opérations enregistrées dans l'analyse. */ - double get_standard_deviation(){ + long double get_standard_deviation(){ return std::sqrt(get_variance()); } -- GitLab