summaryrefslogtreecommitdiff
path: root/t/lib
diff options
context:
space:
mode:
authorChris Williams <chris@bingosnet.co.uk>2009-09-11 10:11:50 +0100
committerChris Williams <chris@bingosnet.co.uk>2009-09-11 10:11:50 +0100
commit94eb7880847287ea38f350b7e1f64fa31225e73a (patch)
tree331a9ce860aecb5bbafe59e15f4c7c565ce68ac5 /t/lib
parente15b45941188d3d2d63b624d6581f45a490b0b95 (diff)
downloadperl-94eb7880847287ea38f350b7e1f64fa31225e73a.tar.gz
Moved Math-BigInt from lib/ to ext/
Diffstat (limited to 't/lib')
-rw-r--r--t/lib/Math/BigFloat/Subclass.pm49
-rw-r--r--t/lib/Math/BigInt/BareCalc.pm44
-rw-r--r--t/lib/Math/BigInt/Scalar.pm355
-rw-r--r--t/lib/Math/BigInt/Subclass.pm90
4 files changed, 0 insertions, 538 deletions
diff --git a/t/lib/Math/BigFloat/Subclass.pm b/t/lib/Math/BigFloat/Subclass.pm
deleted file mode 100644
index 94d3f2a624..0000000000
--- a/t/lib/Math/BigFloat/Subclass.pm
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/perl -w
-
-# for testing subclassing Math::BigFloat
-
-package Math::BigFloat::Subclass;
-
-require 5.005_02;
-use strict;
-
-use Exporter;
-use Math::BigFloat(1.38);
-use vars qw($VERSION @ISA $PACKAGE
- $accuracy $precision $round_mode $div_scale);
-
-@ISA = qw(Exporter Math::BigFloat);
-
-$VERSION = 0.05;
-
-use overload; # inherit overload from BigInt
-
-# Globals
-$accuracy = $precision = undef;
-$round_mode = 'even';
-$div_scale = 40;
-
-sub new
-{
- my $proto = shift;
- my $class = ref($proto) || $proto;
-
- my $value = shift;
- my $a = $accuracy; $a = $_[0] if defined $_[0];
- my $p = $precision; $p = $_[1] if defined $_[1];
- # Store the floating point value
- my $self = Math::BigFloat->new($value,$a,$p,$round_mode);
- bless $self, $class;
- $self->{'_custom'} = 1; # make sure this never goes away
- return $self;
-}
-
-BEGIN
- {
- *objectify = \&Math::BigInt::objectify;
- # to allow Math::BigFloat::Subclass::bgcd( ... ) style calls
- *bgcd = \&Math::BigFloat::bgcd;
- *blcm = \&Math::BigFloat::blcm;
- }
-
-1;
diff --git a/t/lib/Math/BigInt/BareCalc.pm b/t/lib/Math/BigInt/BareCalc.pm
deleted file mode 100644
index 0bbe861cf8..0000000000
--- a/t/lib/Math/BigInt/BareCalc.pm
+++ /dev/null
@@ -1,44 +0,0 @@
-package Math::BigInt::BareCalc;
-
-use 5.005;
-use strict;
-# use warnings; # dont use warnings for older Perls
-
-require Exporter;
-use vars qw/@ISA $VERSION/;
-@ISA = qw(Exporter);
-
-$VERSION = '0.05';
-
-sub api_version () { 1; }
-
-# Package to to test Bigint's simulation of Calc
-
-# uses Calc, but only features the strictly necc. methods.
-
-use Math::BigInt::Calc '0.51';
-
-BEGIN
- {
- no strict 'refs';
- foreach (qw/
- base_len new zero one two ten copy str num add sub mul div mod inc dec
- acmp alen len digit zeros
- rsft lsft
- fac pow gcd log_int sqrt root
- is_zero is_one is_odd is_even is_one is_two is_ten check
- as_hex as_bin as_oct from_hex from_bin from_oct
- modpow modinv
- and xor or
- /)
- {
- my $name = "Math::BigInt::Calc::_$_";
- *{"Math::BigInt::BareCalc::_$_"} = \&$name;
- }
- print "# BareCalc using Calc v$Math::BigInt::Calc::VERSION\n";
- }
-
-# catch and throw away
-sub import { }
-
-1;
diff --git a/t/lib/Math/BigInt/Scalar.pm b/t/lib/Math/BigInt/Scalar.pm
deleted file mode 100644
index c20a3e377e..0000000000
--- a/t/lib/Math/BigInt/Scalar.pm
+++ /dev/null
@@ -1,355 +0,0 @@
-###############################################################################
-# core math lib for BigInt, representing big numbers by normal int/float's
-# for testing only, will fail any bignum test if range is exceeded
-
-package Math::BigInt::Scalar;
-
-use 5.005;
-use strict;
-# use warnings; # dont use warnings for older Perls
-
-require Exporter;
-
-use vars qw/@ISA $VERSION/;
-@ISA = qw(Exporter);
-
-$VERSION = '0.13';
-
-sub api_version() { 1; }
-
-##############################################################################
-# global constants, flags and accessory
-
-# constants for easier life
-my $nan = 'NaN';
-
-##############################################################################
-# create objects from various representations
-
-sub _new
- {
- # create scalar ref from string
- my $d = $_[1];
- my $x = $d; # make copy
- \$x;
- }
-
-sub _from_hex
- {
- # not used
- }
-
-sub _from_oct
- {
- # not used
- }
-
-sub _from_bin
- {
- # not used
- }
-
-sub _zero
- {
- my $x = 0; \$x;
- }
-
-sub _one
- {
- my $x = 1; \$x;
- }
-
-sub _two
- {
- my $x = 2; \$x;
- }
-
-sub _ten
- {
- my $x = 10; \$x;
- }
-
-sub _copy
- {
- my $x = $_[1];
- my $z = $$x;
- \$z;
- }
-
-# catch and throw away
-sub import { }
-
-##############################################################################
-# convert back to string and number
-
-sub _str
- {
- # make string
- "${$_[1]}";
- }
-
-sub _num
- {
- # make a number
- 0+${$_[1]};
- }
-
-sub _zeros
- {
- my $x = $_[1];
-
- $x =~ /\d(0*)$/;
- length($1 || '');
- }
-
-sub _rsft
- {
- # not used
- }
-
-sub _lsft
- {
- # not used
- }
-
-sub _mod
- {
- # not used
- }
-
-sub _gcd
- {
- # not used
- }
-
-sub _sqrt
- {
- # not used
- }
-
-sub _root
- {
- # not used
- }
-
-sub _fac
- {
- # not used
- }
-
-sub _modinv
- {
- # not used
- }
-
-sub _modpow
- {
- # not used
- }
-
-sub _log_int
- {
- # not used
- }
-
-sub _as_hex
- {
- sprintf("0x%x",${$_[1]});
- }
-
-sub _as_bin
- {
- sprintf("0b%b",${$_[1]});
- }
-
-sub _as_oct
- {
- sprintf("0%o",${$_[1]});
- }
-
-##############################################################################
-# actual math code
-
-sub _add
- {
- my ($c,$x,$y) = @_;
- $$x += $$y;
- return $x;
- }
-
-sub _sub
- {
- my ($c,$x,$y) = @_;
- $$x -= $$y;
- return $x;
- }
-
-sub _mul
- {
- my ($c,$x,$y) = @_;
- $$x *= $$y;
- return $x;
- }
-
-sub _div
- {
- my ($c,$x,$y) = @_;
-
- my $u = int($$x / $$y); my $r = $$x % $$y; $$x = $u;
- return ($x,\$r) if wantarray;
- return $x;
- }
-
-sub _pow
- {
- my ($c,$x,$y) = @_;
- my $u = $$x ** $$y; $$x = $u;
- return $x;
- }
-
-sub _and
- {
- my ($c,$x,$y) = @_;
- my $u = int($$x) & int($$y); $$x = $u;
- return $x;
- }
-
-sub _xor
- {
- my ($c,$x,$y) = @_;
- my $u = int($$x) ^ int($$y); $$x = $u;
- return $x;
- }
-
-sub _or
- {
- my ($c,$x,$y) = @_;
- my $u = int($$x) | int($$y); $$x = $u;
- return $x;
- }
-
-sub _inc
- {
- my ($c,$x) = @_;
- my $u = int($$x)+1; $$x = $u;
- return $x;
- }
-
-sub _dec
- {
- my ($c,$x) = @_;
- my $u = int($$x)-1; $$x = $u;
- return $x;
- }
-
-##############################################################################
-# testing
-
-sub _acmp
- {
- my ($c,$x, $y) = @_;
- return ($$x <=> $$y);
- }
-
-sub _len
- {
- return length("${$_[1]}");
- }
-
-sub _digit
- {
- # return the nth digit, negative values count backward
- # 0 is the rightmost digit
- my ($c,$x,$n) = @_;
-
- $n ++; # 0 => 1, 1 => 2
- return substr($$x,-$n,1); # 1 => -1, -2 => 2 etc
- }
-
-##############################################################################
-# _is_* routines
-
-sub _is_zero
- {
- # return true if arg is zero
- my ($c,$x) = @_;
- ($$x == 0) <=> 0;
- }
-
-sub _is_even
- {
- # return true if arg is even
- my ($c,$x) = @_;
- (!($$x & 1)) <=> 0;
- }
-
-sub _is_odd
- {
- # return true if arg is odd
- my ($c,$x) = @_;
- ($$x & 1) <=> 0;
- }
-
-sub _is_one
- {
- # return true if arg is one
- my ($c,$x) = @_;
- ($$x == 1) <=> 0;
- }
-
-sub _is_two
- {
- # return true if arg is one
- my ($c,$x) = @_;
- ($$x == 2) <=> 0;
- }
-
-sub _is_ten
- {
- # return true if arg is one
- my ($c,$x) = @_;
- ($$x == 10) <=> 0;
- }
-
-###############################################################################
-# check routine to test internal state of corruptions
-
-sub _check
- {
- # no checks yet, pull it out from the test suite
- my ($c,$x) = @_;
- return "$x is not a reference" if !ref($x);
- return 0;
- }
-
-1;
-__END__
-
-=head1 NAME
-
-Math::BigInt::Scalar - Pure Perl module to test Math::BigInt with scalars
-
-=head1 SYNOPSIS
-
-Provides support for big integer calculations via means of 'small' int/floats.
-Only for testing purposes, since it will fail at large values. But it is simple
-enough not to introduce bugs on it's own and to serve as a testbed.
-
-=head1 DESCRIPTION
-
-Please see Math::BigInt::Calc.
-
-=head1 LICENSE
-
-This program is free software; you may redistribute it and/or modify it under
-the same terms as Perl itself.
-
-=head1 AUTHOR
-
-Tels http://bloodgate.com in 2001 - 2007.
-
-=head1 SEE ALSO
-
-L<Math::BigInt>, L<Math::BigInt::Calc>.
-
-=cut
diff --git a/t/lib/Math/BigInt/Subclass.pm b/t/lib/Math/BigInt/Subclass.pm
deleted file mode 100644
index d45e9e53ad..0000000000
--- a/t/lib/Math/BigInt/Subclass.pm
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/perl -w
-
-package Math::BigInt::Subclass;
-
-require 5.005_02;
-use strict;
-
-use Exporter;
-use Math::BigInt (1.64);
-# $lib is for the "lib => " test
-use vars qw($VERSION @ISA $PACKAGE @EXPORT_OK
- $lib
- $accuracy $precision $round_mode $div_scale);
-
-@ISA = qw(Exporter Math::BigInt);
-@EXPORT_OK = qw(bgcd objectify);
-
-$VERSION = 0.04;
-
-use overload; # inherit overload from BigInt
-
-# Globals
-$accuracy = $precision = undef;
-$round_mode = 'even';
-$div_scale = 40;
-$lib = '';
-
-sub new
-{
- my $proto = shift;
- my $class = ref($proto) || $proto;
-
- my $value = shift;
- my $a = $accuracy; $a = $_[0] if defined $_[0];
- my $p = $precision; $p = $_[1] if defined $_[1];
- my $self = Math::BigInt->new($value,$a,$p,$round_mode);
- bless $self,$class;
- $self->{'_custom'} = 1; # make sure this never goes away
- return $self;
-}
-
-sub bgcd
- {
- Math::BigInt::bgcd(@_);
- }
-
-sub blcm
- {
- Math::BigInt::blcm(@_);
- }
-
-sub as_int
- {
- Math::BigInt->new($_[0]);
- }
-
-BEGIN
- {
- *objectify = \&Math::BigInt::objectify;
-
- # these are called by AUTOLOAD from BigFloat, so we need at least these.
- # We cheat, of course..
- *bneg = \&Math::BigInt::bneg;
- *babs = \&Math::BigInt::babs;
- *bnan = \&Math::BigInt::bnan;
- *binf = \&Math::BigInt::binf;
- *bzero = \&Math::BigInt::bzero;
- *bone = \&Math::BigInt::bone;
- }
-
-sub import
- {
- my $self = shift;
-
- my @a; my $t = 0;
- foreach (@_)
- {
- # remove the "lib => foo" parameters and store it
- $lib = $_, $t = 0, next if $t == 1;
- if ($_ eq 'lib')
- {
- $t = 1; next;
- }
- push @a,$_;
- }
- $self->SUPER::import(@a); # need it for subclasses
- $self->export_to_level(1,$self,@a); # need this ?
- }
-
-1;