From 2e07de44d85e36d42b87b582f60c2385c2b3b091 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Tue, 17 Jan 2017 15:26:43 -0500 Subject: dadd(), dmul(), drhtz(), drhfz(): Use char classes for decimal points, not escapes --- diff --git a/lib/Math/Decimal/FastPP.pm b/lib/Math/Decimal/FastPP.pm index bc5ffbe..3fe00c7 100644 --- a/lib/Math/Decimal/FastPP.pm +++ b/lib/Math/Decimal/FastPP.pm @@ -94,8 +94,8 @@ Adds C<$a> and C<$b> and returns their sum. sub dadd { - my ($ai, $af) = split(/\./, $_[0]); - my ($bi, $bf) = split(/\./, $_[1]); + my ($ai, $af) = split(/[.]/, $_[0]); + my ($bi, $bf) = split(/[.]/, $_[1]); $af ||= ''; $bf ||= ''; my $ae = length($af); @@ -128,8 +128,8 @@ Multiplies C<$a> and C<$b> and returns their product. sub dmul { - my ($ai, $af) = split(/\./, $_[0]); - my ($bi, $bf) = split(/\./, $_[1]); + my ($ai, $af) = split(/[.]/, $_[0]); + my ($bi, $bf) = split(/[.]/, $_[1]); $af ||= ''; $bf ||= ''; my $as = $ai . $af; @@ -162,7 +162,7 @@ of significant digits right of the radix point. sub drhtz { - my ($ai, $af, $ad) = $_[0] =~ m/^(-?\d*)\.(\d{$_[1]})(\d*)$/ or return; + my ($ai, $af, $ad) = $_[0] =~ m/^(-?\d*)[.](\d{$_[1]})(\d*)$/ or return; my $as = $ai . $af; if ($as >= 0) { if ($ad > '5' . '0' x (length($ad) - 1)) { ++$as; } @@ -193,7 +193,7 @@ of significant digits right of the radix point. sub drhfz { - my ($ai, $af, $ad) = $_[0] =~ m/^(-?\d*)\.(\d{$_[1]})(\d*)$/ or return; + my ($ai, $af, $ad) = $_[0] =~ m/^(-?\d*)[.](\d{$_[1]})(\d*)$/ or return; my $as = $ai . $af; if ($as >= 0) { if ($ad >= '5' . '0' x (length($ad) - 1)) { ++$as; } -- cgit v0.9.1