package Math
::BigFloat
::Trace
;
use vars
qw($VERSION @ISA $PACKAGE @EXPORT_OK
$accuracy $precision $round_mode $div_scale);
@ISA = qw(Exporter Math::BigFloat);
use overload
; # inherit overload from BigFloat
$accuracy = $precision = undef;
my $class = ref($proto) || $proto;
my $a = $accuracy; $a = $_[0] if defined $_[0];
my $p = $precision; $p = $_[1] if defined $_[1];
my $self = Math
::BigFloat
->new($value,$a,$p,$round_mode);
# remember, downgrading may return a BigInt, so don't meddle with class
print "MBF new '$value' => '$self' (",ref($self),")";
print "MBF import ",join(' ',@_);
# we catch the constants, the rest goes go BigFloat
push @a, $_ if $_ ne ':constant';
overload
::constant float
=> sub { $self->new(shift); };
Math
::BigFloat
->import(@a); # need it for subclasses
# $self->export_to_level(1,$self,@_); # need this ?