xo-unit: restore constexpr quantity*quantity

This commit is contained in:
Roland Conybeare 2024-05-03 01:37:27 -04:00
commit be67f55c79
5 changed files with 66 additions and 35 deletions

View file

@ -6,20 +6,9 @@
#pragma once
#include "quantity_concept.hpp"
//#include <cstdint>
namespace xo {
namespace qty {
/** note: won't have constexpr result until c++26 (when ::sqrt(), ::pow() are constexpr)
**/
template <typename Quantity, typename Quantity2>
requires quantity_concept<Quantity> && quantity_concept<Quantity2>
constexpr auto
operator* (const Quantity & x, const Quantity2 & y)
{
return Quantity::multiply(x, y);
}
/** note: does not require unit scaling, so constexpr with c++23 **/
template <typename Dimensionless, typename Quantity>
requires std::is_arithmetic_v<Dimensionless> && quantity_concept<Quantity>