[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sc/source
Eike Rathke
erack at redhat.com
Fri Sep 25 06:19:29 PDT 2015
sc/source/core/tool/interpr6.cxx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 38db1a25a9c68ce9fe6d5a8f9af74c487daa9f2a
Author: Eike Rathke <erack at redhat.com>
Date: Fri Sep 25 13:42:04 2015 +0200
fix IterateMatrix for ifPRODUCT and ifSUMSQ
... if more than one argument is passed to PRODUCT() or SUMSQ() and
matrix/array arguments are involved the functions returned wrong
results.
For example, wrong behavior
=PRODUCT({2,3},{4,5}) gave 6
=SUMSQ({2,3},{4,5}) gave 34
Correct is
=PRODUCT({2,3},{4,5}) result 120
=SUMSQ({2,3},{4,5}) result 54
Change-Id: Iec7b136a5cc678416f28b1abfe19cd0901ef22b6
(cherry picked from commit c1780ad265ce5f6abb3b91a4f70bf2b3d7a47149)
Reviewed-on: https://gerrit.libreoffice.org/18867
Reviewed-by: Łukasz Hryniuk <lukasz.hryniuk at wp.pl>
Tested-by: Łukasz Hryniuk <lukasz.hryniuk at wp.pl>
diff --git a/sc/source/core/tool/interpr6.cxx b/sc/source/core/tool/interpr6.cxx
index 7eac4eb..f9d511c 100644
--- a/sc/source/core/tool/interpr6.cxx
+++ b/sc/source/core/tool/interpr6.cxx
@@ -387,7 +387,7 @@ void IterateMatrix(
case ifPRODUCT:
{
ScMatrix::IterateResult aRes = pMat->Product(bTextAsZero);
- fRes = aRes.mfFirst;
+ fRes *= aRes.mfFirst;
fRes *= aRes.mfRest;
rCount += aRes.mnCount;
}
@@ -395,6 +395,7 @@ void IterateMatrix(
case ifSUMSQ:
{
ScMatrix::IterateResult aRes = pMat->SumSquare(bTextAsZero);
+ fRes += aRes.mfFirst;
fRes += aRes.mfRest;
rCount += aRes.mnCount;
}
More information about the Libreoffice-commits
mailing list