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

Submitted by Michael Niedermayer on Nov. 25, 2017, 11:47 p.m.

Details

Message ID 20171125234722.GU4636@nb4
State New
Headers show

Commit Message

Michael Niedermayer Nov. 25, 2017, 11:47 p.m.
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@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@niedermayer.cc>



[...]

Comments

Michael Niedermayer Nov. 26, 2017, 11:09 p.m.
On Sun, Nov 26, 2017 at 12:47:22AM +0100, Michael Niedermayer wrote:
> 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@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@niedermayer.cc>

ill push a variant of this so that gets fixed. We can change it
later if people prefer somthing else
leaving it open is bad ...

[...]
James Almer Nov. 26, 2017, 11:13 p.m.
On 11/26/2017 8:09 PM, Michael Niedermayer wrote:
> On Sun, Nov 26, 2017 at 12:47:22AM +0100, Michael Niedermayer wrote:
>> 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@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@niedermayer.cc>
> 
> ill push a variant of this so that gets fixed. We can change it
> later if people prefer somthing else
> leaving it open is bad ...

Any solution is fine with me. Thanks for fixing it.

Patch hide | download patch | download mbox

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();