2015-06-21 21:02:10 -07:00
|
|
|
/*----------------------------------------------------------------------------*/
|
2018-05-13 17:09:56 -07:00
|
|
|
/* Copyright (c) 2015-2018 FIRST. All Rights Reserved. */
|
2015-06-21 21:02:10 -07:00
|
|
|
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
|
|
|
|
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
|
|
|
|
/* the project. */
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
2015-06-25 23:12:49 -07:00
|
|
|
#include "SequenceNumber.h"
|
2015-06-21 21:02:10 -07:00
|
|
|
|
2015-07-17 07:21:07 -07:00
|
|
|
namespace nt {
|
2015-06-21 21:02:10 -07:00
|
|
|
|
2015-06-25 22:57:43 -07:00
|
|
|
bool operator<(const SequenceNumber& lhs, const SequenceNumber& rhs) {
|
2015-06-26 01:23:36 -07:00
|
|
|
if (lhs.m_value < rhs.m_value)
|
|
|
|
|
return (rhs.m_value - lhs.m_value) < (1u << 15);
|
|
|
|
|
else if (lhs.m_value > rhs.m_value)
|
|
|
|
|
return (lhs.m_value - rhs.m_value) > (1u << 15);
|
2015-06-25 22:57:43 -07:00
|
|
|
else
|
|
|
|
|
return false;
|
2015-06-21 21:02:10 -07:00
|
|
|
}
|
|
|
|
|
|
2015-06-25 22:57:43 -07:00
|
|
|
bool operator>(const SequenceNumber& lhs, const SequenceNumber& rhs) {
|
2015-06-26 01:23:36 -07:00
|
|
|
if (lhs.m_value < rhs.m_value)
|
|
|
|
|
return (rhs.m_value - lhs.m_value) > (1u << 15);
|
|
|
|
|
else if (lhs.m_value > rhs.m_value)
|
|
|
|
|
return (lhs.m_value - rhs.m_value) < (1u << 15);
|
2015-06-25 22:57:43 -07:00
|
|
|
else
|
|
|
|
|
return false;
|
2015-06-21 21:02:10 -07:00
|
|
|
}
|
|
|
|
|
|
2015-07-17 07:21:07 -07:00
|
|
|
} // namespace nt
|