[FFmpeg-devel] [PATCH] tests/checkasm/float_dsp: Increase allowed difference for float_dsp.vector_dmul

Michael Niedermayer michael at niedermayer.cc
Sun Nov 26 01:47:22 EET 2017


On Sun, Nov 26, 2017 at 12:10:38AM +0100, Michael Niedermayer wrote:
> On Fri, Nov 24, 2017 at 11:37:36PM -0300, James Almer wrote:
> > On 10/29/2017 11:57 AM, Michael Niedermayer wrote:
> > > The choosen value is the lowest power of 2 that allows 1000 iterations of fate-checkasm-float_dsp
> > > to pass on x86-32
> > 
> > Ticket #6848 reports this value is still not enough. Maybe something
> > like 1.0e-12 or 1.0e-13 instead?
> 
> ok, ill push it with 1e-12

Or do people prefer this: (this should be more correct)

commit 67ba87a320faba623c0b35a0692adb916860ac40 (HEAD -> master)
Author: Michael Niedermayer <michael at niedermayer.cc>
Date:   Sun Oct 29 15:26:50 2017 +0100

    tests/checkasm/float_dsp: Increase allowed difference for float_dsp.vector_dmul

    Tested for 10000 iterations on x86-32

    Fixes: Ticket6848

    Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

diff --git a/tests/checkasm/float_dsp.c b/tests/checkasm/float_dsp.c
index 9b0a221c25..32cac45a17 100644
--- a/tests/checkasm/float_dsp.c
+++ b/tests/checkasm/float_dsp.c
@@ -165,7 +165,8 @@ static void test_vector_dmul_scalar(const double *src0, const double *src1)
     call_ref(cdst, src0, src1[0], LEN);
     call_new(odst, src0, src1[0], LEN);
     for (i = 0; i < LEN; i++) {
-        if (!double_near_abs_eps(cdst[i], odst[i], DBL_EPSILON)) {
+        double t = FFMAX3(fabs(src1[0]), fabs(src0[i]), fabs(src1[0] * src0[i]));
+        if (!double_near_abs_eps(cdst[i], odst[i], FFMAX(t, 1.0) * 2 * DBL_EPSILON)) {
             fprintf(stderr, "%d: %- .12f - %- .12f = % .12g\n", i,
                     cdst[i], odst[i], cdst[i] - odst[i]);
             fail();


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

"I am not trying to be anyone's saviour, I'm trying to think about the
 future and not be sad" - Elon Musk

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20171126/a804f78b/attachment.sig>


More information about the ffmpeg-devel mailing list