Squashed 'third_party/ntcore_2016/' content from commit d8de5e4
Change-Id: Id4839f41b6a620d8bae58dcf1710016671cc4992
git-subtree-dir: third_party/ntcore_2016
git-subtree-split: d8de5e4f19e612e7102172c0dbf152ce82d3d63a
diff --git a/src/SequenceNumber.cpp b/src/SequenceNumber.cpp
new file mode 100644
index 0000000..b22bfec
--- /dev/null
+++ b/src/SequenceNumber.cpp
@@ -0,0 +1,30 @@
+/*----------------------------------------------------------------------------*/
+/* Copyright (c) FIRST 2015. All Rights Reserved. */
+/* 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. */
+/*----------------------------------------------------------------------------*/
+
+#include "SequenceNumber.h"
+
+namespace nt {
+
+bool operator<(const SequenceNumber& lhs, const SequenceNumber& rhs) {
+ 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);
+ else
+ return false;
+}
+
+bool operator>(const SequenceNumber& lhs, const SequenceNumber& rhs) {
+ 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);
+ else
+ return false;
+}
+
+} // namespace nt