X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=logicdatasnapshot.cpp;fp=logicdatasnapshot.cpp;h=5301abf59d04d6920892a5b6bfaa143ebf04c9ad;hp=e751b9d1cd6ae3528311913b7a284fdafaa123b2;hb=8743e7cba1f05ea0dde3dd566f28e6082ed055d0;hpb=6e66a9d46c279355965744548639ba5ef7cdb2cf diff --git a/logicdatasnapshot.cpp b/logicdatasnapshot.cpp index e751b9d1..5301abf5 100644 --- a/logicdatasnapshot.cpp +++ b/logicdatasnapshot.cpp @@ -323,7 +323,8 @@ void LogicDataSnapshot::get_subsampled_edges( get_sample(end) & sig_mask)); } -int64_t LogicDataSnapshot::pow2_ceil(int64_t x, int power) +int64_t LogicDataSnapshot::pow2_ceil(int64_t x, unsigned int power) { - return ((x >> power) + 1) << power; + const int64_t p = 1 << power; + return ((x < 0) ? x : (x + p - 1)) / p * p; }