summaryrefslogtreecommitdiff
path: root/formula
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga.extern@allotropia.de>2024-04-17 17:12:37 +0200
committerBalazs Varga <balazs.varga.extern@allotropia.de>2024-04-26 09:33:23 +0200
commit35772a003bb30be61f8ba8abe805455e41db0e1e (patch)
tree49184113595f1ca84762405d3a79488b6fbd3878 /formula
parent2177acbc8a3befb5367895709b3447717b98ea33 (diff)
tdf#126573 Add Excel2021 array function SEQUENCE to Calc
Add new function called SEQUENCE to the function list. (TODO: dynamic array in separate patch, oasis proposal) Change-Id: I9fa6f2c83536536987542cc00a9eec5c196ada8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166245 Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Diffstat (limited to 'formula')
-rw-r--r--formula/inc/core_resource.hrc6
-rw-r--r--formula/source/core/api/FormulaCompiler.cxx1
2 files changed, 7 insertions, 0 deletions
diff --git a/formula/inc/core_resource.hrc b/formula/inc/core_resource.hrc
index 82d3a52c98e8..ec1f81699e7f 100644
--- a/formula/inc/core_resource.hrc
+++ b/formula/inc/core_resource.hrc
@@ -315,6 +315,7 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] =
{ "MDETERM" , SC_OPCODE_MAT_DET },
{ "MINVERSE" , SC_OPCODE_MAT_INV },
{ "MMULT" , SC_OPCODE_MAT_MULT },
+ { "COM.MICROSOFT.SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
{ "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
{ "MUNIT" , SC_OPCODE_MATRIX_UNIT },
{ "ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -767,6 +768,7 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] =
{ "MDETERM" , SC_OPCODE_MAT_DET },
{ "MINVERSE" , SC_OPCODE_MAT_INV },
{ "MMULT" , SC_OPCODE_MAT_MULT },
+ { "_xlfn.SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
{ "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
{ "_xlfn.MUNIT" , SC_OPCODE_MATRIX_UNIT },
{ "_xlfn.ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -1222,6 +1224,7 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] =
{ "MDETERM" , SC_OPCODE_MAT_DET },
{ "MINVERSE" , SC_OPCODE_MAT_INV },
{ "MMULT" , SC_OPCODE_MAT_MULT },
+ { "SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
{ "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
{ "MUNIT" , SC_OPCODE_MATRIX_UNIT },
{ "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -1678,6 +1681,7 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] =
{ "MDETERM" , SC_OPCODE_MAT_DET },
{ "MINVERSE" , SC_OPCODE_MAT_INV },
{ "MMULT" , SC_OPCODE_MAT_MULT },
+ { "SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
{ "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
{ "MUNIT" , SC_OPCODE_MATRIX_UNIT },
{ "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -2132,6 +2136,7 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH[] =
{ "MDETERM" , SC_OPCODE_MAT_DET },
{ "MINVERSE" , SC_OPCODE_MAT_INV },
{ "MMULT" , SC_OPCODE_MAT_MULT },
+ { "SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
{ "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
{ "MUNIT" , SC_OPCODE_MATRIX_UNIT },
{ "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -2565,6 +2570,7 @@ const std::pair<TranslateId, int> RID_STRLIST_FUNCTION_NAMES[] =
{ NC_("RID_STRLIST_FUNCTION_NAMES", "MDETERM") , SC_OPCODE_MAT_DET },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "MINVERSE") , SC_OPCODE_MAT_INV },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "MMULT") , SC_OPCODE_MAT_MULT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SEQUENCE") , SC_OPCODE_MAT_SEQUENCE },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "TRANSPOSE") , SC_OPCODE_MAT_TRANS },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "MUNIT") , SC_OPCODE_MATRIX_UNIT },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "GOALSEEK") , SC_OPCODE_BACK_SOLVER },
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index 278628cbd648..0f75df5cc184 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -1224,6 +1224,7 @@ bool FormulaCompiler::IsMatrixFunction( OpCode eOpCode )
case ocLogest :
case ocLinest :
case ocFrequency :
+ case ocMatSequence :
case ocMatTrans :
case ocMatMult :
case ocMatInv :