> -----Original Message----- > From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf Of > Martin Storsj? > Sent: Thursday, April 23, 2020 2:34 PM > To: ffmpeg-devel@ffmpeg.org > Subject: [FFmpeg-devel] [PATCH] dnn-layer-mathbinary-test: Fix tests for cases > with extra intermediate precision > > This fixes tests on 32 bit x86 mingw with clang, which uses x87 > fpu by default. > > In this setup, while the get_expected function is declared to > return float, the compiler is (especially given the optimization > flags set) free to keep the intermediate values (in this case, > the return value from the inlined function) in higher precision. > > This results in the situation where 7.28 (which actually, as > a float, ends up as 7.2800002098), multiplied by 100, is > 728.000000 when really forced into a 32 bit float, but 728.000021 > when kept with higher intermediate precision. > > For the multiplication case, a more suitable epsilon would e.g. > be 2*FLT_EPSILON*fabs(expected_output),
thanks for the fix. LGTM. Just want to have a talk with 2*FLT_EPSILON*fabs(expected_output), any explanation for this? looks ULP (units of least precision) based method is a good choice, see https://bitbashing.io/comparing-floats.html. Anyway, let's use the hardcoded threshold for simplicity. but just increase the > current hardcoded threshold for now. > --- > tests/dnn/dnn-layer-mathbinary-test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/dnn/dnn-layer-mathbinary-test.c > b/tests/dnn/dnn-layer-mathbinary-test.c > index f82d15b14c..f67c0f213b 100644 > --- a/tests/dnn/dnn-layer-mathbinary-test.c > +++ b/tests/dnn/dnn-layer-mathbinary-test.c > @@ -24,7 +24,7 @@ > #include "libavfilter/dnn/dnn_backend_native_layer_mathbinary.h" > #include "libavutil/avassert.h" > > -#define EPSON 0.00001 > +#define EPSON 0.00005 > > static float get_expected(float f1, float f2, DNNMathBinaryOperation op) > { > -- > 2.17.1 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".