From 6d2e9ac3a2cb526eda50bb3d1a6ab150f6e35c7c Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Thu, 05 Jan 2017 16:40:21 -0500 Subject: t/12_dmul-dadd.t: New file --- diff --git a/MANIFEST b/MANIFEST index 2d52645..4742eab 100644 --- a/MANIFEST +++ b/MANIFEST @@ -8,4 +8,5 @@ lib/Math/Decimal/FastPP.pm t/00_compile.t t/10_dadd.t t/11_dmul.t +t/12_dmul-dadd.t t/20_nj-st-75-2017.t diff --git a/t/12_dmul-dadd.t b/t/12_dmul-dadd.t new file mode 100644 index 0000000..b81afd4 --- /dev/null +++ b/t/12_dmul-dadd.t @@ -0,0 +1,34 @@ +# t/12_dmul-dadd.t - dmul and dadd tests +# +# Copyright (C) 2017 Patrick McDermott +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +use strict; +use warnings; + +use Test::More; +use Math::Decimal::FastPP; + +plan("tests" => 2); + +# https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html#700 +is(dadd(dmul(3.34, 3.34), dmul(-4, dmul(1.22, 2.28))), ".0292", + "sum of products"); +note("Using native floating-point arithmetic, 3.34*3.34 + -4*1.22*2.28 = " . + (3.34*3.34 + -4*1.22*2.28) . " (should be 0.0292)"); + +is(dadd(dmul(3.3, 3.3), dmul(-4, dmul(1.2, 2.2))), ".33", "sum of products"); +note("Using native floating-point arithmetic, 3.3*3.3 + -4*1.2*2.2 = " . + (3.3*3.3 + -4*1.2*2.2) . " (should be 0.33)"); -- cgit v0.9.1