This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Retract #11984: div() being redefined, and 1397
authorJarkko Hietaniemi <jhi@iki.fi>
Tue, 11 Sep 2001 11:40:51 +0000 (11:40 +0000)
committerJarkko Hietaniemi <jhi@iki.fi>
Tue, 11 Sep 2001 11:40:51 +0000 (11:40 +0000)
failing on 64-bit platforms.

p4raw-id: //depot/perl@12001

lib/Math/BigInt/Calc.pm

index 2191057..ebaf5a1 100644 (file)
@@ -8,7 +8,7 @@ require Exporter;
 use vars qw/@ISA $VERSION/;
 @ISA = qw(Exporter);
 
-$VERSION = '0.11';
+$VERSION = '0.10';
 
 # Package to store unsigned big integers in decimal and do math with them
 
@@ -19,8 +19,7 @@ $VERSION = '0.11';
 # - fully remove funky $# stuff (maybe)
 
 # USE_MUL: due to problems on certain os (os390, posix-bc) "* 1e-5" is used
-# instead of "/ 1e5" at some places, (marked with USE_MUL). Other platforms
-# BS2000, some Crays need USE_DIV instead.
+# instead of "/ 1e5" at some places, (marked with USE_MUL).
 # The BEGIN block is used to determine which of the two variants gives the
 # correct result.
 
@@ -30,7 +29,9 @@ $VERSION = '0.11';
 # constants for easier life
 my $nan = 'NaN';
 
-my ($BASE,$RBASE,$BASE_LEN);
+my $BASE_LEN = 7;
+my $BASE = int("1e".$BASE_LEN);                # var for trying to change it to 1e7
+my $RBASE = abs('1e-'.$BASE_LEN);      # see USE_MUL
 
 BEGIN
   {
@@ -45,17 +46,6 @@ BEGIN
   $BASE_LEN = $e-1;
   $BASE = int("1e".$BASE_LEN);
   $RBASE = abs('1e-'.$BASE_LEN);       # see USE_MUL
-  if (int($BASE * $RBASE) == 0)                # should be 1
-    {
-    # USE_DIV instead
-    *{_mul} = \&_mul_use_div;
-    *{_div} = \&_div_use_div;
-    }
-  else
-    {
-    *{_mul} = \&_mul_use_mul;
-    *{_div} = \&_div_use_mul;
-    }
   }
 
 # for quering and setting, to debug/benchmark things
@@ -218,7 +208,7 @@ sub _sub
     }
   }                                                                             
 
-sub _mul_use_mul
+sub _mul
   {
   # (BINT, BINT) return nothing
   # multiply two numbers in internal representation