This is an automated email from the ASF dual-hosted git repository.

mzhu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git

commit 393f39dd8ea49d0d70e2ca562d8e0a2ab88d5238
Author: Meng Zhu <[email protected]>
AuthorDate: Tue Mar 12 15:25:25 2019 -0700

    Added `>`, `<` and `>=` operators to `Value::Scalar`.
    
    Review: https://reviews.apache.org/r/70148
---
 include/mesos/v1/values.hpp |  3 +++
 include/mesos/values.hpp    |  3 +++
 src/common/values.cpp       | 18 ++++++++++++++++++
 src/v1/values.cpp           | 18 ++++++++++++++++++
 4 files changed, 42 insertions(+)

diff --git a/include/mesos/v1/values.hpp b/include/mesos/v1/values.hpp
index 03a19ee..54f7d05 100644
--- a/include/mesos/v1/values.hpp
+++ b/include/mesos/v1/values.hpp
@@ -28,7 +28,10 @@ namespace v1 {
 
 std::ostream& operator<<(std::ostream& stream, const Value::Scalar& scalar);
 bool operator==(const Value::Scalar& left, const Value::Scalar& right);
+bool operator<(const Value::Scalar& left, const Value::Scalar& right);
 bool operator<=(const Value::Scalar& left, const Value::Scalar& right);
+bool operator>(const Value::Scalar& left, const Value::Scalar& right);
+bool operator>=(const Value::Scalar& left, const Value::Scalar& right);
 Value::Scalar operator+(const Value::Scalar& left, const Value::Scalar& right);
 Value::Scalar operator-(const Value::Scalar& left, const Value::Scalar& right);
 Value::Scalar& operator+=(Value::Scalar& left, const Value::Scalar& right);
diff --git a/include/mesos/values.hpp b/include/mesos/values.hpp
index 0d09729..27f71d1 100644
--- a/include/mesos/values.hpp
+++ b/include/mesos/values.hpp
@@ -27,7 +27,10 @@ namespace mesos {
 
 std::ostream& operator<<(std::ostream& stream, const Value::Scalar& scalar);
 bool operator==(const Value::Scalar& left, const Value::Scalar& right);
+bool operator<(const Value::Scalar& left, const Value::Scalar& right);
 bool operator<=(const Value::Scalar& left, const Value::Scalar& right);
+bool operator>(const Value::Scalar& left, const Value::Scalar& right);
+bool operator>=(const Value::Scalar& left, const Value::Scalar& right);
 Value::Scalar operator+(const Value::Scalar& left, const Value::Scalar& right);
 Value::Scalar operator-(const Value::Scalar& left, const Value::Scalar& right);
 Value::Scalar& operator+=(Value::Scalar& left, const Value::Scalar& right);
diff --git a/src/common/values.cpp b/src/common/values.cpp
index c788302..b41c64e 100644
--- a/src/common/values.cpp
+++ b/src/common/values.cpp
@@ -98,12 +98,30 @@ bool operator==(const Value::Scalar& left, const 
Value::Scalar& right)
 }
 
 
+bool operator<(const Value::Scalar& left, const Value::Scalar& right)
+{
+  return convertToFixed(left.value()) < convertToFixed(right.value());
+}
+
+
 bool operator<=(const Value::Scalar& left, const Value::Scalar& right)
 {
   return convertToFixed(left.value()) <= convertToFixed(right.value());
 }
 
 
+bool operator>(const Value::Scalar& left, const Value::Scalar& right)
+{
+  return convertToFixed(left.value()) > convertToFixed(right.value());
+}
+
+
+bool operator>=(const Value::Scalar& left, const Value::Scalar& right)
+{
+  return convertToFixed(left.value()) >= convertToFixed(right.value());
+}
+
+
 Value::Scalar operator+(const Value::Scalar& left, const Value::Scalar& right)
 {
   Value::Scalar result = left;
diff --git a/src/v1/values.cpp b/src/v1/values.cpp
index 5fd9dc5..4b58919 100644
--- a/src/v1/values.cpp
+++ b/src/v1/values.cpp
@@ -97,12 +97,30 @@ bool operator==(const Value::Scalar& left, const 
Value::Scalar& right)
 }
 
 
+bool operator<(const Value::Scalar& left, const Value::Scalar& right)
+{
+  return convertToFixed(left.value()) < convertToFixed(right.value());
+}
+
+
 bool operator<=(const Value::Scalar& left, const Value::Scalar& right)
 {
   return convertToFixed(left.value()) <= convertToFixed(right.value());
 }
 
 
+bool operator>(const Value::Scalar& left, const Value::Scalar& right)
+{
+  return convertToFixed(left.value()) > convertToFixed(right.value());
+}
+
+
+bool operator>=(const Value::Scalar& left, const Value::Scalar& right)
+{
+  return convertToFixed(left.value()) >= convertToFixed(right.value());
+}
+
+
 Value::Scalar operator+(const Value::Scalar& left, const Value::Scalar& right)
 {
   Value::Scalar result = left;

Reply via email to