| Line | |
|---|
| 1 | #!/usr/bin/perl -w
|
|---|
| 2 |
|
|---|
| 3 | package Math::BigInt::Trace;
|
|---|
| 4 |
|
|---|
| 5 | require 5.005_02;
|
|---|
| 6 | use strict;
|
|---|
| 7 |
|
|---|
| 8 | use Exporter;
|
|---|
| 9 | use Math::BigInt;
|
|---|
| 10 | use vars qw($VERSION @ISA $PACKAGE @EXPORT_OK
|
|---|
| 11 | $accuracy $precision $round_mode $div_scale);
|
|---|
| 12 |
|
|---|
| 13 | @ISA = qw(Exporter Math::BigInt);
|
|---|
| 14 |
|
|---|
| 15 | $VERSION = 0.01;
|
|---|
| 16 |
|
|---|
| 17 | use overload; # inherit overload from BigInt
|
|---|
| 18 |
|
|---|
| 19 | # Globals
|
|---|
| 20 | $accuracy = $precision = undef;
|
|---|
| 21 | $round_mode = 'even';
|
|---|
| 22 | $div_scale = 40;
|
|---|
| 23 |
|
|---|
| 24 | sub new
|
|---|
| 25 | {
|
|---|
| 26 | my $proto = shift;
|
|---|
| 27 | my $class = ref($proto) || $proto;
|
|---|
| 28 |
|
|---|
| 29 | my $value = shift;
|
|---|
| 30 | my $a = $accuracy; $a = $_[0] if defined $_[0];
|
|---|
| 31 | my $p = $precision; $p = $_[1] if defined $_[1];
|
|---|
| 32 | my $self = Math::BigInt->new($value,$a,$p,$round_mode);
|
|---|
| 33 | bless $self,$class;
|
|---|
| 34 | print "MBI new '$value' => '$self' (",ref($self),")";
|
|---|
| 35 | return $self;
|
|---|
| 36 | }
|
|---|
| 37 |
|
|---|
| 38 | sub import
|
|---|
| 39 | {
|
|---|
| 40 | print "MBI import ",join(' ',@_);
|
|---|
| 41 | my $self = shift;
|
|---|
| 42 | Math::BigInt::import($self,@_); # need it for subclasses
|
|---|
| 43 | # $self->export_to_level(1,$self,@_); # need this ?
|
|---|
| 44 | @_ = ();
|
|---|
| 45 | }
|
|---|
| 46 |
|
|---|
| 47 | 1;
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.