bigfltpm.t 963 Bytes
Newer Older
1 2 3
#!/usr/bin/perl -w

use strict;
4
use Test::More tests => 2363
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
    + 5;		# own tests


use Math::BigInt lib => 'Calc';
use Math::BigFloat;

use vars qw ($class $try $x $y $f @args $ans $ans1 $ans1_str $setup $CL);
$class = "Math::BigFloat";
$CL = "Math::BigInt::Calc";

is ($class->config()->{class},$class);
is ($class->config()->{with}, $CL);

# bug #17447: Can't call method Math::BigFloat->bsub, not a valid method
my $c = Math::BigFloat->new( '123.3' );
20
is ($c->bsub(123), '0.3'); # calling bsub on a BigFloat works
21 22 23 24 25 26

# Bug until BigInt v1.86, the scale wasn't treated as a scalar:
$c = Math::BigFloat->new('0.008'); my $d = Math::BigFloat->new(3);
my $e = $c->bdiv(Math::BigFloat->new(3),$d);

is ($e,'0.00267'); # '0.008 / 3 => 0.0027');
27 28 29 30 31 32

SKIP: {
    skip("skipping test which is not for this backend", 1)
      unless $CL eq 'Math::BigInt::Calc';
    is (ref($e->{_e}->[0]), '');  # 'Not a BigInt');
}
33 34

require 't/bigfltpm.inc';	# all tests here for sharing