From: Jarkko Hietaniemi Date: Sat, 22 Oct 2016 14:21:07 +0000 (-0400) Subject: JSON-PP: netbsd-vax: different float range X-Git-Tag: v5.25.7~236 X-Git-Url: https://perl5.git.perl.org/perl5.git/commitdiff_plain/28c20d1f80f0fb3646ac6bee63a5d4cfbca94818 JSON-PP: netbsd-vax: different float range --- diff --git a/cpan/JSON-PP/t/011_pc_expo.t b/cpan/JSON-PP/t/011_pc_expo.t index 766a8fb..941d18d 100644 --- a/cpan/JSON-PP/t/011_pc_expo.t +++ b/cpan/JSON-PP/t/011_pc_expo.t @@ -38,10 +38,19 @@ else { } - -$js = q|[1.01e+67]|; # 30 -> 67 ... patched by H.Merijn Brand -$obj = $pc->decode($js); -is($obj->[0], 1.01e+67, 'digit 1.01e+67'); -$js = $pc->encode($obj); -like($js,qr/\[1.01[Ee]\+0?67\]/, 'digit 1.01e+67'); - +my $vax_float = (pack("d",1) =~ /^[\x80\x10]\x40/); + +if ($vax_float) { + # VAX has smaller float range. + $js = q|[1.01e+37]|; + $obj = $pc->decode($js); + is($obj->[0], eval '1.01e+37', 'digit 1.01e+37'); + $js = $pc->encode($obj); + like($js,qr/\[1.01[Ee]\+0?37\]/, 'digit 1.01e+37'); +} else { + $js = q|[1.01e+67]|; # 30 -> 67 ... patched by H.Merijn Brand + $obj = $pc->decode($js); + is($obj->[0], eval '1.01e+67', 'digit 1.01e+67'); + $js = $pc->encode($obj); + like($js,qr/\[1.01[Ee]\+0?67\]/, 'digit 1.01e+67'); +}