summaryrefslogtreecommitdiffstats
path: root/raul/Quantizer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'raul/Quantizer.hpp')
-rw-r--r--raul/Quantizer.hpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/raul/Quantizer.hpp b/raul/Quantizer.hpp
index 13a5cb1..0fe9640 100644
--- a/raul/Quantizer.hpp
+++ b/raul/Quantizer.hpp
@@ -19,14 +19,19 @@
#define RAUL_QUANTIZER_HPP
#include <cmath>
+#include <raul/TimeStamp.hpp>
namespace Raul {
class Quantizer {
public:
- inline static double quantize(double q, double value) {
- return (q > 0) ? lrint(value / q) * q : value;
+ inline static TimeStamp quantize(TimeStamp q, TimeStamp t) {
+ assert(q.unit() == t.unit());
+ // FIXME: Precision problem? Should probably stay in discrete domain
+ const double qd = q.to_double();
+ const double td = t.to_double();
+ return TimeStamp(t.unit(), (qd > 0) ? lrint(td / qd) * qd : td);
}
};