PPCODE:
Perl_croak(aTHX_ "%.20" NVgf "\n", num);
-=tests plan => 1
+SV *
+sprintf_iv(iv)
+ IV iv
+CODE:
+ RETVAL = newSVpvf("XX_%" IVdf "_XX", iv);
+OUTPUT:
+ RETVAL
+
+SV *
+sprintf_uv(uv)
+ UV uv
+CODE:
+ RETVAL = newSVpvf("XX_%" UVuf "_XX", uv);
+OUTPUT:
+ RETVAL
+
+SV *
+sprintf_ivmax()
+CODE:
+ RETVAL = newSVpvf("%" IVdf, IV_MAX);
+OUTPUT:
+ RETVAL
+
+SV *
+sprintf_uvmax()
+CODE:
+ RETVAL = newSVpvf("%" UVuf, UV_MAX);
+OUTPUT:
+ RETVAL
+
+=tests plan => 5
+
+use Config;
my $num = 1.12345678901234567890;
eval { Devel::PPPort::croak_NVgf($num) };
ok($@ =~ /^1.1234567890/);
+
+ok(Devel::PPPort::sprintf_iv(-8), 'XX_-8_XX');
+ok(Devel::PPPort::sprintf_uv(15), 'XX_15_XX');
+
+my $ivsize = $Config::Config{ivsize};
+my $ivmax = ($ivsize == 4) ? '2147483647' : ($ivsize == 8) ? '9223372036854775807' : 0;
+my $uvmax = ($ivsize == 4) ? '4294967295' : ($ivsize == 8) ? '18446744073709551615' : 0;
+if ($ivmax == 0) {
+ skip 'skip: unknown ivsize', 0 for 1..2;
+} else {
+ ok(Devel::PPPort::sprintf_ivmax(), $ivmax);
+ ok(Devel::PPPort::sprintf_uvmax(), $uvmax);
+}
require 'testutil.pl' if $@;
}
- if (1) {
+ if (5) {
load();
- plan(tests => 1);
+ plan(tests => 5);
}
}
package main;
+use Config;
+
my $num = 1.12345678901234567890;
eval { Devel::PPPort::croak_NVgf($num) };
ok($@ =~ /^1.1234567890/);
+ok(Devel::PPPort::sprintf_iv(-8), 'XX_-8_XX');
+ok(Devel::PPPort::sprintf_uv(15), 'XX_15_XX');
+
+my $ivsize = $Config::Config{ivsize};
+my $ivmax = ($ivsize == 4) ? '2147483647' : ($ivsize == 8) ? '9223372036854775807' : 0;
+my $uvmax = ($ivsize == 4) ? '4294967295' : ($ivsize == 8) ? '18446744073709551615' : 0;
+if ($ivmax == 0) {
+ skip 'skip: unknown ivsize', 0 for 1..2;
+} else {
+ ok(Devel::PPPort::sprintf_ivmax(), $ivmax);
+ ok(Devel::PPPort::sprintf_uvmax(), $uvmax);
+}
+