From 0373ee0b626672488ca197f7eec512cb2fc325a9 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 27 May 2024 21:44:46 -0400 Subject: [PATCH] dbToLinear is float or double --- include/sst/basic-blocks/concepts/unit_conversions.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/sst/basic-blocks/concepts/unit_conversions.h b/include/sst/basic-blocks/concepts/unit_conversions.h index 1edac59..869cfe5 100644 --- a/include/sst/basic-blocks/concepts/unit_conversions.h +++ b/include/sst/basic-blocks/concepts/unit_conversions.h @@ -133,21 +133,21 @@ concept has_staticDbToLinear = requires(T *s, float f) { template concept providesDbToLinear = has_dbToLinear || has_db_to_linear || has_staticDbToLinear; -template - requires(providesDbToLinear) -inline float convertDbToLinear(T *t, float n) +template + requires(providesDbToLinear && std::is_floating_point_v) +inline float convertDbToLinear(T *t, F n) { if constexpr (has_db_to_linear) { - return t->db_to_linear(n); + return t->db_to_linear((float)n); } else if constexpr (has_dbToLinear) { - return t->dbToLinear(n); + return t->dbToLinear((float)n); } else if constexpr (has_staticDbToLinear) { - return T::dbToLinear(t, n); + return T::dbToLinear(t, (float)n); } assert(false); return 0;