From 1c47e22eca34d77174b6f3a2e47780c3a483926e Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Fri, 4 May 2018 17:38:04 +0200 Subject: [PATCH] Add log10f approximation. Based on https://community.arm.com/tools/f/discussions/4292/cmsis-dsp-new-functionality-proposal/22621#22621 --- server/TracyView.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/server/TracyView.cpp b/server/TracyView.cpp index 14766961..32855d86 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -153,6 +153,28 @@ static const char* RealToString( double val, bool separator ) return buf; } +tracy_force_inline float log2fast( float x ) +{ + float y, f; + int e; + f = frexpf( fabsf( x ), &e ); + y = 1.23149591368684f; + y *= f; + y += -4.11852516267426f; + y *= f; + y += 6.02197014179219f; + y *= f; + y += -3.13396450166353f; + y += e; + return y; +} + +static const float i10 = 1.f / log2f( 10 ); + +tracy_force_inline float log10fast( float x ) +{ + return log2fast( x ) * i10; +} enum { MinVisSize = 3 };