📄 _e_math.t
字号:
#!/usr/bin/perl -w# test the helper math routines in Math::BigFloatuse Test::More;use strict;BEGIN { $| = 1; # to locate the testing files my $location = $0; $location =~ s/_e_math.t//i; if ($ENV{PERL_CORE}) { # testing with the core distribution @INC = qw(../lib); } unshift @INC, '../lib'; if (-d 't') { chdir 't'; require File::Spec; unshift @INC, File::Spec->catdir(File::Spec->updir, $location); } else { unshift @INC, $location; } print "# INC = @INC\n"; plan tests => 26; }use Math::BigFloat lib => 'Calc';############################################################################## addmy $a = Math::BigInt::Calc->_new("123");my $b = Math::BigInt::Calc->_new("321");my ($x, $xs) = Math::BigFloat::_e_add($a,$b,'+','+');is (_str($x,$xs), '+444', 'add two positive numbers');is (_str($a,''), '444', 'a modified');($x,$xs) = _add (123,321,'+','+');is (_str($x,$xs), '+444', 'add two positive numbers');($x,$xs) = _add (123,321,'+','-');is (_str($x,$xs), '-198', 'add +x + -y');($x,$xs) = _add (123,321,'-','+');is (_str($x,$xs), '+198', 'add -x + +y');($x,$xs) = _add (321,123,'-','+');is (_str($x,$xs), '-198', 'add -x + +y');($x,$xs) = _add (321,123,'+','-');is (_str($x,$xs), '+198', 'add +x + -y');($x,$xs) = _add (10,1,'+','-');is (_str($x,$xs), '+9', 'add 10 + -1');($x,$xs) = _add (10,1,'-','+');is (_str($x,$xs), '-9', 'add -10 + +1');($x,$xs) = _add (1,10,'-','+');is (_str($x,$xs), '+9', 'add -1 + 10');($x,$xs) = _add (1,10,'+','-');is (_str($x,$xs), '-9', 'add 1 + -10');############################################################################## sub$a = Math::BigInt::Calc->_new("123");$b = Math::BigInt::Calc->_new("321");($x, $xs) = Math::BigFloat::_e_sub($b,$a,'+','+');is (_str($x,$xs), '+198', 'sub two positive numbers');is (_str($b,''), '198', 'a modified');($x,$xs) = _sub (123,321,'+','-');is (_str($x,$xs), '+444', 'sub +x + -y');($x,$xs) = _sub (123,321,'-','+');is (_str($x,$xs), '-444', 'sub -x + +y');sub _add { my ($a,$b,$as,$bs) = @_; my $aa = Math::BigInt::Calc->_new($a); my $bb = Math::BigInt::Calc->_new($b); my ($x, $xs) = Math::BigFloat::_e_add($aa,$bb,$as,$bs); is (Math::BigInt::Calc->_str($x), Math::BigInt::Calc->_str($aa), 'param0 modified'); ($x,$xs); }sub _sub { my ($a,$b,$as,$bs) = @_; my $aa = Math::BigInt::Calc->_new($a); my $bb = Math::BigInt::Calc->_new($b); my ($x, $xs) = Math::BigFloat::_e_sub($aa,$bb,$as,$bs); is (Math::BigInt::Calc->_str($x), Math::BigInt::Calc->_str($aa), 'param0 modified'); ($x,$xs); }sub _str { my ($x,$s) = @_; $s . Math::BigInt::Calc->_str($x); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -