Move Math::BigInt from ext/ to cpan/
[p5sagit/p5-mst-13.2.git] / cpan / Math-BigInt / t / bigfltpm.t
CommitLineData
58cde26e 1#!/usr/bin/perl -w
5d7098d5 2
58cde26e 3use Test;
4use strict;
5
6BEGIN
7 {
e745a66c 8 $| = 1;
027dc388 9 # to locate the testing files
10 my $location = $0; $location =~ s/bigfltpm.t//i;
11 if ($ENV{PERL_CORE})
12 {
13 # testing with the core distribution
14 @INC = qw(../lib);
15 }
16 unshift @INC, '../lib';
17 if (-d 't')
18 {
19 chdir 't';
20 require File::Spec;
21 unshift @INC, File::Spec->catdir(File::Spec->updir, $location);
22 }
23 else
24 {
25 unshift @INC, $location;
26 }
27 print "# INC = @INC\n";
28
0dceeee6 29 plan tests => 2308
86b76201 30 + 5; # own tests
58cde26e 31 }
5d7098d5 32
233f7bc0 33use Math::BigInt lib => 'Calc';
574bacfe 34use Math::BigFloat;
5d7098d5 35
b3abae2a 36use vars qw ($class $try $x $y $f @args $ans $ans1 $ans1_str $setup $CL);
ee15d750 37$class = "Math::BigFloat";
b3abae2a 38$CL = "Math::BigInt::Calc";
8f675a64 39
40ok ($class->config()->{class},$class);
9b924220 41ok ($class->config()->{with}, $CL);
a0ac753d 42
43# bug #17447: Can't call method Math::BigFloat->bsub, not a valid method
86b76201 44my $c = Math::BigFloat->new( '123.3' );
a0ac753d 45ok ($c->fsub(123) eq '0.3', 1); # calling fsub on a BigFloat works
86b76201 46
47# Bug until BigInt v1.86, the scale wasn't treated as a scalar:
48$c = Math::BigFloat->new('0.008'); my $d = Math::BigFloat->new(3);
49my $e = $c->bdiv(Math::BigFloat->new(3),$d);
50
51ok ($e,'0.00267'); # '0.008 / 3 => 0.0027');
52ok (ref($e->{_e}->[0]), ''); # 'Not a BigInt');
53
ee15d750 54require 'bigfltpm.inc'; # all tests here for sharing