summaryrefslogtreecommitdiff
path: root/formula
diff options
context:
space:
mode:
Diffstat (limited to 'formula')
-rw-r--r--formula/source/core/api/token.cxx13
-rw-r--r--formula/source/core/resource/core_resource.src22
2 files changed, 30 insertions, 5 deletions
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index 50964217a901..a33ce70d4e25 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -1053,6 +1053,8 @@ inline bool MissingConventionOOXML::isRewriteNeeded( OpCode eOp ) const
case ocIndex:
+ case ocCeil:
+
case ocGammaDist:
case ocFDist_LT:
case ocPoissonDist:
@@ -1411,7 +1413,16 @@ FormulaTokenArray * FormulaTokenArray::RewriteMissing( const MissingConvention &
break;
}
if (bAdd)
- pNewArr->AddToken( *pCur );
+ {
+ if ( pCur->GetOpCode() == ocCeil &&
+ rConv.getConvention() == MissingConvention::FORMULA_MISSING_CONVENTION_OOXML )
+ {
+ FormulaToken *pToken = new FormulaToken( svByte, ocCeil_Math );
+ pNewArr->AddToken( *pToken );
+ }
+ else
+ pNewArr->AddToken( *pCur );
+ }
}
if (pOcas != &aOpCodeAddressStack[0])
diff --git a/formula/source/core/resource/core_resource.src b/formula/source/core/resource/core_resource.src
index 31d5d9446add..4462ee9b2b91 100644
--- a/formula/source/core/resource/core_resource.src
+++ b/formula/source/core/resource/core_resource.src
@@ -149,8 +149,10 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
String SC_OPCODE_ERROR_TYPE_ODF { Text = "ERROR.TYPE" ; };
String SC_OPCODE_FORMULA { Text = "FORMULA"; };
String SC_OPCODE_ARC_TAN_2 { Text = "ATAN2" ; };
+ String SC_OPCODE_CEIL_MATH { Text = "COM.MICROSOFT.CEILING.MATH" ; };
String SC_OPCODE_CEIL { Text = "CEILING" ; };
- String SC_OPCODE_CEIL_MS { Text = "COM.MICROSOFT.CEILING.PRECISE" ; };
+ String SC_OPCODE_CEIL_MS { Text = "COM.MICROSOFT.CEILING" ; };
+ String SC_OPCODE_CEIL_PRECISE { Text = "COM.MICROSOFT.CEILING.PRECISE" ; };
String SC_OPCODE_CEIL_ISO { Text = "COM.MICROSOFT.ISO.CEILING" ; };
String SC_OPCODE_FLOOR_MS { Text = "COM.MICROSOFT.FLOOR.PRECISE" ; };
String SC_OPCODE_FLOOR { Text = "FLOOR" ; };
@@ -565,8 +567,10 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML
String SC_OPCODE_ERROR_TYPE_ODF { Text = "ERROR.TYPE" ; };
String SC_OPCODE_FORMULA { Text = "_xlfn.FORMULATEXT"; };
String SC_OPCODE_ARC_TAN_2 { Text = "ATAN2" ; };
- String SC_OPCODE_CEIL { Text = "CEILING" ; };
- String SC_OPCODE_CEIL_MS { Text = "_xlfn.CEILING.PRECISE" ; };
+ String SC_OPCODE_CEIL_MATH { Text = "_xlfn.CEILING.MATH" ; };
+ String SC_OPCODE_CEIL { Text = "_xlfn.CEILING.MATH" ; };
+ String SC_OPCODE_CEIL_MS { Text = "CEILING" ; };
+ String SC_OPCODE_CEIL_PRECISE { Text = "_xlfn.CEILING.PRECISE" ; };
String SC_OPCODE_CEIL_ISO { Text = "ISO.CEILING" ; };
String SC_OPCODE_FLOOR_MS { Text = "_xlfn.FLOOR.PRECISE" ; };
String SC_OPCODE_FLOOR { Text = "FLOOR" ; };
@@ -983,8 +987,10 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH
String SC_OPCODE_ERROR_TYPE_ODF { Text = "ERROR.TYPE" ; };
String SC_OPCODE_FORMULA { Text = "FORMULA"; };
String SC_OPCODE_ARC_TAN_2 { Text = "ATAN2" ; };
+ String SC_OPCODE_CEIL_MATH { Text = "CEILING.MATH" ; };
String SC_OPCODE_CEIL { Text = "CEILING" ; };
- String SC_OPCODE_CEIL_MS { Text = "CEILING.PRECISE" ; };
+ String SC_OPCODE_CEIL_MS { Text = "CEILING.XCL" ; };
+ String SC_OPCODE_CEIL_PRECISE { Text = "CEILING.PRECISE" ; };
String SC_OPCODE_CEIL_ISO { Text = "ISO.CEILING" ; };
String SC_OPCODE_FLOOR_MS { Text = "FLOOR.PRECISE" ; };
String SC_OPCODE_FLOOR { Text = "FLOOR" ; };
@@ -1718,12 +1724,20 @@ Resource RID_STRLIST_FUNCTION_NAMES
{
Text [ en-US ] = "ATAN2" ;
};
+ String SC_OPCODE_CEIL_MATH
+ {
+ Text [ en-US ] = "CEILING.MATH" ;
+ };
String SC_OPCODE_CEIL
{
Text [ en-US ] = "CEILING" ;
};
String SC_OPCODE_CEIL_MS
{
+ Text [ en-US ] = "CEILING.XCL" ;
+ };
+ String SC_OPCODE_CEIL_PRECISE
+ {
Text [ en-US ] = "CEILING.PRECISE" ;
};
String SC_OPCODE_CEIL_ISO