diff -ur Math-BigInt-1.96-orig/lib/Math/BigFloat.pm Math-BigInt-1.96-patched-id-43694/lib/Math/BigFloat.pm --- Math-BigInt-1.96-orig/lib/Math/BigFloat.pm 2010-09-28 06:34:04.000000000 +0200 +++ Math-BigInt-1.96-patched-id-43694/lib/Math/BigFloat.pm 2010-11-02 21:01:44.171875000 +0100 @@ -3693,7 +3693,7 @@ { $MBI->_lsft( $z, $x->{_e},10); } - $z = Math::BigInt->new( $x->{sign} . $MBI->_num($z)); + $z = Math::BigInt->new( $x->{sign} . $MBI->_str($z)); $z; } diff -ur Math-BigInt-1.96-orig/t/bigfltpm.inc Math-BigInt-1.96-patched-id-43694/t/bigfltpm.inc --- Math-BigInt-1.96-orig/t/bigfltpm.inc 2010-09-13 16:28:42.000000000 +0200 +++ Math-BigInt-1.96-patched-id-43694/t/bigfltpm.inc 2010-11-02 20:26:02.968750000 +0100 @@ -587,6 +587,7 @@ -2:-2 -123.456:-123 -200:-200 +71243225429896467497217836789578596379:71243225429896467497217836789578596379 # test for bug in brsft() not handling cases that return 0 0.000641:0 0.0006412:0 diff -ur Math-BigInt-1.96-orig/t/bigfltpm.t Math-BigInt-1.96-patched-id-43694/t/bigfltpm.t --- Math-BigInt-1.96-orig/t/bigfltpm.t 2010-09-13 16:28:42.000000000 +0200 +++ Math-BigInt-1.96-patched-id-43694/t/bigfltpm.t 2010-11-02 21:02:18.453125000 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 2316 +use Test::More tests => 2317 + 5; # own tests