#!perl -T
is(655870882787, Math::AnyNum->new(
"655870882787"
));
is(655870882787, Math::AnyNum->new(655870882787));
is(655870882787 / 409205648497,
"655870882787/409205648497"
);
is(-660131804286 / 409205648497,
"-660131804286/409205648497"
);
is(-3147483648,
"-3147483648"
);
is(Math::AnyNum->new(
"-3147483648"
),
"-3147483648"
);
is(Math::AnyNum->new(
"-1147483648"
),
"-1147483648"
);
is(2**255,
'578960446186580977117854925043439539266'
.
'34992332820282019728792003956564819968'
,
'2 ** 255'
);
is(
ref
(0xff),
'Math::AnyNum'
);
is(
ref
(0123),
'Math::AnyNum'
);
is(
ref
(0b101),
'Math::AnyNum'
);
is(0x123456ff, Math::AnyNum->new(
'123456ff'
,
'16'
),
'hexadecimal constant'
);
is(0b0101010001100, Math::AnyNum->new(
'0101010001100'
,
'2'
),
'binary constant'
);
is(01234567, Math::AnyNum->new(
'1234567'
,
'8'
),
'octal constant'
);
my
$x
= 2 + 4.5;
is(
"$x"
,
"6.5"
);
my
$inf
= Inf * Inf;
like(
$inf
,
qr/^inf/
i);
my
$ninf
= Inf * -1;
like(
$ninf
,
qr/^-inf/
i);
my
$nan
= 3 * NaN;
is(
"$nan"
,
"NaN"
);
$nan
= Inf / Inf;
is(
"$nan"
,
"NaN"
);
$nan
= NaN + 2;
is(
"$nan"
,
"NaN"
);
$nan
= NaN / 2;
is(
"$nan"
,
"NaN"
);
is(.5, 0.5);
is(1.23345e10,
"12334500000"
);
is(1.23445e-10,
"0.000000000123445"
);
is(100_000_000,
"100000000"
);
is(727, 0x2d7);
is(727, 01327);
is(727, 0b1011010111);
is(
atan2
(0, 0), 0);
like(
atan2
(0, -1),
qr/^3.1415/
);
like(1.0 / 3.0,
qr/^0.333333333/
,
'1.0 / 3.0 = 0.333333333...'
);