delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/11/14/15:32:30

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Wed, 14 Nov 2001 21:23:17 +0100
From: "Gerrit P. Haase" <freeweb AT nyckelpiga DOT de>
X-Mailer: The Bat! (v1.53t) Business
Reply-To: "Gerrit P. Haase" <cygwin AT cygwin DOT com>
Organization: convey Information Systems GmbH
X-Priority: 3 (Normal)
Message-ID: <8514151749.20011114212317@familiehaase.de>
To: Tels <perl_dummy AT bloodgate DOT com>
CC: tphan AT iqrinc DOT com, cygwin AT cygwin DOT com, cpan-testers AT perl DOT org
Subject: Re: Cygwin Perl and Module Math::BigInt
In-Reply-To: <KLN303589B45@koeln.convey.de>
References: <KLN303589B45 AT koeln DOT convey DOT de>
MIME-Version: 1.0

Hallo Tels,

2001-11-14 21:12:13, du schriebst:

>>  I tried to 'make test' on the the Convert:ASN1 and it kept fail at
>>  place where the Math::BigInt always returns NaN.
>>
>>  I cut out the segment below and ran it and sure enough, it return
>>  NaN in Cygwin Perl.  However, the same script return a number in
>>  ActiveState Perl:
>>
>>#--------------------------
>>use strict;
>>use Math::BigInt;
>>
>>my $num = Math::BigInt->new(-1 * (1<<24) * (1<<24));
>>
>>print "$num\n";
>>
>>exit;
>>
>>#----- Cygwin perl returns:  NaN
>>
>>#----- ActiveState perl returns :  -281474976710656
>>
>> Any idea how to fix this in Cygwin?  Thank in advance!

> The scalar probably overflowed and returned "NaN" so that BigInt also
> produced a "NaN".

> On my Linux 32 bit box it produces the same number than Activestate.

> What version of Bigint do you have? And what does Perl print without the
> bigInt->new() around the expression?

Without Math::BigInt->new() (I added several print statements):

$ perl t/06bigint.t
1..35
[...]
$num is now: -2.8147497671066e+14
#32: expecting hex:0207ff000000000000
#32:       got hex:0207fefffffffffffc
#line 93 t/06bigint.t
not ok 32
ok 33
ok 34
#35: expecting -2.8147497671066e+14
#35:       got -281474976710656
#line 96 t/06bigint.t
not ok 35

If I change it back:

$num is now: -281474976710660
#32: expecting hex:0207ff000000000000
#32:       got hex:0207fefffffffffffc
#line 90 t/06bigint.t
not ok 32
ok 33
ok 34
#35: expecting -281474976710660
#35:       got -281474976710656
#line 93 t/06bigint.t
not ok 35

>>#----- Cygwin perl returns:  NaN
>>
>>#----- ActiveState perl returns :  -281474976710656

That is not correct, cygwin perl returns the same as Activestate:
#35:       got -281474976710656

with or without Math::BigInt->new().

>  perl -MDev::Bollocks -e'print Dev::Bollocks->rand(),"\n"'

cnt: 5 for 1 sum: 1
cnt: 5 for 2 sum: 1
cnt: 5 for 3 sum: 2509
cnt: 5 for 4 sum: 205657
return 4
autoschediastically scale B2C CEOs

;)

Gerrit
-- 
convey Information Systems GmbH                   http://www.convey.de/
                                                  Vitalisstraße 326-328
Gerrit P. Haase                                   D-50933 Köln
gerrit DOT haase AT convey DOT de                            Fon: ++49 221 6903922


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019