commit e7ec3b5643cc8d7a8c6a0ef26bb1c8ef58e39b36
parent 20b590366e83ade457d7a40c1d0f95215ceabcec
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Mon, 17 Oct 2016 06:39:21 +0300
dB_to_string
Diffstat:
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/include/kfr/io/tostring.hpp b/include/kfr/io/tostring.hpp
@@ -131,7 +131,7 @@ struct representation<kfr::vec<T, N>>
using type = std::string;
static std::string get(const kfr::vec<T, N>& value)
{
- return details::array_to_string(value.data(), value.size());
+ return details::array_to_string(ptr_cast<T>(&value), value.size());
}
};
@@ -188,4 +188,20 @@ struct expression_debug_printer : output_expression
}
inline internal::expression_printer printer() { return internal::expression_printer(); }
inline internal::expression_debug_printer debug_printer() { return internal::expression_debug_printer(); }
+
+template <typename T>
+std::string dB_to_string(const T& value, double minimum = -140.0)
+{
+ if (value <= minimum)
+ return "-oo dB";
+ return as_string(fmtwidth<0, 2>(value), " dB");
+}
+
+template <typename T>
+std::string dB_to_utf8string(const T& value, double minimum = -140.0)
+{
+ if (value <= minimum)
+ return "-\xE2\x88\x9E dB"; // infinity symbol
+ return as_string(fmtwidth<0, 2>(value), " dB");
+}
}