#include "measurement.hh" void Measurement::addSsValue(int ssv) { float ss_mwatts = pow(10, (float) ssv / 10.0) + (ss_list.size() * pow(10, average_ss / 10.0)); ss_list.push_back(ssv); average_ss = 10 * log10(ss_mwatts / ss_list.size()); } float Measurement::getSsSquareDistance(float ss)const { return ((ss - average_ss) * (ss - average_ss)); } ostream &operator<<(ostream &os, Measurement &m) { unsigned int i; os << m.mac_addr << "->"; if (m.ss_list.size() == 0) os << "No values"; else for (i = 0 ; i < m.ss_list.size() ; i++) { os << m.ss_list[i]; if(i < m.ss_list.size() - 1) os << ";"; } os << " [AVG=" << m.average_ss << "]"; return os; }