X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2FdB.h;h=4d5f6c9f44575720439cee0c2a3db20e84770ba9;hb=3131ab8bbd9f57b6c59ff0a13460db634d5dafee;hp=b67e58106714a54a00581eec1ad0322299d948a6;hpb=449aab3c465bbbf66d221fac3d7ea559f1720357;p=ardour.git diff --git a/libs/ardour/ardour/dB.h b/libs/ardour/ardour/dB.h index b67e581067..4d5f6c9f44 100644 --- a/libs/ardour/ardour/dB.h +++ b/libs/ardour/ardour/dB.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2001 Paul Davis + Copyright (C) 2001 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,14 +20,20 @@ #ifndef __ardour_dB_h__ #define __ardour_dB_h__ -#include +#include "pbd/fastlog.h" static inline float dB_to_coefficient (float dB) { return dB > -318.8f ? pow (10.0f, dB * 0.05f) : 0.0f; } -static inline float coefficient_to_dB (float coeff) { +static inline float fast_coefficient_to_dB (float coeff) { return 20.0f * fast_log10 (coeff); } +static inline float accurate_coefficient_to_dB (float coeff) { + return 20.0f * log10f (coeff); +} + +extern double zero_db_as_fraction; + #endif /* __ardour_dB_h__ */