From dcd902c9f026cc1c6ed919c8dc2d2dceef8da452 Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Thu, 9 Feb 2012 14:49:36 +0100 Subject: [PATCH] [Positioner] Measurement: use floats, not doubles Use floats variables for the average and variance. --- owlps-positioner/src/measurement.cc | 4 ++-- owlps-positioner/src/measurement.hh | 16 ++++++++-------- owlps-positioner/src/referencepoint.cc | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/owlps-positioner/src/measurement.cc b/owlps-positioner/src/measurement.cc index a5f7854..c113f85 100644 --- a/owlps-positioner/src/measurement.cc +++ b/owlps-positioner/src/measurement.cc @@ -123,10 +123,10 @@ void Measurement::recalculate_average() void Measurement::update_average(ss_t ss_dbm) { // Convert the new SS in mW: - double ss_mw = pow(10, static_cast(ss_dbm) / 10.0) ; + float ss_mw = pow(10, static_cast(ss_dbm) / 10.0) ; // Update the average: - double delta = ss_mw - average_mw ; + float delta = ss_mw - average_mw ; average_mw += delta / ss_list.size() ; average_dbm = 10.0 * log10(average_mw) ; diff --git a/owlps-positioner/src/measurement.hh b/owlps-positioner/src/measurement.hh index 0912918..3a2dc25 100644 --- a/owlps-positioner/src/measurement.hh +++ b/owlps-positioner/src/measurement.hh @@ -26,15 +26,15 @@ protected: /// List of signal strengths captured (in dBm) std::map ss_list ; /// Average of all the captured signal strengths (dBm) - double average_dbm ; + float average_dbm ; /// Average of all the captured signal strengths (mW) - double average_mw ; + float average_mw ; /// Variance of all the captured signal strengths - double variance ; + float variance ; private: /// Intermediate variable used to compute the variance - double variance_m2 ; + float variance_m2 ; protected: @@ -62,8 +62,8 @@ public: /** @name Read accessors */ //@{ AccessPoint* get_ap() const ; - double get_average_dbm() const ; - double get_variance() const ; + float get_average_dbm() const ; + float get_variance() const ; int get_nb_ss() const ; //@} @@ -116,13 +116,13 @@ inline AccessPoint* Measurement::get_ap() const } -inline double Measurement::get_average_dbm() const +inline float Measurement::get_average_dbm() const { return average_dbm ; } -inline double Measurement::get_variance() const +inline float Measurement::get_variance() const { return variance ; } diff --git a/owlps-positioner/src/referencepoint.cc b/owlps-positioner/src/referencepoint.cc index f9ea970..cbba786 100644 --- a/owlps-positioner/src/referencepoint.cc +++ b/owlps-positioner/src/referencepoint.cc @@ -257,7 +257,7 @@ float ReferencePoint::friis_indexes_for_ap( measurements.find(ap_mac) ; if (measurement != measurements.end()) { - double ss = measurement->second.get_average_dbm() ; + float ss = measurement->second.get_average_dbm() ; assert((*request)->get_mobile()) ; float mobile_gain = (*request)->get_mobile()->get_antenna_gain() ;