Skip Menu |

This queue is for tickets about the Math-Int64 CPAN distribution.

Report information
The Basics
Id: 99834
Status: resolved
Worked: 4 hours (240 min)
Priority: 0/
Queue: Math-Int64

People
Owner: Nobody in particular
Requestors: sisyphus [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.32
Fixed in: (no value)



Subject: Test failures with perl-5.21.5, nvtype is (113-bit prec) __float128
Hi, Here's the actual failures in make test: t/Math-Int64.t .......... 1/? # Failed test 'max int64 >> 63' # at t/Math-Int64.t line 175. # got: '0' # expected: '1' # Failed test 'max int64 >>= 63' # at t/Math-Int64.t line 179. # got: '0' # expected: '1' # Looks like you failed 2 tests of 1139. t/Math-Int64.t .......... Dubious, test returned 2 (wstat 512, 0x200) [snip] t/Math-Int64.t (Wstat: 512 Tests: 1139 Failed: 2) Failed tests: 1138-1139 Non-zero exit status: 2 The crux of the problem seems to be this: $ perl -MMath::Int64="int64" -le '$x=int64(9223372036854775807) / 2 ** 63;print $x;' 1 On perl 5.21.5 when nvtype is (64-bit prec) long double, I'm getting the expected: $ perl -MMath::Int64="int64" -le '$x=int64(9223372036854775807) / 2 ** 63;print $x;' 0 Maybe it's a bug in perl-5.21.5, but I can't trigger anything unusual there if I don't use Math::Int64's int64() function. Having forced installation of M::I64 onto this __float128 build of 5.21.5, I then get what appears to be related test failures with M::I128: t/Math-Int128.t ... 1/? # Failed test 'max int128 >> 127' # at t/Math-Int128.t line 155. # got: '0' # expected: '1' # Failed test 'max int128 >>= 127' # at t/Math-Int128.t line 159. # got: '0' # expected: '1' # Looks like you failed 2 tests of 956. t/Math-Int128.t ... Dubious, test returned 2 (wstat 512, 0x200) [snip] t/Math-Int128.t (Wstat: 512 Tests: 956 Failed: 2) Failed tests: 750-751 Non-zero exit status: 2 Let me know if there's some further testing/investigating that I ought to do. For completeness, here's the full perl -V: $ perl -V Summary of my perl5 (revision 5 version 21 subversion 5) configuration: Platform: osname=linux, osvers=3.13.0-37-generic, archname=x86_64-linux-thread-multi-ld uname='linux sisyphus5-desktop 3.13.0-37-generic #64-ubuntu smp mon sep 22 21:28:38 utc 2014 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Duse64bitint -Duse64bitall -Dusethreads -Dusequadmath -Dusedevel -Dprefix=/home/sisyphus/bleadperl' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define use64bitint=define, use64bitall=define, uselongdouble=define usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.8.2', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=1 ivtype='long', ivsize=8, nvtype='__float128', nvsize=16, Off_t='off_t', lseeksize=8 alignbytes=16, prototype=define Linker and Libraries: ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -lquadmath perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -lquadmath libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.19' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF USE_QUADMATH USE_REENTRANT_API Built under linux Compiled at Oct 21 2014 15:11:03 @INC: /home/sisyphus/bleadperl/lib/site_perl/5.21.5/x86_64-linux-thread-multi-ld /home/sisyphus/bleadperl/lib/site_perl/5.21.5 /home/sisyphus/bleadperl/lib/5.21.5/x86_64-linux-thread-multi-ld /home/sisyphus/bleadperl/lib/5.21.5 /home/sisyphus/bleadperl/lib/site_perl . Cheers, Rob
This looks like a duplicate of #99442. Could you try the new 0.33 version I have just released? https://metacpan.org/release/SALVA/Math-Int64-0.33
Subject: Re: [rt.cpan.org #99834] Test failures with perl-5.21.5, nvtype is (113-bit prec) __float128
Date: Wed, 29 Oct 2014 11:19:39 +1100
To: <bug-Math-Int64 [...] rt.cpan.org>, <sisyphus [...] cpan.org>
From: <sisyphus1 [...] optusnet.com.au>
Show quoted text
-----Original Message----- From: Salvador Fandino Garcia via RT Sent: Wednesday, October 29, 2014 2:40 AM To: sisyphus@cpan.org Subject: [rt.cpan.org #99834] Test failures with perl-5.21.5, nvtype is (113-bit prec) __float128
> This looks like a duplicate of #99442.
Yes, it does - I wonder whether they have the full quad long double. Anyway, 0.33 is fine for me. Still getting the same failures (tests 750 and 751 of math-Int128.t) with Math-Int128-0.13. I tried applying your ipow() solution to Math-Int128.t, but the same failures still persist. I haven't really given it any thought however - I just copied the ipow sub across to Math-Int128.t and switched to using ipow(2,$j) in the 2 relevant places. Let me know if you would like a separate bug report for Math::Int128. My perls already have 64-bit integers, so it's Math::Int128 that I'm mainly interested in. Cheers, Rob
Subject: Re: [rt.cpan.org #99834] Test failures with perl-5.21.5, nvtype is (113-bit prec) __float128
Date: Wed, 29 Oct 2014 07:33:44 -0700
To: "bug-Math-Int64 [...] rt.cpan.org" <bug-Math-Int64 [...] rt.cpan.org>
From: Salvador Fandino <sfandino [...] yahoo.com>
Hi Show quoted text
----- Original Message -----
> From: "sisyphus1@optusnet.com.au via RT" <bug-Math-Int64@rt.cpan.org> > To: > Cc: > Sent: Wednesday, October 29, 2014 1:20 AM > Subject: Re: [rt.cpan.org #99834] Test failures with perl-5.21.5, nvtype is (113-bit prec) __float128 > > Queue: Math-Int64 > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=99834 > > > -----Original Message----- > From: Salvador Fandino Garcia via RT > Sent: Wednesday, October 29, 2014 2:40 AM > To: sisyphus@cpan.org > Subject: [rt.cpan.org #99834] Test failures with perl-5.21.5, nvtype is > (113-bit prec) __float128 >
>> This looks like a duplicate of #99442.
> > Yes, it does - I wonder whether they have the full quad long double. > > Anyway, 0.33 is fine for me. > Still getting the same failures (tests 750 and 751 of math-Int128.t) with > Math-Int128-0.13. > I tried applying your ipow() solution to Math-Int128.t, but the same > failures still persist. > I haven't really given it any thought however - I just copied the ipow sub > across to Math-Int128.t and switched to using ipow(2,$j) in the 2 relevant > places.
That was caused by an error on the tests that became exposed by the __float128 to __int128 gcc/libquadmath conversion. Could you try version 0.14? https://metacpan.org/release/SALVA/Math-Int128-0.14
On Wed Oct 29 10:33:57 2014, sfandino@yahoo.com wrote: Show quoted text
> Could you try version 0.14? > > https://metacpan.org/release/SALVA/Math-Int128-0.14
Yep - builds, tests and installs fine ! Thanks. Cheers, Rob