From 28e74b03d1a7f28a61e26704d3a7be0ccc81e77e Mon Sep 17 00:00:00 2001 From: Nick Gerleman Date: Tue, 3 Oct 2023 17:07:29 -0700 Subject: [PATCH] Update FloatOptional.h --- yoga/numeric/FloatOptional.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/yoga/numeric/FloatOptional.h b/yoga/numeric/FloatOptional.h index 4b31cbc2..824f53f3 100644 --- a/yoga/numeric/FloatOptional.h +++ b/yoga/numeric/FloatOptional.h @@ -36,53 +36,53 @@ struct FloatOptional { // operators take FloatOptional by value, as it is a 32bit value -inline bool operator==(FloatOptional lhs, FloatOptional rhs) { +constexpr bool operator==(FloatOptional lhs, FloatOptional rhs) { return lhs.unwrap() == rhs.unwrap() || (lhs.isUndefined() && rhs.isUndefined()); } -inline bool operator!=(FloatOptional lhs, FloatOptional rhs) { +constexpr bool operator!=(FloatOptional lhs, FloatOptional rhs) { return !(lhs == rhs); } -inline bool operator==(FloatOptional lhs, float rhs) { +constexpr bool operator==(FloatOptional lhs, float rhs) { return lhs == FloatOptional{rhs}; } -inline bool operator!=(FloatOptional lhs, float rhs) { +constexpr bool operator!=(FloatOptional lhs, float rhs) { return !(lhs == rhs); } -inline bool operator==(float lhs, FloatOptional rhs) { +constexpr bool operator==(float lhs, FloatOptional rhs) { return rhs == lhs; } -inline bool operator!=(float lhs, FloatOptional rhs) { +constexpr bool operator!=(float lhs, FloatOptional rhs) { return !(lhs == rhs); } -inline FloatOptional operator+(FloatOptional lhs, FloatOptional rhs) { +constexpr FloatOptional operator+(FloatOptional lhs, FloatOptional rhs) { return FloatOptional{lhs.unwrap() + rhs.unwrap()}; } -inline bool operator>(FloatOptional lhs, FloatOptional rhs) { +constexpr bool operator>(FloatOptional lhs, FloatOptional rhs) { return lhs.unwrap() > rhs.unwrap(); } -inline bool operator<(FloatOptional lhs, FloatOptional rhs) { +constexpr bool operator<(FloatOptional lhs, FloatOptional rhs) { return lhs.unwrap() < rhs.unwrap(); } -inline bool operator>=(FloatOptional lhs, FloatOptional rhs) { +constexpr bool operator>=(FloatOptional lhs, FloatOptional rhs) { return lhs > rhs || lhs == rhs; } -inline bool operator<=(FloatOptional lhs, FloatOptional rhs) { +constexpr bool operator<=(FloatOptional lhs, FloatOptional rhs) { return lhs < rhs || lhs == rhs; } -inline FloatOptional maxOrDefined(FloatOptional op1, FloatOptional op2) { +constexpr FloatOptional maxOrDefined(FloatOptional op1, FloatOptional op2) { return maxOrDefined(op1.unwrap(), op2.unwrap()); } -inline bool inexactEquals(const FloatOptional a, const FloatOptional b) { +constexpr bool inexactEquals(const FloatOptional a, const FloatOptional b) { return inexactEquals(a.unwrap(), b.unwrap()); }