summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2016-08-11 18:19:00 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2016-08-11 22:51:08 -0400
commit749d85343f3cdb65891a5fe3b9f55ef3a5b03ca8 (patch)
treeb5a895735fde4472cfe66a6d463f928ebdc375e1 /t
parent0b1d8e2d68e53d65f46c0455f536bce7f0797bdd (diff)
downloadperl-749d85343f3cdb65891a5fe3b9f55ef3a5b03ca8.tar.gz
The new tests are valid only for IEEE 754 64-bit doubles.
The tests do not fail (I wish), they would just need to be different for example for the 80-bt x86 long doubles, for example, which scale differently: perl -wle 'printf "%a\n", -1.5' # IEEE 754 64-bit -0x1.8+0 perl -wle 'printf "%a\n", -1.5' # x86 80-bit -0xcp-3 In any system: perl -wle 'print -0x1.8p+0' -1.5 perl -wle 'print -0xcp-3' -1.5 See earlier in this file a long if-elsif chain when testing the @hexfloat because of this very same reason.
Diffstat (limited to 't')
-rw-r--r--t/op/sprintf2.t90
1 files changed, 45 insertions, 45 deletions
diff --git a/t/op/sprintf2.t b/t/op/sprintf2.t
index 3b8bb694a0..2cf999dd1c 100644
--- a/t/op/sprintf2.t
+++ b/t/op/sprintf2.t
@@ -794,55 +794,55 @@ SKIP: {
# IEEE 754 64-bit
skip("nv_preserves_uv_bits is $Config{nv_preserves_uv_bits}, not 53",
- scalar @subnormals)
+ scalar @subnormals + 34)
unless $Config{nv_preserves_uv_bits} == 53;
for my $t (@subnormals) {
my $s = sprintf($t->[1], $t->[0]);
is($s, $t->[2], "subnormal @$t got $s");
}
-}
-# [rt.perl.org #128888]
-is(sprintf("%a", 1.03125), "0x1.08p+0");
-is(sprintf("%.1a", 1.03125), "0x1.0p+0");
-is(sprintf("%.0a", 1.03125), "0x1p+0", "[rt.perl.org #128888]");
-
-# [rt.perl.org #128889]
-is(sprintf("%.*a", -1, 1.03125), "0x1.08p+0", "[rt.perl.org #128889]");
-
-# [rt.perl.org #128890]
-is(sprintf("%a", 0x1.18p+0), "0x1.18p+0");
-is(sprintf("%.1a", 0x1.08p+0), "0x1.0p+0");
-is(sprintf("%.1a", 0x1.18p+0), "0x1.2p+0", "[rt.perl.org #128890]");
-is(sprintf("%.1a", 0x1.28p+0), "0x1.2p+0");
-is(sprintf("%.1a", 0x1.38p+0), "0x1.4p+0");
-is(sprintf("%.1a", 0x1.48p+0), "0x1.4p+0");
-is(sprintf("%.1a", 0x1.58p+0), "0x1.6p+0");
-is(sprintf("%.1a", 0x1.68p+0), "0x1.6p+0");
-is(sprintf("%.1a", 0x1.78p+0), "0x1.8p+0");
-is(sprintf("%.1a", 0x1.88p+0), "0x1.8p+0");
-is(sprintf("%.1a", 0x1.98p+0), "0x1.ap+0");
-is(sprintf("%.1a", 0x1.a8p+0), "0x1.ap+0");
-is(sprintf("%.1a", 0x1.b8p+0), "0x1.cp+0");
-is(sprintf("%.1a", 0x1.c8p+0), "0x1.cp+0");
-is(sprintf("%.1a", 0x1.d8p+0), "0x1.ep+0");
-is(sprintf("%.1a", 0x1.e8p+0), "0x1.ep+0");
-is(sprintf("%.1a", 0x1.f8p+0), "0x2.0p+0");
-
-is(sprintf("%.1a", 0x1.10p+0), "0x1.1p+0");
-is(sprintf("%.1a", 0x1.17p+0), "0x1.1p+0");
-is(sprintf("%.1a", 0x1.19p+0), "0x1.2p+0");
-is(sprintf("%.1a", 0x1.1fp+0), "0x1.2p+0");
-
-is(sprintf("%.2a", 0x1.fffp+0), "0x2.00p+0");
-is(sprintf("%.2a", 0xf.fffp+0), "0x2.00p+3");
-
-# [rt.perl.org #128893]
-is(sprintf("%020a", 1.5), "0x0000000000001.8p+0");
-is(sprintf("%020a", -1.5), "-0x000000000001.8p+0", "[rt.perl.org #128893]");
-is(sprintf("%+020a", 1.5), "+0x000000000001.8p+0", "[rt.perl.org #128893]");
-is(sprintf("% 020a", 1.5), " 0x000000000001.8p+0", "[rt.perl.org #128893]");
-is(sprintf("%20a", -1.5), " -0x1.8p+0");
-is(sprintf("%+20a", 1.5), " +0x1.8p+0");
-is(sprintf("% 20a", 1.5), " 0x1.8p+0");
+ # [rt.perl.org #128888]
+ is(sprintf("%a", 1.03125), "0x1.08p+0");
+ is(sprintf("%.1a", 1.03125), "0x1.0p+0");
+ is(sprintf("%.0a", 1.03125), "0x1p+0", "[rt.perl.org #128888]");
+
+ # [rt.perl.org #128889]
+ is(sprintf("%.*a", -1, 1.03125), "0x1.08p+0", "[rt.perl.org #128889]");
+
+ # [rt.perl.org #128890]
+ is(sprintf("%a", 0x1.18p+0), "0x1.18p+0");
+ is(sprintf("%.1a", 0x1.08p+0), "0x1.0p+0");
+ is(sprintf("%.1a", 0x1.18p+0), "0x1.2p+0", "[rt.perl.org #128890]");
+ is(sprintf("%.1a", 0x1.28p+0), "0x1.2p+0");
+ is(sprintf("%.1a", 0x1.38p+0), "0x1.4p+0");
+ is(sprintf("%.1a", 0x1.48p+0), "0x1.4p+0");
+ is(sprintf("%.1a", 0x1.58p+0), "0x1.6p+0");
+ is(sprintf("%.1a", 0x1.68p+0), "0x1.6p+0");
+ is(sprintf("%.1a", 0x1.78p+0), "0x1.8p+0");
+ is(sprintf("%.1a", 0x1.88p+0), "0x1.8p+0");
+ is(sprintf("%.1a", 0x1.98p+0), "0x1.ap+0");
+ is(sprintf("%.1a", 0x1.a8p+0), "0x1.ap+0");
+ is(sprintf("%.1a", 0x1.b8p+0), "0x1.cp+0");
+ is(sprintf("%.1a", 0x1.c8p+0), "0x1.cp+0");
+ is(sprintf("%.1a", 0x1.d8p+0), "0x1.ep+0");
+ is(sprintf("%.1a", 0x1.e8p+0), "0x1.ep+0");
+ is(sprintf("%.1a", 0x1.f8p+0), "0x2.0p+0");
+
+ is(sprintf("%.1a", 0x1.10p+0), "0x1.1p+0");
+ is(sprintf("%.1a", 0x1.17p+0), "0x1.1p+0");
+ is(sprintf("%.1a", 0x1.19p+0), "0x1.2p+0");
+ is(sprintf("%.1a", 0x1.1fp+0), "0x1.2p+0");
+
+ is(sprintf("%.2a", 0x1.fffp+0), "0x2.00p+0");
+ is(sprintf("%.2a", 0xf.fffp+0), "0x2.00p+3");
+
+ # [rt.perl.org #128893]
+ is(sprintf("%020a", 1.5), "0x0000000000001.8p+0");
+ is(sprintf("%020a", -1.5), "-0x000000000001.8p+0", "[rt.perl.org #128893]");
+ is(sprintf("%+020a", 1.5), "+0x000000000001.8p+0", "[rt.perl.org #128893]");
+ is(sprintf("% 020a", 1.5), " 0x000000000001.8p+0", "[rt.perl.org #128893]");
+ is(sprintf("%20a", -1.5), " -0x1.8p+0");
+ is(sprintf("%+20a", 1.5), " +0x1.8p+0");
+ is(sprintf("% 20a", 1.5), " 0x1.8p+0");
+}