diff --git a/src/simulator/high-precision-128.cc b/src/simulator/high-precision-128.cc index 4ff1a9e36..33d634c55 100644 --- a/src/simulator/high-precision-128.cc +++ b/src/simulator/high-precision-128.cc @@ -20,48 +20,101 @@ */ #include "high-precision-128.h" #include +#include namespace ns3 { +int HighPrecision::m_nfastadds = 0; +int HighPrecision::m_nfastsubs = 0; +int HighPrecision::m_nfastmuls = 0; +int HighPrecision::m_nfastcmps = 0; +int HighPrecision::m_nfastgets = 0; +int HighPrecision::m_nslowadds = 0; +int HighPrecision::m_nslowsubs = 0; +int HighPrecision::m_nslowmuls = 0; +int HighPrecision::m_nslowcmps = 0; +int HighPrecision::m_nslowgets = 0; +int HighPrecision::m_ndivs = 0; +int HighPrecision::m_nconversions = 0; + +void +HighPrecision::PrintStats (void) +{ + double nadds = m_nfastadds + m_nslowadds; + double nsubs = m_nfastsubs + m_nslowsubs; + double ncmps = m_nfastcmps + m_nslowcmps; + double nmuls = m_nfastmuls + m_nslowmuls; + double ngets = m_nfastgets + m_nslowgets; + double fast_add_ratio = m_nfastadds / nadds; + double fast_sub_ratio = m_nfastsubs / nsubs; + double fast_cmp_ratio = m_nfastcmps / ncmps; + double fast_mul_ratio = m_nfastmuls / nmuls; + double fast_get_ratio = m_nfastgets / ngets; + + std::cout << + "add="<