require 5.005_02;
use strict;
use Exporter;
$VERSION = 0.04;
use overload; # inherit overload from BigRat
# Globals
$round_mode = 'even';
$div_scale = 40;
my $class = 'Math::BigRat::Test';
#ub 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
{
no strict 'refs';
{
}
}
sub fround
{
my ($x,$a) = @_;
#print "$a $accuracy $precision $round_mode\n";
}
sub ffround
{
my ($x,$p) = @_;
}
sub bstr
{
# calculate a BigFloat compatible string output
my ($x) = @_;
$x = $class->new($x) unless ref $x;
if ($x->{sign} !~ /^[+-]$/) # inf, NaN etc
{
my $s = $x->{sign}; $s =~ s/^\+//; # +inf => inf
return $s;
}
# print " bstr \$x ", $accuracy || $x->{_a} || 'notset', " ", $precision || $x->{_p} || 'notset', "\n";
}
sub numify
{
$_[0]->bsstr();
}
sub bsstr
{
# calculate a BigFloat compatible string output
my ($x) = @_;
$x = $class->new($x) unless ref $x;
if ($x->{sign} !~ /^[+-]$/) # inf, NaN etc
{
my $s = $x->{sign}; $s =~ s/^\+//; # +inf => inf
return $s;
}
}
1;