mirror of
https://github.com/wjwwood/serial.git
synced 2026-01-22 11:44:53 +08:00
Eliminate modulus operator.
This commit is contained in:
parent
d8a1ef4ecf
commit
589e7b9a3b
@ -61,8 +61,9 @@ MillisecondTimer::MillisecondTimer (const uint32_t millis)
|
|||||||
{
|
{
|
||||||
int64_t tv_nsec = expiry.tv_nsec + (millis * 1e6);
|
int64_t tv_nsec = expiry.tv_nsec + (millis * 1e6);
|
||||||
if (tv_nsec > 1e9) {
|
if (tv_nsec > 1e9) {
|
||||||
expiry.tv_nsec = tv_nsec % (int)1e6;
|
int64_t sec_diff = tv_nsec / (int)1e6;
|
||||||
expiry.tv_sec += tv_nsec / (int)1e6;
|
expiry.tv_nsec = tv_nsec - (int)(1e6 * sec_diff);
|
||||||
|
expiry.tv_sec += sec_diff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +102,7 @@ timespec_from_ms (const uint32_t millis)
|
|||||||
{
|
{
|
||||||
timespec time;
|
timespec time;
|
||||||
time.tv_sec = millis / 1e3;
|
time.tv_sec = millis / 1e3;
|
||||||
time.tv_nsec = (millis % (int)1e3) * 1e6;
|
time.tv_nsec = (millis - (time.tv_sec * 1e3)) * 1e6;
|
||||||
}
|
}
|
||||||
|
|
||||||
Serial::SerialImpl::SerialImpl (const string &port, unsigned long baudrate,
|
Serial::SerialImpl::SerialImpl (const string &port, unsigned long baudrate,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user