From 906aafbc5910fdc57ee33374f72124d767bf7eeb Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Walter?= Date: Fri, 16 Aug 2013 18:13:40 +0000 Subject: [PATCH] Bug 55080: patch for missing function IMREAL git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1514830 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/ss/formula/atp/AnalysisToolPak.java | 2 +- .../poi/ss/formula/functions/ImReal.java | 95 ++++++++++++++++++ .../TestImRealFunctionsFromSpreadsheet.java | 30 ++++++ test-data/spreadsheet/FormulaEvalTestData.xls | Bin 169472 -> 169472 bytes .../ImRealFunctionTestCaseData.xls | Bin 0 -> 35840 bytes 5 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 src/java/org/apache/poi/ss/formula/functions/ImReal.java create mode 100644 src/testcases/org/apache/poi/ss/formula/functions/TestImRealFunctionsFromSpreadsheet.java create mode 100644 test-data/spreadsheet/ImRealFunctionTestCaseData.xls diff --git a/src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java b/src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java index f91cbfc798..ba3be146b9 100644 --- a/src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java +++ b/src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java @@ -123,7 +123,7 @@ public final class AnalysisToolPak implements UDFFinder { r(m, "IMLOG2", null); r(m, "IMPOWER", null); r(m, "IMPRODUCT", null); - r(m, "IMREAL", null); + r(m, "IMREAL", ImReal.instance); r(m, "IMSIN", null); r(m, "IMSQRT", null); r(m, "IMSUB", null); diff --git a/src/java/org/apache/poi/ss/formula/functions/ImReal.java b/src/java/org/apache/poi/ss/formula/functions/ImReal.java new file mode 100644 index 0000000000..394865fdd9 --- /dev/null +++ b/src/java/org/apache/poi/ss/formula/functions/ImReal.java @@ -0,0 +1,95 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.ss.formula.functions; + +import org.apache.poi.ss.formula.OperationEvaluationContext; +import org.apache.poi.ss.formula.eval.*; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Implementation for Excel ImReal() function.

+ *

+ * Syntax:
ImReal (Inumber)
+ *

+ * Returns the real coefficient of a complex number in x + yi or x + yj text format. + *

+ * Inumber A complex number for which you want the real coefficient. + *

+ * Remarks + *

+ * + * @author cedric dot walter @ gmail dot com + */ +public class ImReal extends Fixed1ArgFunction implements FreeRefFunction { + + public static final FreeRefFunction instance = new ImReal(); + + public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval inumberVE) { + ValueEval veText1; + try { + veText1 = OperandResolver.getSingleValue(inumberVE, srcRowIndex, srcColumnIndex); + } catch (EvaluationException e) { + return e.getErrorEval(); + } + String iNumber = OperandResolver.coerceValueToString(veText1); + + Matcher m = Imaginary.COMPLEX_NUMBER_PATTERN.matcher(iNumber); + boolean result = m.matches(); + + String real = ""; + if (result == true) { + String realGroup = m.group(2); + boolean hasRealPart = realGroup.length() != 0; + + if (realGroup.length() == 0) { + return new StringEval(String.valueOf(0)); + } + + if (hasRealPart) { + String sign = ""; + String realSign = m.group(Imaginary.GROUP1_REAL_SIGN); + if (realSign.length() != 0 && !(realSign.equals("+"))) { + sign = realSign; + } + + String groupRealNumber = m.group(Imaginary.GROUP2_IMAGINARY_INTEGER_OR_DOUBLE); + if (groupRealNumber.length() != 0) { + real = sign + groupRealNumber; + } else { + real = sign + "1"; + } + } + } else { + return ErrorEval.NUM_ERROR; + } + + return new StringEval(real); + } + + public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) { + if (args.length != 1) { + return ErrorEval.VALUE_INVALID; + } + return evaluate(ec.getRowIndex(), ec.getColumnIndex(), args[0]); + } +} diff --git a/src/testcases/org/apache/poi/ss/formula/functions/TestImRealFunctionsFromSpreadsheet.java b/src/testcases/org/apache/poi/ss/formula/functions/TestImRealFunctionsFromSpreadsheet.java new file mode 100644 index 0000000000..a64335517c --- /dev/null +++ b/src/testcases/org/apache/poi/ss/formula/functions/TestImRealFunctionsFromSpreadsheet.java @@ -0,0 +1,30 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.ss.formula.functions; + +/** + * Tests ImReal() as loaded from a test data spreadsheet.

+ * + * @author cedric dot walter @ gmail dot com + */ +public class TestImRealFunctionsFromSpreadsheet extends BaseTestFunctionsFromSpreadsheet { + + protected String getFilename() { + return "ImRealFunctionTestCaseData.xls"; + } +} diff --git a/test-data/spreadsheet/FormulaEvalTestData.xls b/test-data/spreadsheet/FormulaEvalTestData.xls index ff8e932ac1b65ed0f91ed6d42e2da5a1039f552b..cc3fd416890a4335e51f55fed4ab3b9a6d3fedbd 100644 GIT binary patch delta 40440 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

hS$jD{T#zWLo7uXwde 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 Qt3&S7r#Kalu5wcT4}qA$F8}}l diff --git a/test-data/spreadsheet/ImRealFunctionTestCaseData.xls b/test-data/spreadsheet/ImRealFunctionTestCaseData.xls new file mode 100644 index 0000000000000000000000000000000000000000..449e4cd2cab5cc2a4f87120513947d189dda986c GIT binary patch literal 35840 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 P{B-;c?Z+4W;`ILq>7TGj literal 0 HcmV?d00001 -- 2.39.5