From 7e4a3659ee56a2f46e5a62fbfa0588cbcd190af7 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Thu, 20 Oct 2016 21:35:32 +0200 Subject: [PATCH] [DEBUG/DEV] correct to second and add count in us --- echrono/Clock.cpp | 4 ++++ echrono/Clock.hpp | 5 +++++ echrono/Duration.cpp | 2 +- echrono/Steady.cpp | 5 +++++ echrono/Steady.hpp | 5 +++++ echrono/Time.cpp | 5 +++++ echrono/Time.hpp | 8 ++++++++ 7 files changed, 33 insertions(+), 1 deletion(-) diff --git a/echrono/Clock.cpp b/echrono/Clock.cpp index b78c940..3f15c64 100644 --- a/echrono/Clock.cpp +++ b/echrono/Clock.cpp @@ -107,6 +107,10 @@ void echrono::Clock::reset() { m_data = std::chrono::steady_clock::time_point(std::chrono::seconds(0)); } +int64_t echrono::Clock::count() { + std::chrono::nanoseconds ns = std::chrono::duration_cast(m_data.time_since_epoch()); + return ns.count()/1000; +} std::ostream& echrono::operator <<(std::ostream& _os, const echrono::Clock& _obj) { std::chrono::nanoseconds ns = std::chrono::duration_cast(_obj.get().time_since_epoch()); diff --git a/echrono/Clock.hpp b/echrono/Clock.hpp index 6d71cde..e34f55b 100644 --- a/echrono/Clock.hpp +++ b/echrono/Clock.hpp @@ -29,6 +29,11 @@ namespace echrono { const std::chrono::steady_clock::time_point& get() const { return m_data; } + /** + * @brief return the number of us since start of clock (can be <0) + * @return a number un us since start of clock + */ + int64_t count(); static Clock now(); const Clock& operator= (const echrono::Clock& _obj ); bool operator== (const echrono::Clock& _obj) const; diff --git a/echrono/Duration.cpp b/echrono/Duration.cpp index 807e044..74efeaa 100644 --- a/echrono/Duration.cpp +++ b/echrono/Duration.cpp @@ -75,7 +75,7 @@ bool echrono::Duration::operator>= (const echrono::Duration& _obj) const { } float echrono::Duration::toSeconds() const { - return float(double(m_data.count()) * 0.0000000001); + return float(double(m_data.count()) * 0.000000001); } const echrono::Duration& echrono::Duration::operator/= (float _value) { diff --git a/echrono/Steady.cpp b/echrono/Steady.cpp index 0f7f3e1..d5d2a83 100644 --- a/echrono/Steady.cpp +++ b/echrono/Steady.cpp @@ -103,6 +103,11 @@ void echrono::Steady::reset() { m_data = std::chrono::steady_clock::time_point(std::chrono::seconds(0)); } +int64_t echrono::Steady::count() { + std::chrono::nanoseconds ns = std::chrono::duration_cast(m_data.time_since_epoch()); + return ns.count()/1000; +} + std::ostream& echrono::operator <<(std::ostream& _os, const echrono::Steady& _obj) { std::chrono::nanoseconds ns = std::chrono::duration_cast(_obj.get().time_since_epoch()); int64_t totalSecond = ns.count()/1000000000; diff --git a/echrono/Steady.hpp b/echrono/Steady.hpp index 8170b6f..d7c9e07 100644 --- a/echrono/Steady.hpp +++ b/echrono/Steady.hpp @@ -27,6 +27,11 @@ namespace echrono { const std::chrono::steady_clock::time_point& get() const { return m_data; } + /** + * @brief return the number of us since start program (can be <0) + * @return a number un us since start + */ + int64_t count(); static Steady now(); const Steady& operator= (const echrono::Steady& _obj ); bool operator== (const echrono::Steady& _obj) const; diff --git a/echrono/Time.cpp b/echrono/Time.cpp index 272c04a..daef07b 100644 --- a/echrono/Time.cpp +++ b/echrono/Time.cpp @@ -103,6 +103,11 @@ void echrono::Time::reset() { m_data = std::chrono::system_clock::time_point(std::chrono::seconds(0)); } +int64_t echrono::Time::count() { + std::chrono::nanoseconds ns = std::chrono::duration_cast(m_data.time_since_epoch()); + return ns.count()/1000; +} + std::ostream& echrono::operator <<(std::ostream& _os, const echrono::Time& _obj) { std::chrono::nanoseconds ns = std::chrono::duration_cast(_obj.get().time_since_epoch()); int64_t totalSecond = ns.count()/1000000000; diff --git a/echrono/Time.hpp b/echrono/Time.hpp index 7786aaa..763d910 100644 --- a/echrono/Time.hpp +++ b/echrono/Time.hpp @@ -27,6 +27,14 @@ namespace echrono { const std::chrono::system_clock::time_point& get() const { return m_data; } + /** + * @brief return the number od us since epoch (can be <0) + * @return a number un µs since epoch + */ + int64_t count(); + /** + * @brief get the current time + */ static Time now(); const Time& operator= (const echrono::Time& _obj ); bool operator== (const echrono::Time& _obj) const;