From 022bef09d0df18c1e54edae6e8c7ca23745c1304 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Wed, 1 May 2024 10:42:35 -0500 Subject: [PATCH] xquantity: + (xquantity, double) overloads for operator== --- include/xo/unit/xquantity.hpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/include/xo/unit/xquantity.hpp b/include/xo/unit/xquantity.hpp index 3aec78c..c03de0e 100644 --- a/include/xo/unit/xquantity.hpp +++ b/include/xo/unit/xquantity.hpp @@ -371,6 +371,26 @@ namespace xo { return (Quantity::compare(x, y) == 0); } + /** note: won't have constexpr result until c++26 (when ::sqrt(), ::pow() are constexpr) + **/ + template + requires quantity2_concept + constexpr auto + operator== (const Quantity & x, double y) + { + return (x == Quantity(y, nu::dimensionless)); + } + + /** note: won't have constexpr result until c++26 (when ::sqrt(), ::pow() are constexpr) + **/ + template + requires quantity2_concept + constexpr auto + operator== (double x, const Quantity & y) + { + return (Quantity(x, nu::dimensionless) == y); + } + /** note: won't have constexpr result until c++26 (when ::sqrt(), ::pow() are constexpr) **/ template