LibreOffice Module sc (master)  1
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ScInterpreter Class Reference

#include <interpre.hxx>

Collaboration diagram for ScInterpreter:
[legend]

Public Types

enum  VolatileType {
  VOLATILE,
  VOLATILE_MACRO,
  NOT_VOLATILE
}
 

Public Member Functions

ScMatrixRef GetNewMat (SCSIZE nC, SCSIZE nR, bool bEmpty=false)
 
ScMatrixRef GetNewMat (SCSIZE nC, SCSIZE nR, const std::vector< double > &rValues)
 
VolatileType GetVolatileType () const
 
double ConvertStringToValue (const OUString &, FormulaError &rError, SvNumFormatType &rCurFmtType)
 For matrix back calls into the current interpreter. More...
 
 ScInterpreter (ScFormulaCell *pCell, ScDocument &rDoc, ScInterpreterContext &rContext, const ScAddress &, ScTokenArray &, bool bForGroupThreading=false)
 
 ~ScInterpreter ()
 
void Init (ScFormulaCell *pCell, const ScAddress &rPos, ScTokenArray &rTokArray)
 
formula::StackVar Interpret ()
 
void SetError (FormulaError nError)
 
void AssertFormulaMatrix ()
 
void SetLinkManager (sfx2::LinkManager *pLinkMgr)
 
FormulaError GetError () const
 
formula::StackVar GetResultType () const
 
const svl::SharedStringGetStringResult () const
 
double GetNumResult () const
 
const formula::FormulaConstTokenRefGetResultToken () const
 
SvNumFormatType GetRetFormatType () const
 
sal_uLong GetRetFormatIndex () const
 

Static Public Member Functions

static void SetGlobalConfig (const ScCalcConfig &rConfig)
 
static const ScCalcConfigGetGlobalConfig ()
 
static void GlobalExit ()
 
static bool MayBeRegExp (const OUString &rStr)
 Could string be a regular expression? if regularExpressions are disabled the function returns false regardless of the string content. More...
 
static bool MayBeWildcard (const OUString &rStr)
 Could string be a wildcard (*,?,~) expression? If wildcards are disabled the function returns false regardless of the string content. More...
 
static utl::SearchParam::SearchType DetectSearchType (const OUString &rStr, const ScDocument &rDoc)
 Detect if string should be used as regular expression or wildcard expression or literal string. More...
 
static double div (const double &fNumerator, const double &fDenominator)
 Fail safe division, returning a FormulaError::DivisionByZero coded into a double if denominator is 0.0. More...
 
static double ScGetGCD (double fx, double fy)
 
static double phi (double x)
 
static double integralPhi (double x)
 
static double gaussinv (double x)
 
static double GetPercentile (::std::vector< double > &rArray, double fPercentile)
 

Private Member Functions

void MakeMatNew (ScMatrixRef &rMat, SCSIZE nC, SCSIZE nR)
 
void MergeCalcConfig ()
 Merge global and document specific settings. More...
 
bool MustHaveParamCount (short nAct, short nMust)
 
bool MustHaveParamCount (short nAct, short nMust, short nMax)
 
bool MustHaveParamCountMin (short nAct, short nMin)
 
void PushParameterExpected ()
 
void PushIllegalParameter ()
 
void PushIllegalArgument ()
 
void PushNoValue ()
 
void PushNA ()
 
void ReplaceCell (ScAddress &)
 
bool IsTableOpInRange (const ScRange &)
 
sal_uInt32 GetCellNumberFormat (const ScAddress &rPos, ScRefCellValue &rCell)
 
double ConvertStringToValue (const OUString &)
 
double GetCellValue (const ScAddress &, ScRefCellValue &rCell)
 
double GetCellValueOrZero (const ScAddress &, ScRefCellValue &rCell)
 
double GetValueCellValue (const ScAddress &, double fOrig)
 Only ValueCell, formula cells already store the result rounded. More...
 
void GetCellString (svl::SharedString &rStr, ScRefCellValue &rCell)
 
bool CreateDoubleArr (SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, sal_uInt8 *pCellArr)
 
bool CreateStringArr (SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, sal_uInt8 *pCellArr)
 
bool CreateCellArr (SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, sal_uInt8 *pCellArr)
 
void Push (const formula::FormulaToken &r)
 Does substitute with formula::FormulaErrorToken in case nGlobalError is set and the token passed is not formula::FormulaErrorToken. More...
 
void PushWithoutError (const formula::FormulaToken &r)
 Does not substitute with formula::FormulaErrorToken in case nGlobalError is set. More...
 
void PushTempToken (formula::FormulaToken *)
 Does substitute with formula::FormulaErrorToken in case nGlobalError is set and the token passed is not formula::FormulaErrorToken. More...
 
void PushTokenRef (const formula::FormulaConstTokenRef &)
 Pushes the token or substitutes with formula::FormulaErrorToken in case nGlobalError is set and the token passed is not formula::FormulaErrorToken. More...
 
void PushTempTokenWithoutError (const formula::FormulaToken *)
 Does not substitute with formula::FormulaErrorToken in case nGlobalError is set. More...
 
bool IfErrorPushError ()
 If nGlobalError is set push formula::FormulaErrorToken. More...
 
void PushCellResultToken (bool bDisplayEmptyAsString, const ScAddress &rAddress, SvNumFormatType *pRetTypeExpr, sal_uInt32 *pRetIndexExpr, bool bFinalResult=false)
 Obtain cell result / content from address and push as temp token. More...
 
formula::FormulaConstTokenRef PopToken ()
 
void Pop ()
 
void PopError ()
 
double PopDouble ()
 
svl::SharedString PopString ()
 
void ValidateRef (const ScSingleRefData &rRef)
 
void ValidateRef (const ScComplexRefData &rRef)
 
void ValidateRef (const ScRefList &rRefList)
 
void SingleRefToVars (const ScSingleRefData &rRef, SCCOL &rCol, SCROW &rRow, SCTAB &rTab)
 
void PopSingleRef (ScAddress &)
 
void PopSingleRef (SCCOL &rCol, SCROW &rRow, SCTAB &rTab)
 
void DoubleRefToRange (const ScComplexRefData &, ScRange &, bool bDontCheckForTableOp=false)
 
void PopDoubleRef (ScRange &rRange, short &rParam, size_t &rRefInList)
 If formula::StackVar formula::svDoubleRef pop ScDoubleRefToken and return values of ScComplexRefData. More...
 
void PopDoubleRef (ScRange &, bool bDontCheckForTableOp=false)
 
void DoubleRefToVars (const formula::FormulaToken *p, SCCOL &rCol1, SCROW &rRow1, SCTAB &rTab1, SCCOL &rCol2, SCROW &rRow2, SCTAB &rTab2)
 
ScDBRangeBasePopDBDoubleRef ()
 
void PopDoubleRef (SCCOL &rCol1, SCROW &rRow1, SCTAB &rTab1, SCCOL &rCol2, SCROW &rRow2, SCTAB &rTab2)
 
void PopExternalSingleRef (sal_uInt16 &rFileId, OUString &rTabName, ScSingleRefData &rRef)
 
void PopExternalSingleRef (ScExternalRefCache::TokenRef &rToken, ScExternalRefCache::CellFormat *pFmt=nullptr)
 Guarantees that nGlobalError is set if rToken could not be obtained. More...
 
void PopExternalSingleRef (sal_uInt16 &rFileId, OUString &rTabName, ScSingleRefData &rRef, ScExternalRefCache::TokenRef &rToken, ScExternalRefCache::CellFormat *pFmt=nullptr)
 Guarantees that nGlobalError is set if rToken could not be obtained. More...
 
void PopExternalDoubleRef (sal_uInt16 &rFileId, OUString &rTabName, ScComplexRefData &rRef)
 
void PopExternalDoubleRef (ScExternalRefCache::TokenArrayRef &rArray)
 
void PopExternalDoubleRef (ScMatrixRef &rMat)
 
void GetExternalDoubleRef (sal_uInt16 nFileId, const OUString &rTabName, const ScComplexRefData &aData, ScExternalRefCache::TokenArrayRef &rArray)
 
bool PopDoubleRefOrSingleRef (ScAddress &rAdr)
 
void PopDoubleRefPushMatrix ()
 
void PopRefListPushMatrixOrRef ()
 
bool ConvertMatrixParameters ()
 
void MatrixJumpConditionToMatrix ()
 
void ConvertMatrixJumpConditionToMatrix ()
 
bool MatrixParameterConversion ()
 
bool IsInArrayContext () const
 
ScMatrixRef PopMatrix ()
 
sc::RangeMatrix PopRangeMatrix ()
 
void QueryMatrixType (const ScMatrixRef &xMat, SvNumFormatType &rRetTypeExpr, sal_uInt32 &rRetIndexExpr)
 
formula::FormulaTokenCreateFormulaDoubleToken (double fVal, SvNumFormatType nFmt=SvNumFormatType::NUMBER)
 
formula::FormulaTokenCreateDoubleOrTypedToken (double fVal)
 
void PushDouble (double nVal)
 
void PushInt (int nVal)
 
void PushStringBuffer (const sal_Unicode *pString)
 
void PushString (const OUString &rStr)
 
void PushString (const svl::SharedString &rString)
 
void PushSingleRef (SCCOL nCol, SCROW nRow, SCTAB nTab)
 
void PushDoubleRef (SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2)
 
void PushExternalSingleRef (sal_uInt16 nFileId, const OUString &rTabName, SCCOL nCol, SCROW nRow, SCTAB nTab)
 
void PushExternalDoubleRef (sal_uInt16 nFileId, const OUString &rTabName, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2)
 
void PushSingleRef (const ScRefAddress &rRef)
 
void PushDoubleRef (const ScRefAddress &rRef1, const ScRefAddress &rRef2)
 
void PushMatrix (const sc::RangeMatrix &rMat)
 
void PushMatrix (const ScMatrixRef &pMat)
 
void PushError (FormulaError nError)
 
formula::StackVar GetRawStackType ()
 Raw stack type without default replacements. More...
 
formula::StackVar GetStackType ()
 Stack type with replacement of defaults, e.g. svMissing and formula::svEmptyCell will result in formula::svDouble. More...
 
formula::StackVar GetStackType (sal_uInt8 nParam)
 
sal_uInt8 GetByte () const
 
void ReverseStack (sal_uInt8 nParamCount)
 
bool DoubleRefToPosSingleRef (const ScRange &rRange, ScAddress &rAdr)
 
double GetDoubleFromMatrix (const ScMatrixRef &pMat)
 
double GetDouble ()
 
double GetDoubleWithDefault (double nDefault)
 
bool IsMissing () const
 
sal_Int32 double_to_int32 (double fVal)
 
sal_Int32 GetInt32 ()
 if GetDouble() not within int32 limits sets nGlobalError and returns SAL_MAX_INT32 More...
 
sal_Int32 GetInt32WithDefault (sal_Int32 nDefault)
 if GetDoubleWithDefault() not within int32 limits sets nGlobalError and returns SAL_MAX_INT32 More...
 
sal_Int16 GetInt16 ()
 if GetDouble() not within int16 limits sets nGlobalError and returns SAL_MAX_INT16 More...
 
sal_uInt32 GetUInt32 ()
 if GetDouble() not within uint32 limits sets nGlobalError and returns SAL_MAX_UINT32 More...
 
bool GetBool ()
 
bool GetDoubleOrString (double &rValue, svl::SharedString &rString)
 returns TRUE if double (or error, check nGlobalError), else FALSE More...
 
svl::SharedString GetString ()
 
svl::SharedString GetStringFromMatrix (const ScMatrixRef &pMat)
 
svl::SharedString GetStringFromDouble (const double fVal)
 
ScMatValType GetDoubleOrStringFromMatrix (double &rDouble, svl::SharedString &rString)
 
ScMatrixRef CreateMatrixFromDoubleRef (const formula::FormulaToken *pToken, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2)
 
ScTokenMatrixMapGetTokenMatrixMap ()
 
ScMatrixRef GetMatrix ()
 
ScMatrixRef GetMatrix (short &rParam, size_t &rInRefList)
 
sc::RangeMatrix GetRangeMatrix ()
 
void ScTableOp ()
 
void CurFmtToFuncFmt ()
 
sal_Int32 GetStringPositionArgument ()
 Obtain a sal_Int32 suitable as string position or length argument. More...
 
bool CheckStringResultLen (OUString &rResult, const OUString &rAdd)
 
bool CheckStringResultLen (OUStringBuffer &rResult, const OUString &rAdd)
 
void TreatDoubleError (double &rVal)
 
bool LookupQueryWithCache (ScAddress &o_rResultPos, const ScQueryParam &rParam) const
 
void ScIfJump ()
 
void ScIfError (bool bNAonly)
 
void ScChooseJump ()
 
bool JumpMatrix (short nStackLevel)
 
double Compare (ScQueryOp eOp)
 
sc::RangeMatrix CompareMat (ScQueryOp eOp, sc::CompareOptions *pOptions=nullptr)
 
ScMatrixRef QueryMat (const ScMatrixRef &pMat, sc::CompareOptions &rOptions)
 
void ScEqual ()
 
void ScNotEqual ()
 
void ScLess ()
 
void ScGreater ()
 
void ScLessEqual ()
 
void ScGreaterEqual ()
 
void ScAnd ()
 
void ScOr ()
 
void ScXor ()
 
void ScNot ()
 
void ScNeg ()
 
void ScPercentSign ()
 
void ScIntersect ()
 
void ScRangeFunc ()
 
void ScUnionFunc ()
 
void ScPi ()
 
void ScRandom ()
 
void ScRandbetween ()
 
void ScRandomImpl (const std::function< double(double fFirst, double fLast)> &RandomFunc, double fFirst, double fLast)
 
void ScTrue ()
 
void ScFalse ()
 
void ScDeg ()
 
void ScRad ()
 
void ScSin ()
 
void ScCos ()
 
void ScTan ()
 
void ScCot ()
 
void ScArcSin ()
 
void ScArcCos ()
 
void ScArcTan ()
 
void ScArcCot ()
 
void ScSinHyp ()
 
void ScCosHyp ()
 
void ScTanHyp ()
 
void ScCotHyp ()
 
void ScArcSinHyp ()
 
void ScArcCosHyp ()
 
void ScArcTanHyp ()
 
void ScArcCotHyp ()
 
void ScCosecant ()
 
void ScSecant ()
 
void ScCosecantHyp ()
 
void ScSecantHyp ()
 
void ScExp ()
 
void ScLn ()
 
void ScLog10 ()
 
void ScSqrt ()
 
void ScIsEmpty ()
 
bool IsString ()
 
void ScIsString ()
 
void ScIsNonString ()
 
void ScIsLogical ()
 
void ScType ()
 
void ScCell ()
 
void ScCellExternal ()
 
void ScIsRef ()
 
void ScIsValue ()
 
void ScIsFormula ()
 
void ScFormula ()
 
void ScRoman ()
 
void ScArabic ()
 
void ScIsNV ()
 
void ScIsErr ()
 
void ScIsError ()
 
bool IsEven ()
 
void ScIsEven ()
 
void ScIsOdd ()
 
void ScN ()
 
void ScCode ()
 
void ScTrim ()
 
void ScUpper ()
 
void ScProper ()
 
void ScLower ()
 
void ScLen ()
 
void ScT ()
 
void ScValue ()
 
void ScNumberValue ()
 
void ScClean ()
 
void ScChar ()
 
void ScJis ()
 
void ScAsc ()
 
void ScUnicode ()
 
void ScUnichar ()
 
void ScMin (bool bTextAsZero=false)
 
void ScMax (bool bTextAsZero=false)
 
size_t GetRefListArrayMaxSize (short nParamCount)
 Check for array of references to determine the maximum size of a return column vector if in array context. More...
 
bool SwitchToArrayRefList (ScMatrixRef &xResMat, SCSIZE nMatRows, double fCurrent, const std::function< void(SCSIZE i, double fCurrent)> &MatOpFunc, bool bDoMatOp)
 Switch to array reference list if current TOS is one and create/init or update matrix and return true. More...
 
void IterateParameters (ScIterFunc, bool bTextAsZero=false)
 
void ScSumSQ ()
 
void ScSum ()
 
void ScProduct ()
 
void ScAverage (bool bTextAsZero=false)
 
void ScCount ()
 
void ScCount2 ()
 
void GetStVarParams (bool bTextAsZero, double(*VarResult)(double fVal, size_t nValCount))
 
void ScVar (bool bTextAsZero=false)
 
void ScVarP (bool bTextAsZero=false)
 
void ScStDev (bool bTextAsZero=false)
 
void ScStDevP (bool bTextAsZero=false)
 
void ScRawSubtract ()
 The purpose of RAWSUBTRACT() is exactly to not apply any error correction, approximation etc. More...
 
void ScColumns ()
 
void ScRows ()
 
void ScSheets ()
 
void ScColumn ()
 
void ScRow ()
 
void ScSheet ()
 
void ScMatch ()
 
void IterateParametersIf (ScIterFuncIf)
 
void ScCountIf ()
 
void ScSumIf ()
 
void ScAverageIf ()
 
void IterateParametersIfs (double(*ResultFunc)(const sc::ParamIfsResult &rRes))
 
void ScSumIfs ()
 
void ScAverageIfs ()
 
void ScCountIfs ()
 
void ScCountEmptyCells ()
 
void ScLookup ()
 
void ScHLookup ()
 
void ScVLookup ()
 
void ScSubTotal ()
 
std::unique_ptr< ScDBQueryParamBaseGetDBParams (bool &rMissingField)
 
void DBIterator (ScIterFunc)
 
void ScDBSum ()
 
void ScDBCount ()
 
void ScDBCount2 ()
 
void ScDBAverage ()
 
void ScDBGet ()
 
void ScDBMax ()
 
void ScDBMin ()
 
void ScDBProduct ()
 
void GetDBStVarParams (double &rVal, double &rValCount)
 
void ScDBStdDev ()
 
void ScDBStdDevP ()
 
void ScDBVar ()
 
void ScDBVarP ()
 
void ScIndirect ()
 
void ScAddressFunc ()
 
void ScOffset ()
 
void ScIndex ()
 
void ScMultiArea ()
 
void ScAreas ()
 
void ScCurrency ()
 
void ScReplace ()
 
void ScFixed ()
 
void ScFind ()
 
void ScExact ()
 
void ScLeft ()
 
void ScRight ()
 
void ScSearch ()
 
void ScMid ()
 
void ScText ()
 
void ScSubstitute ()
 
void ScRept ()
 
void ScRegex ()
 
void ScConcat ()
 
void ScConcat_MS ()
 
void ScTextJoin_MS ()
 
void ScIfs_MS ()
 
void ScSwitch_MS ()
 
void ScMinIfs_MS ()
 
void ScMaxIfs_MS ()
 
void ScExternal ()
 
void ScMissing ()
 
void ScMacro ()
 
bool SetSbxVariable (SbxVariable *pVar, const ScAddress &)
 
FormulaError GetErrorType ()
 
void ScErrorType ()
 
void ScErrorType_ODF ()
 
void ScDBArea ()
 
void ScColRowNameAuto ()
 
void ScGetPivotData ()
 
void ScHyperLink ()
 
void ScBahtText ()
 
void ScBitAnd ()
 
void ScBitOr ()
 
void ScBitXor ()
 
void ScBitRshift ()
 
void ScBitLshift ()
 
void ScTTT ()
 
void ScDebugVar ()
 
double GetDateSerial (sal_Int16 nYear, sal_Int16 nMonth, sal_Int16 nDay, bool bStrict)
 Obtain the date serial number for a given date. More...
 
void ScGetActDate ()
 
void ScGetActTime ()
 
void ScGetYear ()
 
void ScGetMonth ()
 
void ScGetDay ()
 
void ScGetDayOfWeek ()
 
void ScGetWeekOfYear ()
 
void ScGetIsoWeekOfYear ()
 
void ScWeeknumOOo ()
 
void ScEasterSunday ()
 
FormulaError GetWeekendAndHolidayMasks (const sal_uInt8 nParamCount, const sal_uInt32 nNullDate,::std::vector< double > &rSortArray, bool bWeekendMask[7])
 
FormulaError GetWeekendAndHolidayMasks_MS (const sal_uInt8 nParamCount, const sal_uInt32 nNullDate,::std::vector< double > &rSortArray, bool bWeekendMask[7], bool bWorkdayFunction)
 
void ScNetWorkdays (bool bOOXML_Version)
 
void ScWorkday_MS ()
 
void ScGetHour ()
 
void ScGetMin ()
 
void ScGetSec ()
 
void ScPlusMinus ()
 
void ScAbs ()
 
void ScInt ()
 
void ScEven ()
 
void ScOdd ()
 
void ScCeil (bool bODFF)
 tdf69552 ODFF1.2 function CEILING and Excel function CEILING.MATH In essence, the difference between the two is that ODFF-CEILING needs to have arguments value and significance of the same sign and with CEILING.MATH the sign of argument significance is irrevelevant. More...
 
void ScCeil_MS ()
 
void ScCeil_Precise ()
 
void ScFloor (bool bODFF)
 tdf69552 ODFF1.2 function FLOOR and Excel function FLOOR.MATH In essence, the difference between the two is that ODFF-FLOOR needs to have arguments value and significance of the same sign and with FLOOR.MATH the sign of argument significance is irrevelevant. More...
 
void ScFloor_MS ()
 
void ScFloor_Precise ()
 
void RoundNumber (rtl_math_RoundingMode eMode)
 
void ScRound ()
 
void ScRoundUp ()
 
void ScRoundDown ()
 
void ScGetDateValue ()
 
void ScGetTimeValue ()
 
void ScArcTan2 ()
 
void ScLog ()
 
void ScGetDate ()
 
void ScGetTime ()
 
void ScGetDiffDate ()
 
void ScGetDiffDate360 ()
 
void ScGetDateDif ()
 
void ScPower ()
 
void ScAmpersand ()
 
void ScAdd ()
 
void ScSub ()
 
void ScMul ()
 
void ScDiv ()
 
void ScPow ()
 
void ScCurrent ()
 
void ScStyle ()
 
void ScDde ()
 
void ScBase ()
 
void ScDecimal ()
 
void ScConvertOOo ()
 
void ScEuroConvert ()
 
void ScRoundSignificant ()
 
void ScNPV ()
 
void ScIRR ()
 
void ScMIRR ()
 
void ScISPMT ()
 
void ScPV ()
 
void ScSYD ()
 
void ScDDB ()
 
void ScDB ()
 
void ScVDB ()
 
void ScPDuration ()
 
void ScSLN ()
 
void ScPMT ()
 
void ScRRI ()
 
void ScFV ()
 
void ScNper ()
 
void ScRate ()
 
double ScGetIpmt (double fRate, double fPer, double fNper, double fPv, double fFv, bool bPayInAdvance, double &fPmt)
 
void ScIpmt ()
 
void ScPpmt ()
 
void ScCumIpmt ()
 
void ScCumPrinc ()
 
void ScEffect ()
 
void ScNominal ()
 
void ScMod ()
 
void ScIntercept ()
 
void ScGCD ()
 
void ScLCM ()
 
void ScMatValue ()
 
void ScMatDet ()
 
void ScMatInv ()
 
void ScMatMult ()
 
void ScMatTrans ()
 
void ScEMat ()
 
void ScMatRef ()
 
ScMatrixRef MatConcat (const ScMatrixRef &pMat1, const ScMatrixRef &pMat2)
 
void ScSumProduct ()
 
void ScSumX2MY2 ()
 
void ScSumX2DY2 ()
 
void ScSumXMY2 ()
 
void ScGrowth ()
 
bool CalculateSkew (KahanSum &fSum, double &fCount, std::vector< double > &values)
 
void CalculateSkewOrSkewp (bool bSkewp)
 
void CalculateSlopeIntercept (bool bSlope)
 
void CalculateSmallLarge (bool bSmall)
 
void CalculatePearsonCovar (bool _bPearson, bool _bStexy, bool _bSample)
 
bool CalculateTest (bool _bTemplin, const SCSIZE nC1, const SCSIZE nC2, const SCSIZE nR1, const SCSIZE nR2, const ScMatrixRef &pMat1, const ScMatrixRef &pMat2, double &fT, double &fF)
 
void CalculateLookup (bool bHLookup)
 
bool FillEntry (ScQueryEntry &rEntry)
 
void CalculateAddSub (bool _bSub)
 
void CalculateTrendGrowth (bool _bGrowth)
 
void CalculateRGPRKP (bool _bRKP)
 
void CalculateSumX2MY2SumX2DY2 (bool _bSumX2DY2)
 
void CalculateMatrixValue (const ScMatrix *pMat, SCSIZE nC, SCSIZE nR)
 
bool CheckMatrix (bool _bLOG, sal_uInt8 &nCase, SCSIZE &nCX, SCSIZE &nCY, SCSIZE &nRX, SCSIZE &nRY, SCSIZE &M, SCSIZE &N, ScMatrixRef &pMatX, ScMatrixRef &pMatY)
 
void ScLinest ()
 
void ScLogest ()
 
void ScForecast ()
 
void ScForecast_Ets (ScETSType eETSType)
 
void ScFourier ()
 
void ScNoName ()
 
void ScBadName ()
 
double GetBetaDist (double x, double alpha, double beta)
 
double GetBetaDistPDF (double fX, double fA, double fB)
 
double GetChiDist (double fChi, double fDF)
 You must ensure fDF>0.0. More...
 
double GetChiSqDistCDF (double fX, double fDF)
 You must ensure fDF>0.0. More...
 
double GetFDist (double x, double fF1, double fF2)
 
double GetTDist (double T, double fDF, int nType)
 
double Fakultaet (double x)
 
double GetGamma (double x)
 You must ensure non integer arguments for fZ<1. More...
 
double GetBeta (double fAlpha, double fBeta)
 
double GetBinomDistPMF (double x, double n, double p)
 
double GetHypGeomDist (double x, double n, double M, double N)
 Calculates a value of the hypergeometric distribution. More...
 
void ScLogGamma ()
 
void ScGamma ()
 
void ScPhi ()
 
void ScGauss ()
 
void ScStdNormDist ()
 
void ScStdNormDist_MS ()
 
void ScFisher ()
 
void ScFisherInv ()
 
void ScFact ()
 
void ScNormDist (int nMinParamCount)
 
void ScGammaDist (bool bODFF)
 
void ScGammaInv ()
 
void ScExpDist ()
 
void ScBinomDist ()
 
void ScPoissonDist (bool bODFF)
 
void ScCombin ()
 
void ScCombinA ()
 
void ScPermut ()
 
void ScPermutationA ()
 
void ScB ()
 
void ScHypGeomDist (int nMinParamCount)
 Calculates a value of the hypergeometric distribution. More...
 
void ScLogNormDist (int nMinParamCount)
 
void ScLogNormInv ()
 
void ScTDist ()
 
void ScTDist_MS ()
 
void ScTDist_T (int nTails)
 
void ScFDist ()
 
void ScFDist_LT ()
 
void ScChiDist (bool bODFF)
 
void ScChiSqDist ()
 
void ScChiSqDist_MS ()
 
void ScChiSqInv ()
 
void ScWeibull ()
 
void ScBetaDist ()
 
void ScBetaDist_MS ()
 Microsoft version has parameters in different order Also, upper and lowerbound are optional and have default values and different constraints apply. More...
 
void ScFInv ()
 
void ScFInv_LT ()
 
void ScTInv (int nType)
 
void ScChiInv ()
 
void ScBetaInv ()
 
void ScCritBinom ()
 
void ScNegBinomDist ()
 
void ScNegBinomDist_MS ()
 
void ScKurt ()
 
void ScHarMean ()
 
void ScGeoMean ()
 
void ScStandard ()
 
void ScSkew ()
 
void ScSkewp ()
 
void ScMedian ()
 
double GetMedian (::std::vector< double > &rArray)
 
double GetPercentileExclusive (::std::vector< double > &rArray, double fPercentile)
 
std::vector< double > GetTopNumberArray (SCSIZE &rCol, SCSIZE &rRow)
 
void GetNumberSequenceArray (sal_uInt8 nParamCount,::std::vector< double > &rArray, bool bConvertTextInArray)
 
void GetSortArray (sal_uInt8 nParamCount,::std::vector< double > &rSortArray,::std::vector< tools::Long > *pIndexOrder, bool bConvertTextInArray, bool bAllowEmptyArray)
 
void ScModalValue ()
 
void ScModalValue_MS (bool bSingle)
 
void ScAveDev ()
 
void ScAggregate ()
 
void ScDevSq ()
 
void ScZTest ()
 
void ScTTest ()
 
void ScFTest ()
 
void ScChiTest ()
 
void ScRank (bool bAverage)
 
void ScPercentile (bool bInclusive)
 
void ScPercentrank (bool bInclusive)
 
void ScLarge ()
 
void ScSmall ()
 
void ScFrequency ()
 
void ScQuartile (bool bInclusive)
 
void ScNormInv ()
 
void ScSNormInv ()
 
void ScConfidence ()
 
void ScConfidenceT ()
 
void ScTrimMean ()
 
void ScProbability ()
 
void ScCorrel ()
 
void ScCovarianceP ()
 
void ScCovarianceS ()
 
void ScPearson ()
 
void ScRSQ ()
 
void ScSTEYX ()
 
void ScSlope ()
 
void ScTrend ()
 
void ScInfo ()
 
void ScLenB ()
 
void ScRightB ()
 
void ScLeftB ()
 
void ScMidB ()
 
void ScReplaceB ()
 
void ScFindB ()
 
void ScSearchB ()
 
void ScFilterXML ()
 
void ScWebservice ()
 
void ScEncodeURL ()
 Returns a string in which all non-alphanumeric characters except stroke and underscore (-_) have been replaced with a percent (%) sign followed by hex digits. More...
 
void ScColor ()
 
void ScErf ()
 
void ScErfc ()
 
double GetGammaContFraction (double fA, double fX)
 You must ensure fA>0.0 && fX>0.0 valid results only if fX > fA+1.0 uses continued fraction with odd items. More...
 
double GetGammaSeries (double fA, double fX)
 You must ensure fA>0.0 && fX>0.0 valid results only if fX <= fA+1.0 uses power series. More...
 
double GetLowRegIGamma (double fA, double fX)
 You must ensure fA>0.0 && fX>0.0) More...
 
double GetUpRegIGamma (double fA, double fX)
 You must ensure fA>0.0 && fX>0.0) More...
 
double GetGammaDistPDF (double fX, double fAlpha, double fLambda)
 Gamma distribution, probability density function. More...
 
double GetGammaDist (double fX, double fAlpha, double fLambda)
 Gamma distribution, cumulative distribution function. More...
 
double GetTInv (double fAlpha, double fSize, int nType)
 

Static Private Member Functions

static ScCalcConfigGetOrCreateGlobalConfig ()
 
static FormulaError GetCellErrCode (const ScRefCellValue &rCell)
 
static bool CheckStringPositionArgument (double &fVal)
 Check if a double is suitable as string position or length argument. More...
 
static sal_Int16 GetDayOfWeek (sal_Int32 n)
 
static void RoundSignificant (double fX, double fDigits, double &fRes)
 
static double ScGetPV (double fRate, double fNper, double fPmt, double fFv, bool bPayInAdvance)
 
static double ScGetDDB (double fCost, double fSalvage, double fLife, double fPeriod, double fFactor)
 
static double ScInterVDB (double fCost, double fSalvage, double fLife, double fLife1, double fPeriod, double fFactor)
 
static double ScGetPMT (double fRate, double fNper, double fPv, double fFv, bool bPayInAdvance)
 
static double ScGetFV (double fRate, double fNper, double fPmt, double fPv, bool bPayInAdvance)
 
static bool RateIteration (double fNper, double fPayment, double fPv, double fFv, bool bPayType, double &fGuess)
 
static void MEMat (const ScMatrixRef &mM, SCSIZE n)
 
static double taylor (const double *pPolynom, sal_uInt16 nMax, double x)
 
static double gauss (double x)
 
static double GetChiSqDistPDF (double fX, double fDF)
 
static double BinomKoeff (double n, double k)
 
static double GetLogGamma (double x)
 You must ensure fZ>0. More...
 
static double GetLogBeta (double fAlpha, double fBeta)
 
static void QuickSort (::std::vector< double > &rSortArray,::std::vector< tools::Long > *pIndexOrder)
 
static double GetPercentrank (::std::vector< double > &rArray, double fVal, bool bInclusive)
 

Private Attributes

ScCalcConfig maCalcConfig
 
formula::FormulaTokenIterator aCode
 
ScAddress aPos
 
ScTokenArraypArr
 
ScInterpreterContextmrContext
 
ScDocumentmrDoc
 
sfx2::LinkManagermpLinkManager
 
svl::SharedStringPoolmrStrPool
 
formula::FormulaConstTokenRef xResult
 
ScJumpMatrixpJumpMatrix
 
ScTokenMatrixMap maTokenMatrixMap
 
ScFormulaCellpMyFormulaCell
 
SvNumberFormatterpFormatter
 
const formula::FormulaTokenpCur
 
ScTokenStackpStackObj
 
const formula::FormulaToken ** pStack
 
FormulaError nGlobalError
 
sal_uInt16 sp
 
sal_uInt16 maxsp
 
sal_uInt32 nFuncFmtIndex
 
sal_uInt32 nCurFmtIndex
 
sal_uInt32 nRetFmtIndex
 
SvNumFormatType nFuncFmtType
 
SvNumFormatType nCurFmtType
 
SvNumFormatType nRetFmtType
 
FormulaError mnStringNoValueError
 
SubtotalFlags mnSubTotalFlags
 
sal_uInt8 cPar
 
bool bCalcAsShown
 
bool bMatrixFormula
 
VolatileType meVolatileType
 

Static Private Attributes

static ScCalcConfigmpGlobalConfig = nullptr
 
static thread_local std::unique_ptr< ScTokenStackpGlobalStack
 
static thread_local bool bGlobalStackInUse = false
 
static const double fMaxGammaArgument = 171.624376956302
 

Friends

class ScGammaDistFunction
 
class ScBetaDistFunction
 
class ScTDistFunction
 
class ScFDistFunction
 
class ScChiDistFunction
 
class ScChiSqDistFunction
 

Detailed Description

Definition at line 136 of file interpre.hxx.

Member Enumeration Documentation

Enumerator
VOLATILE 
VOLATILE_MACRO 
NOT_VOLATILE 

Definition at line 176 of file interpre.hxx.

Constructor & Destructor Documentation

ScInterpreter::ScInterpreter ( ScFormulaCell pCell,
ScDocument rDoc,
ScInterpreterContext rContext,
const ScAddress rPos,
ScTokenArray r,
bool  bForGroupThreading = false 
)

Definition at line 3769 of file interpr4.cxx.

ScInterpreter::~ScInterpreter ( )

Definition at line 3824 of file interpr4.cxx.

Member Function Documentation

void ScInterpreter::AssertFormulaMatrix ( )

Definition at line 4743 of file interpr4.cxx.

Referenced by ScSimpleFormulaCalculator::Calculate().

double ScInterpreter::BinomKoeff ( double  n,
double  k 
)
staticprivate

Definition at line 461 of file interpr3.cxx.

void ScInterpreter::CalculateAddSub ( bool  _bSub)
private

Definition at line 1278 of file interpr5.cxx.

References lcl_GetDiffDateTimeFmtType(), and formula::svMatrix.

void ScInterpreter::CalculateLookup ( bool  bHLookup)
private
void ScInterpreter::CalculateMatrixValue ( const ScMatrix pMat,
SCSIZE  nC,
SCSIZE  nR 
)
private
void ScInterpreter::CalculatePearsonCovar ( bool  _bPearson,
bool  _bStexy,
bool  _bSample 
)
private

Definition at line 4523 of file interpr3.cxx.

References KahanSum::get(), and i.

void ScInterpreter::CalculateRGPRKP ( bool  _bRKP)
private

Definition at line 2388 of file interpr5.cxx.

References i, and N.

bool ScInterpreter::CalculateSkew ( KahanSum fSum,
double &  fCount,
std::vector< double > &  values 
)
private
void ScInterpreter::CalculateSkewOrSkewp ( bool  bSkewp)
private

Definition at line 3317 of file interpr3.cxx.

References KahanSum::get(), v, and values.

void ScInterpreter::CalculateSlopeIntercept ( bool  bSlope)
private

Definition at line 4637 of file interpr3.cxx.

References KahanSum::get(), and i.

void ScInterpreter::CalculateSmallLarge ( bool  bSmall)
private

Definition at line 3631 of file interpr3.cxx.

References o3tl::convertsToAtMost(), CreateDoubleError(), f, i, and n.

void ScInterpreter::CalculateSumX2MY2SumX2DY2 ( bool  _bSumX2DY2)
private

Definition at line 1782 of file interpr5.cxx.

References KahanSum::get(), and i.

bool ScInterpreter::CalculateTest ( bool  _bTemplin,
const SCSIZE  nC1,
const SCSIZE  nC2,
const SCSIZE  nR1,
const SCSIZE  nR2,
const ScMatrixRef pMat1,
const ScMatrixRef pMat2,
double &  fT,
double &  fF 
)
private

Definition at line 2581 of file interpr3.cxx.

References KahanSum::get(), and i.

void ScInterpreter::CalculateTrendGrowth ( bool  _bGrowth)
private

Definition at line 2912 of file interpr5.cxx.

References i, and N.

bool ScInterpreter::CheckMatrix ( bool  _bLOG,
sal_uInt8 nCase,
SCSIZE nCX,
SCSIZE nCY,
SCSIZE nRX,
SCSIZE nRY,
SCSIZE M,
SCSIZE N,
ScMatrixRef pMatX,
ScMatrixRef pMatY 
)
private

Definition at line 2271 of file interpr5.cxx.

References i, and log.

bool ScInterpreter::CheckStringPositionArgument ( double &  fVal)
inlinestaticprivate

Check if a double is suitable as string position or length argument.

If fVal is Inf or NaN it is changed to -1, if it is less than 0 it is sanitized to 0, if it is greater than some implementation defined max string length it is sanitized to that max.

Returns
TRUE if double value fVal is suitable as string argument and was not sanitized. FALSE if not and fVal was adapted.

Definition at line 1085 of file interpre.hxx.

References SAL_MAX_INT32.

Referenced by GetStringPositionArgument(), and ScRegex().

bool ScInterpreter::CheckStringResultLen ( OUString &  rResult,
const OUString &  rAdd 
)
inlineprivate

Definition at line 1116 of file interpre.hxx.

References kScInterpreterMaxStrLen, and SetError().

Referenced by ScConcat(), ScConcat_MS(), ScReplace(), ScSubstitute(), and ScTextJoin_MS().

bool ScInterpreter::CheckStringResultLen ( OUStringBuffer &  rResult,
const OUString &  rAdd 
)
inlineprivate

Definition at line 1127 of file interpre.hxx.

References kScInterpreterMaxStrLen, and SetError().

double ScInterpreter::Compare ( ScQueryOp  eOp)
private
sc::RangeMatrix ScInterpreter::CompareMat ( ScQueryOp  eOp,
sc::CompareOptions pOptions = nullptr 
)
private
void ScInterpreter::ConvertMatrixJumpConditionToMatrix ( )
private

Definition at line 1413 of file interpr4.cxx.

Referenced by MatrixJumpConditionToMatrix().

bool ScInterpreter::ConvertMatrixParameters ( )
private

Definition at line 1432 of file interpr4.cxx.

Referenced by MatrixParameterConversion().

double ScInterpreter::ConvertStringToValue ( const OUString &  rStr)
private

Definition at line 161 of file interpr4.cxx.

References ScGlobal::ConvertStringToValue(), and SetError().

Referenced by lcl_MatrixCalculation().

double ScInterpreter::ConvertStringToValue ( const OUString &  rStr,
FormulaError rError,
SvNumFormatType rCurFmtType 
)

For matrix back calls into the current interpreter.

Uses rError instead of nGlobalError and rCurFmtType instead of nCurFmtType.

Definition at line 171 of file interpr4.cxx.

References ScGlobal::ConvertStringToValue().

bool ScInterpreter::CreateCellArr ( SCCOL  nCol1,
SCROW  nRow1,
SCTAB  nTab1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab2,
sal_uInt8 pCellArr 
)
private

Definition at line 457 of file interpr4.cxx.

bool ScInterpreter::CreateDoubleArr ( SCCOL  nCol1,
SCROW  nRow1,
SCTAB  nTab1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab2,
sal_uInt8 pCellArr 
)
private

Definition at line 278 of file interpr4.cxx.

References SAL_MAX_UINT16.

formula::FormulaToken * ScInterpreter::CreateDoubleOrTypedToken ( double  fVal)
private

Definition at line 1755 of file interpr4.cxx.

formula::FormulaToken * ScInterpreter::CreateFormulaDoubleToken ( double  fVal,
SvNumFormatType  nFmt = SvNumFormatType::NUMBER 
)
private

Definition at line 1730 of file interpr4.cxx.

ScMatrixRef ScInterpreter::CreateMatrixFromDoubleRef ( const formula::FormulaToken pToken,
SCCOL  nCol1,
SCROW  nRow1,
SCTAB  nTab1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab2 
)
private
bool ScInterpreter::CreateStringArr ( SCCOL  nCol1,
SCROW  nRow1,
SCTAB  nTab1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab2,
sal_uInt8 pCellArr 
)
private

Definition at line 360 of file interpr4.cxx.

void ScInterpreter::CurFmtToFuncFmt ( )
inlineprivate

Definition at line 461 of file interpre.hxx.

References nCurFmtIndex, and nCurFmtType.

Referenced by ScMax(), and ScMin().

void ScInterpreter::DBIterator ( ScIterFunc  eFunc)
private
utl::SearchParam::SearchType ScInterpreter::DetectSearchType ( const OUString &  rStr,
const ScDocument rDoc 
)
static
double ScInterpreter::div ( const double &  fNumerator,
const double &  fDenominator 
)
inlinestatic

Fail safe division, returning a FormulaError::DivisionByZero coded into a double if denominator is 0.0.

Definition at line 1151 of file interpre.hxx.

References sc::div().

Referenced by DBIterator(), and IterateParametersIf().

sal_Int32 ScInterpreter::double_to_int32 ( double  fVal)
private

Definition at line 2151 of file interpr4.cxx.

bool ScInterpreter::DoubleRefToPosSingleRef ( const ScRange rRange,
ScAddress rAdr 
)
private

Definition at line 1981 of file interpr4.cxx.

Referenced by GetErrorType().

void ScInterpreter::DoubleRefToRange ( const ScComplexRefData rCRef,
ScRange rRange,
bool  bDontCheckForTableOp = false 
)
private

Definition at line 1024 of file interpr4.cxx.

Referenced by GetErrorType(), IterateParametersIfs(), and ScIndex().

void ScInterpreter::DoubleRefToVars ( const formula::FormulaToken p,
SCCOL rCol1,
SCROW rRow1,
SCTAB rTab1,
SCCOL rCol2,
SCROW rRow2,
SCTAB rTab2 
)
private

Definition at line 939 of file interpr4.cxx.

double ScInterpreter::Fakultaet ( double  x)
private

Definition at line 440 of file interpr3.cxx.

References SetError().

bool ScInterpreter::FillEntry ( ScQueryEntry rEntry)
private
double ScInterpreter::gauss ( double  x)
staticprivate

Definition at line 216 of file interpr3.cxx.

References phi, and taylor.

double ScInterpreter::gaussinv ( double  x)
static

Definition at line 269 of file interpr3.cxx.

References log, t, and z.

double ScInterpreter::GetBeta ( double  fAlpha,
double  fBeta 
)
private

Definition at line 801 of file interpr3.cxx.

References lcl_getLanczosSum().

double ScInterpreter::GetBetaDist ( double  x,
double  alpha,
double  beta 
)
private

Definition at line 986 of file interpr3.cxx.

References GetBetaDistPDF, GetLogBeta, lcl_GetBetaHelperContFrac(), and log.

Referenced by ScBetaDistFunction::GetValue().

double ScInterpreter::GetBetaDistPDF ( double  fX,
double  fA,
double  fB 
)
private

Definition at line 863 of file interpr3.cxx.

References GetBeta, GetLogBeta, log, and SetError().

double ScInterpreter::GetBinomDistPMF ( double  x,
double  n,
double  p 
)
private

Definition at line 1233 of file interpr3.cxx.

References GetBetaDistPDF, i, and max.

bool ScInterpreter::GetBool ( )
inlineprivate

Definition at line 441 of file interpre.hxx.

References GetDouble().

Referenced by CalculateLookup(), ScFixed(), and ScIfs_MS().

sal_uInt8 ScInterpreter::GetByte ( ) const
inlineprivate
FormulaError ScInterpreter::GetCellErrCode ( const ScRefCellValue rCell)
staticprivate
sal_uInt32 ScInterpreter::GetCellNumberFormat ( const ScAddress rPos,
ScRefCellValue rCell 
)
private
void ScInterpreter::GetCellString ( svl::SharedString rStr,
ScRefCellValue rCell 
)
private
double ScInterpreter::GetCellValue ( const ScAddress rPos,
ScRefCellValue rCell 
)
private
double ScInterpreter::GetCellValueOrZero ( const ScAddress rPos,
ScRefCellValue rCell 
)
private
double ScInterpreter::GetChiDist ( double  fChi,
double  fDF 
)
private

You must ensure fDF>0.0.

Definition at line 670 of file interpr3.cxx.

References GetUpRegIGamma.

Referenced by ScChiDistFunction::GetValue().

double ScInterpreter::GetChiSqDistCDF ( double  fX,
double  fDF 
)
private

You must ensure fDF>0.0.

Definition at line 682 of file interpr3.cxx.

References GetLowRegIGamma.

Referenced by ScChiSqDistFunction::GetValue().

double ScInterpreter::GetChiSqDistPDF ( double  fX,
double  fDF 
)
staticprivate

Definition at line 690 of file interpr3.cxx.

References F_PI, GetLogGamma, and log.

double ScInterpreter::GetDateSerial ( sal_Int16  nYear,
sal_Int16  nMonth,
sal_Int16  nDay,
bool  bStrict 
)
private

Obtain the date serial number for a given date.

Parameters
bStrictIf false, nYear < 100 takes the two-digit year setting into account, and rollover of invalid calendar dates takes place, e.g. 1999-02-31 => 1999-03-03. If true, the date passed must be a valid Gregorian calendar date. No two-digit expanding or rollover is done.

Date must be Gregorian, i.e. >= 1582-10-15.

Definition at line 59 of file interpr2.cxx.

References Date::AddDays(), Date::IsValidAndGregorian(), and SetError().

sal_Int16 ScInterpreter::GetDayOfWeek ( sal_Int32  n)
inlinestaticprivate

Definition at line 1156 of file interpre.hxx.

std::unique_ptr< ScDBQueryParamBase > ScInterpreter::GetDBParams ( bool &  rMissingField)
private
void ScInterpreter::GetDBStVarParams ( double &  rVal,
double &  rValCount 
)
private
double ScInterpreter::GetDouble ( )
private
double ScInterpreter::GetDoubleFromMatrix ( const ScMatrixRef pMat)
private

Definition at line 2020 of file interpr4.cxx.

bool ScInterpreter::GetDoubleOrString ( double &  rValue,
svl::SharedString rString 
)
private

returns TRUE if double (or error, check nGlobalError), else FALSE

Definition at line 2238 of file interpr4.cxx.

Referenced by ScRegex().

ScMatValType ScInterpreter::GetDoubleOrStringFromMatrix ( double &  rDouble,
svl::SharedString rString 
)
private
double ScInterpreter::GetDoubleWithDefault ( double  nDefault)
private

Definition at line 2142 of file interpr4.cxx.

Referenced by ScAddressFunc(), ScFixed(), and ScForecast_Ets().

FormulaError ScInterpreter::GetError ( ) const
inline

Definition at line 1022 of file interpre.hxx.

References nGlobalError.

Referenced by ScFormulaCell::InterpretTail().

FormulaError ScInterpreter::GetErrorType ( )
private
void ScInterpreter::GetExternalDoubleRef ( sal_uInt16  nFileId,
const OUString &  rTabName,
const ScComplexRefData aData,
ScExternalRefCache::TokenArrayRef rArray 
)
private

Definition at line 1259 of file interpr4.cxx.

double ScInterpreter::GetFDist ( double  x,
double  fF1,
double  fF2 
)
private

Definition at line 641 of file interpr3.cxx.

References GetBetaDist.

Referenced by ScFDistFunction::GetValue().

double ScInterpreter::GetGamma ( double  x)
private

You must ensure non integer arguments for fZ<1.

Definition at line 586 of file interpr3.cxx.

References F_PI, lcl_GetGammaHelper(), lcl_GetLogGammaHelper(), log, and SetError().

double ScInterpreter::GetGammaContFraction ( double  fA,
double  fX 
)
private

You must ensure fA>0.0 && fX>0.0 valid results only if fX > fA+1.0 uses continued fraction with odd items.

Definition at line 44 of file interpr6.cxx.

References fHalfMachEps, and SetError().

double ScInterpreter::GetGammaDist ( double  fX,
double  fAlpha,
double  fLambda 
)
private

Gamma distribution, cumulative distribution function.

fLambda is "scale" parameter You must ensure fAlpha>0.0 and fLambda>0.0

Definition at line 198 of file interpr6.cxx.

References GetLowRegIGamma.

Referenced by ScGammaDistFunction::GetValue().

double ScInterpreter::GetGammaDistPDF ( double  fX,
double  fAlpha,
double  fLambda 
)
private

Gamma distribution, probability density function.

fLambda is "scale" parameter You must ensure fAlpha>0.0 and fLambda>0.0

Definition at line 144 of file interpr6.cxx.

References GetLogGamma, log, and SetError().

double ScInterpreter::GetGammaSeries ( double  fA,
double  fX 
)
private

You must ensure fA>0.0 && fX>0.0 valid results only if fX <= fA+1.0 uses power series.

Definition at line 96 of file interpr6.cxx.

References fHalfMachEps, nCount, and SetError().

const ScCalcConfig & ScInterpreter::GetGlobalConfig ( )
static
double ScInterpreter::GetHypGeomDist ( double  x,
double  n,
double  M,
double  N 
)
private

Calculates a value of the hypergeometric distribution.

The algorithm is designed to avoid unnecessary multiplications and division by expanding all factorial elements (9 of them). It is done by excluding those ranges that overlap in the numerator and the denominator. This allows for a fast calculation for large values which would otherwise cause an overflow in the intermediate values.

See also
#i47296#

Definition at line 1896 of file interpr3.cxx.

References lcl_PutFactorialElements().

sal_Int16 ScInterpreter::GetInt16 ( )
private

if GetDouble() not within int16 limits sets nGlobalError and returns SAL_MAX_INT16

Definition at line 2193 of file interpr4.cxx.

Referenced by ScAddressFunc(), ScChooseJump(), and ScIndex().

sal_Int32 ScInterpreter::GetInt32 ( )
private

if GetDouble() not within int32 limits sets nGlobalError and returns SAL_MAX_INT32

Definition at line 2179 of file interpr4.cxx.

Referenced by ScAddressFunc(), ScAggregate(), ScIndex(), ScOffset(), and ScSubTotal().

sal_Int32 ScInterpreter::GetInt32WithDefault ( sal_Int32  nDefault)
private

if GetDoubleWithDefault() not within int32 limits sets nGlobalError and returns SAL_MAX_INT32

Definition at line 2184 of file interpr4.cxx.

Referenced by ScAddressFunc().

double ScInterpreter::GetLogBeta ( double  fAlpha,
double  fBeta 
)
staticprivate

Definition at line 834 of file interpr3.cxx.

References lcl_getLanczosSum(), and log.

double ScInterpreter::GetLogGamma ( double  x)
staticprivate

You must ensure fZ>0.

Definition at line 630 of file interpr3.cxx.

References lcl_GetGammaHelper(), lcl_GetLogGammaHelper(), and log.

double ScInterpreter::GetLowRegIGamma ( double  fA,
double  fX 
)
private

You must ensure fA>0.0 && fX>0.0)

Definition at line 119 of file interpr6.cxx.

References GetGammaContFraction, GetGammaSeries, GetLogGamma, and log.

ScMatrixRef ScInterpreter::GetMatrix ( )
private
ScMatrixRef ScInterpreter::GetMatrix ( short &  rParam,
size_t &  rInRefList 
)
private
double ScInterpreter::GetMedian ( ::std::vector< double > &  rArray)
private

Definition at line 3367 of file interpr3.cxx.

References SetError().

ScMatrixRef ScInterpreter::GetNewMat ( SCSIZE  nC,
SCSIZE  nR,
bool  bEmpty = false 
)
ScMatrixRef ScInterpreter::GetNewMat ( SCSIZE  nC,
SCSIZE  nR,
const std::vector< double > &  rValues 
)

Definition at line 308 of file interpr5.cxx.

void ScInterpreter::GetNumberSequenceArray ( sal_uInt8  nParamCount,
::std::vector< double > &  rArray,
bool  bConvertTextInArray 
)
private
double ScInterpreter::GetNumResult ( ) const
inline

Definition at line 1025 of file interpre.hxx.

Referenced by ScFormulaCell::InterpretTail().

ScCalcConfig & ScInterpreter::GetOrCreateGlobalConfig ( )
staticprivate

Definition at line 3856 of file interpr4.cxx.

double ScInterpreter::GetPercentile ( ::std::vector< double > &  rArray,
double  fPercentile 
)
static

Definition at line 3401 of file interpr3.cxx.

References nIndex.

double ScInterpreter::GetPercentileExclusive ( ::std::vector< double > &  rArray,
double  fPercentile 
)
private

Definition at line 3425 of file interpr3.cxx.

References nIndex, and SetError().

double ScInterpreter::GetPercentrank ( ::std::vector< double > &  rArray,
double  fVal,
bool  bInclusive 
)
staticprivate

Definition at line 3759 of file interpr3.cxx.

References sc::div(), and i.

sc::RangeMatrix ScInterpreter::GetRangeMatrix ( )
private

Definition at line 614 of file interpr5.cxx.

References sc::RangeMatrix::mpMat, and formula::svMatrix.

Referenced by CompareMat().

StackVar ScInterpreter::GetRawStackType ( )
private

Raw stack type without default replacements.

Definition at line 1927 of file interpr4.cxx.

Referenced by Compare(), CompareMat(), IsString(), ScIsEmpty(), ScIsValue(), and ScValue().

size_t ScInterpreter::GetRefListArrayMaxSize ( short  nParamCount)
private

Check for array of references to determine the maximum size of a return column vector if in array context.

Definition at line 421 of file interpr6.cxx.

References ScRefListToken::GetRefList(), i, ScRefListToken::IsArrayResult(), p, and formula::svRefList.

Referenced by GetStVarParams(), IterateParametersIf(), IterateParametersIfs(), ScCountEmptyCells(), ScCountIf(), ScMax(), and ScMin().

const formula::FormulaConstTokenRef& ScInterpreter::GetResultToken ( ) const
inline

Definition at line 1026 of file interpre.hxx.

References xResult.

Referenced by ScFormulaCell::InterpretTail().

formula::StackVar ScInterpreter::GetResultType ( ) const
inline

Definition at line 1023 of file interpre.hxx.

Referenced by ScFormulaCell::InterpretTail().

sal_uLong ScInterpreter::GetRetFormatIndex ( ) const
inline

Definition at line 1028 of file interpre.hxx.

References nRetFmtIndex.

Referenced by ScFormulaCell::InterpretTail().

SvNumFormatType ScInterpreter::GetRetFormatType ( ) const
inline

Definition at line 1027 of file interpre.hxx.

References nRetFmtType.

Referenced by ScFormulaCell::InterpretTail().

void ScInterpreter::GetSortArray ( sal_uInt8  nParamCount,
::std::vector< double > &  rSortArray,
::std::vector< tools::Long > *  pIndexOrder,
bool  bConvertTextInArray,
bool  bAllowEmptyArray 
)
private

Definition at line 4113 of file interpr3.cxx.

References MAX_COUNT_DOUBLE_FOR_SORT(), and SetError().

StackVar ScInterpreter::GetStackType ( )
private
StackVar ScInterpreter::GetStackType ( sal_uInt8  nParam)
private

Definition at line 1959 of file interpr4.cxx.

svl::SharedString ScInterpreter::GetString ( )
private
svl::SharedString ScInterpreter::GetStringFromDouble ( const double  fVal)
private

Definition at line 2460 of file interpr4.cxx.

svl::SharedString ScInterpreter::GetStringFromMatrix ( const ScMatrixRef pMat)
private

Definition at line 2377 of file interpr4.cxx.

sal_Int32 ScInterpreter::GetStringPositionArgument ( )
inlineprivate

Obtain a sal_Int32 suitable as string position or length argument.

Returns -1 if the number is Inf or NaN or less than 0 or greater than some implementation defined max string length. In these cases also sets nGlobalError to FormulaError::IllegalArgument, if not already set.

Definition at line 1105 of file interpre.hxx.

References CheckStringPositionArgument(), GetDouble(), and SetError().

Referenced by ScFindB(), ScLeft(), ScLeftB(), ScMid(), ScMidB(), ScReplace(), ScReplaceB(), ScRept(), ScRight(), ScRightB(), ScSearch(), ScSearchB(), and ScSubstitute().

const svl::SharedString & ScInterpreter::GetStringResult ( ) const

Definition at line 4748 of file interpr4.cxx.

Referenced by ScFormulaCell::InterpretTail().

void ScInterpreter::GetStVarParams ( bool  bTextAsZero,
double(*)(double fVal, size_t nValCount)  VarResult 
)
private
double ScInterpreter::GetTDist ( double  T,
double  fDF,
int  nType 
)
private

Definition at line 649 of file interpr3.cxx.

References GetBeta, GetBetaDist, R, SetError(), and X.

Referenced by ScTDistFunction::GetValue().

double ScInterpreter::GetTInv ( double  fAlpha,
double  fSize,
int  nType 
)
private

Definition at line 2289 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

ScTokenMatrixMap & ScInterpreter::GetTokenMatrixMap ( )
inlineprivate

Definition at line 1050 of file interpre.hxx.

References maTokenMatrixMap.

Referenced by ScChooseJump(), and ScIfError().

std::vector< double > ScInterpreter::GetTopNumberArray ( SCSIZE rCol,
SCSIZE rRow 
)
private
sal_uInt32 ScInterpreter::GetUInt32 ( )
private

if GetDouble() not within uint32 limits sets nGlobalError and returns SAL_MAX_UINT32

Definition at line 2222 of file interpr4.cxx.

Referenced by ScIndex(), and ScUnichar().

double ScInterpreter::GetUpRegIGamma ( double  fA,
double  fX 
)
private

You must ensure fA>0.0 && fX>0.0)

Definition at line 130 of file interpr6.cxx.

References GetGammaContFraction, GetGammaSeries, GetLogGamma, and log.

double ScInterpreter::GetValueCellValue ( const ScAddress rPos,
double  fOrig 
)
private

Only ValueCell, formula cells already store the result rounded.

Definition at line 146 of file interpr4.cxx.

References mrContext.

VolatileType ScInterpreter::GetVolatileType ( ) const
inline
FormulaError ScInterpreter::GetWeekendAndHolidayMasks ( const sal_uInt8  nParamCount,
const sal_uInt32  nNullDate,
::std::vector< double > &  rSortArray,
bool  bWeekendMask[7] 
)
private

Definition at line 342 of file interpr2.cxx.

References i, SATURDAY, and SUNDAY.

FormulaError ScInterpreter::GetWeekendAndHolidayMasks_MS ( const sal_uInt8  nParamCount,
const sal_uInt32  nNullDate,
::std::vector< double > &  rSortArray,
bool  bWeekendMask[7],
bool  bWorkdayFunction 
)
private
void ScInterpreter::GlobalExit ( )
static

Definition at line 3879 of file interpr4.cxx.

Referenced by ScGlobal::Clear().

bool ScInterpreter::IfErrorPushError ( )
inlineprivate

If nGlobalError is set push formula::FormulaErrorToken.

If nGlobalError is not set do nothing. Used in PushTempToken() and alike to simplify handling.

Returns
: <TRUE> if nGlobalError.

Definition at line 302 of file interpre.hxx.

References PushTempTokenWithoutError().

void ScInterpreter::Init ( ScFormulaCell pCell,
const ScAddress rPos,
ScTokenArray rTokArray 
)
double ScInterpreter::integralPhi ( double  x)
static

Definition at line 201 of file interpr3.cxx.

StackVar ScInterpreter::Interpret ( )
bool ScInterpreter::IsEven ( )
private
bool ScInterpreter::IsInArrayContext ( ) const
inlineprivate
bool ScInterpreter::IsMissing ( ) const
private

Definition at line 1922 of file interpr4.cxx.

Referenced by ScOffset(), and ScRegex().

bool ScInterpreter::IsString ( )
private
bool ScInterpreter::IsTableOpInRange ( const ScRange rRange)
private
void ScInterpreter::IterateParameters ( ScIterFunc  eFunc,
bool  bTextAsZero = false 
)
private
void ScInterpreter::IterateParametersIf ( ScIterFuncIf  eFunc)
private

Definition at line 5185 of file interpr1.cxx.

References ScQueryEntry::bDoQuery, ScQueryEntry::ByString, ScQueryEntry::ByValue, CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_STRING, CELLTYPE_VALUE, DetectSearchType(), div(), ScQueryEntry::eOp, ScQueryParamBase::eSearchType, ScQueryParamBase::FillInExcelSyntax(), KahanSum::get(), GetByte(), GetCellString(), GetCellValue(), ScQueryCellIterator::GetCol(), GetDouble(), GetDoubleOrStringFromMatrix(), ScQueryParamBase::GetEntry(), ScQueryCellIterator::GetFirst(), GetMatrix(), GetNewMat(), ScQueryCellIterator::GetNext(), ScQueryEntry::GetQueryItem(), GetRefListArrayMaxSize(), ScQueryCellIterator::GetRow(), ScDocument::GetSharedStringPool(), GetStackType(), svl::SharedString::getString(), GetString(), ScRange::GetVars(), ScRefCellValue::hasNumeric(), ifAVERAGEIF, ifSUMIF, ScMatrix::IsRealStringType(), ScFormulaCell::IsValue(), ScQueryEntry::Item::maString, ScDocument::MaxCol(), ScDocument::MaxRow(), ScQueryEntry::Item::meType, ScRefCellValue::meType, ScQueryEntry::Item::mfVal, ScRefCellValue::mpFormula, mrContext, mrDoc, MustHaveParamCount(), ScQueryParamTable::nCol1, ScQueryParamTable::nCol2, ScQueryEntry::nField, nGlobalError, ScQueryParamTable::nRow1, ScQueryParamTable::nRow2, nType, pFormatter, PopDoubleRef(), PopDoubleRefOrSingleRef(), PopExternalDoubleRef(), PopExternalSingleRef(), PopMatrix(), PopSingleRef(), PushDouble(), PushError(), PushMatrix(), QueryMat(), SC_EQUAL, ScQueryCellIterator::SetAdvanceQueryParamEntryField(), ScAddress::SetCol(), SetError(), ScAddress::SetRow(), ScAddress::SetTab(), svDouble, svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, svRefList, svSingleRef, and svString.

Referenced by ScAverageIf(), and ScSumIf().

void ScInterpreter::IterateParametersIfs ( double(*)(const sc::ParamIfsResult &rRes)  ResultFunc)
private

Definition at line 5797 of file interpr1.cxx.

References ScRange::aEnd, ScRange::aStart, ScQueryEntry::bDoQuery, ScQueryEntry::ByString, ScQueryEntry::ByValue, CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_STRING, CELLTYPE_VALUE, ScAddress::Col(), DetectSearchType(), DoubleRefToRange(), ScQueryEntry::eOp, ScQueryParamBase::eSearchType, ScQueryParamBase::FillInExcelSyntax(), GetByte(), GetCellString(), GetCellValue(), ScQueryCellIterator::GetCol(), ScDocument::GetDataAreaSubrange(), GetDouble(), GetDoubleErrorValue(), GetDoubleOrStringFromMatrix(), formula::FormulaToken::GetDoubleRef(), ScQueryParamBase::GetEntry(), ScQueryCellIterator::GetFirst(), GetMatrix(), GetNewMat(), ScQueryCellIterator::GetNext(), ScQueryEntry::GetQueryItem(), GetRefListArrayMaxSize(), ScQueryCellIterator::GetRow(), ScDocument::GetSharedStringPool(), GetStackType(), svl::SharedString::getString(), GetString(), formula::FormulaToken::GetType(), ScRange::GetVars(), ScRefCellValue::hasNumeric(), ScRefListToken::IsArrayResult(), ScComplexRefData::IsDeleted(), ScMatrix::IsRealStringType(), ScFormulaCell::IsValue(), ScInterpreterContext::maConditions, ScQueryEntry::Item::maString, ScQueryEntry::Item::meType, ScRefCellValue::meType, sc::ParamIfsResult::mfCount, sc::ParamIfsResult::mfMax, sc::ParamIfsResult::mfMin, sc::ParamIfsResult::mfSum, ScQueryEntry::Item::mfVal, ScRefCellValue::mpFormula, mrContext, mrDoc, n, ScQueryParamTable::nCol1, ScQueryParamTable::nCol2, ScQueryEntry::nField, nGlobalError, ScQueryParamTable::nRow1, ScQueryParamTable::nRow2, nType, p, pFormatter, PopDoubleRef(), PopDoubleRefOrSingleRef(), PopError(), PopExternalSingleRef(), PopSingleRef(), pStack, PushDouble(), PushError(), PushMatrix(), QueryMat(), ScAddress::Row(), SC_EQUAL, ScQueryCellIterator::SetAdvanceQueryParamEntryField(), ScAddress::SetCol(), ScAddress::SetRow(), ScAddress::SetTab(), sp, svDouble, svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, svRefList, svSingleRef, svString, swap(), and ScAddress::Tab().

Referenced by ScAverageIfs(), ScCountIfs(), ScMaxIfs_MS(), ScMinIfs_MS(), and ScSumIfs().

bool ScInterpreter::JumpMatrix ( short  nStackLevel)
private

Definition at line 537 of file interpr1.cxx.

References aCode, ScRange::aEnd, ScRange::aStart, aStr, ScAddress::Col(), CreateDoubleError(), GetCellString(), GetCellValue(), GetDouble(), GetDoubleErrorValue(), formula::FormulaToken::GetInForceArray(), ScJumpMatrix::GetJump(), formula::FormulaToken::GetJumpMatrix(), ScJumpMatrix::GetJumpParameters(), GetMatrix(), ScJumpMatrix::GetOpCode(), ScParameterClassification::GetParameterType(), ScJumpMatrix::GetPos(), ScJumpMatrix::GetRefList(), ScJumpMatrix::GetResultMatrix(), GetStackType(), GetString(), ScRefCellValue::hasEmptyValue(), ScRefCellValue::hasNumeric(), ScJumpMatrix::HasResultMatrix(), formula::FormulaTokenIterator::HasStacked(), i, formula::FormulaTokenIterator::Jump(), lcl_AdjustJumpMatrix(), lcl_storeJumpMatResult(), o3tl::make_unsigned(), maTokenMatrixMap, mrDoc, ScJumpMatrix::Next(), nGlobalError, pCur, formula::FormulaTokenIterator::PeekNextOperator(), pJumpMatrix, formula::FormulaTokenIterator::Pop(), Pop(), PopDoubleRef(), PopError(), PopExternalSingleRef(), PopSingleRef(), pStack, PushMatrix(), PushTokenRef(), PushWithoutError(), ScJumpMatrix::PutResultDouble(), ScJumpMatrix::PutResultEmpty(), ScJumpMatrix::PutResultEmptyPath(), ScJumpMatrix::PutResultString(), ScComplexRefData::Ref1, ScComplexRefData::Ref2, ScAddress::Row(), SAL_MAX_UINT16, ScAddress::SetCol(), SetError(), ScAddress::SetRow(), sp, svDouble, svDoubleRef, svEmptyCell, svError, svExternalDoubleRef, svExternalSingleRef, svMatrix, svSingleRef, and svString.

bool ScInterpreter::LookupQueryWithCache ( ScAddress o_rResultPos,
const ScQueryParam rParam 
) const
private
void ScInterpreter::MakeMatNew ( ScMatrixRef rMat,
SCSIZE  nC,
SCSIZE  nR 
)
private

Definition at line 282 of file interpr5.cxx.

References SetError().

ScMatrixRef ScInterpreter::MatConcat ( const ScMatrixRef pMat1,
const ScMatrixRef pMat2 
)
private

Definition at line 1229 of file interpr5.cxx.

References lcl_GetMinExtent().

void ScInterpreter::MatrixJumpConditionToMatrix ( )
inlineprivate

Definition at line 1036 of file interpre.hxx.

References ConvertMatrixJumpConditionToMatrix(), and IsInArrayContext().

Referenced by ScChooseJump(), and ScIfError().

bool ScInterpreter::MatrixParameterConversion ( )
inlineprivate
bool ScInterpreter::MayBeRegExp ( const OUString &  rStr)
static

Could string be a regular expression? if regularExpressions are disabled the function returns false regardless of the string content.

Definition at line 9903 of file interpr1.cxx.

Referenced by DetectSearchType().

bool ScInterpreter::MayBeWildcard ( const OUString &  rStr)
static

Could string be a wildcard (*,?,~) expression? If wildcards are disabled the function returns false regardless of the string content.

Definition at line 9923 of file interpr1.cxx.

Referenced by DetectSearchType().

void ScInterpreter::MEMat ( const ScMatrixRef mM,
SCSIZE  n 
)
staticprivate

Definition at line 752 of file interpr5.cxx.

References i.

void ScInterpreter::MergeCalcConfig ( )
private

Merge global and document specific settings.

Definition at line 3873 of file interpr4.cxx.

bool ScInterpreter::MustHaveParamCount ( short  nAct,
short  nMust 
)
inlineprivate
bool ScInterpreter::MustHaveParamCount ( short  nAct,
short  nMust,
short  nMax 
)
inlineprivate

Definition at line 1066 of file interpre.hxx.

References PushIllegalParameter(), and PushParameterExpected().

bool ScInterpreter::MustHaveParamCountMin ( short  nAct,
short  nMin 
)
inlineprivate
double ScInterpreter::phi ( double  x)
static

Definition at line 196 of file interpr3.cxx.

void ScInterpreter::Pop ( )
private
ScDBRangeBase * ScInterpreter::PopDBDoubleRef ( )
private

Definition at line 960 of file interpr4.cxx.

Referenced by GetDBParams().

double ScInterpreter::PopDouble ( )
private

Definition at line 776 of file interpr4.cxx.

Referenced by IsEven(), ScAnd(), ScOr(), ScText(), and ScXor().

void ScInterpreter::PopDoubleRef ( ScRange rRange,
short &  rParam,
size_t &  rRefInList 
)
private

If formula::StackVar formula::svDoubleRef pop ScDoubleRefToken and return values of ScComplexRefData.

Else if StackVar svRefList return values of the ScComplexRefData where rRefInList is pointing to. rRefInList is incremented. If rRefInList was the last element in list pop ScRefListToken and set rRefInList to 0, else rParam is incremented (!) to allow usage as in while(nParamCount–) PopDoubleRef(aRange,nParamCount,nRefInList);

Definition at line 1042 of file interpr4.cxx.

Referenced by CalculateLookup(), GetDBParams(), GetErrorType(), GetStVarParams(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScAnd(), ScCell(), ScColumn(), ScColumns(), ScConcat_MS(), ScCountEmptyCells(), ScCountIf(), ScFormula(), ScIndex(), ScIsFormula(), ScIsRef(), ScLookup(), ScMatch(), ScMax(), ScMin(), ScOffset(), ScOr(), ScRow(), ScRows(), ScSheet(), ScSheets(), ScTextJoin_MS(), and ScXor().

void ScInterpreter::PopDoubleRef ( ScRange rRange,
bool  bDontCheckForTableOp = false 
)
private

Definition at line 1094 of file interpr4.cxx.

void ScInterpreter::PopDoubleRef ( SCCOL rCol1,
SCROW rRow1,
SCTAB rTab1,
SCCOL rCol2,
SCROW rRow2,
SCTAB rTab2 
)
private

Definition at line 1001 of file interpr4.cxx.

bool ScInterpreter::PopDoubleRefOrSingleRef ( ScAddress rAdr)
private
void ScInterpreter::PopDoubleRefPushMatrix ( )
private

Definition at line 1339 of file interpr4.cxx.

void ScInterpreter::PopError ( )
private
void ScInterpreter::PopExternalDoubleRef ( sal_uInt16 &  rFileId,
OUString &  rTabName,
ScComplexRefData rRef 
)
private
void ScInterpreter::PopExternalDoubleRef ( ScExternalRefCache::TokenArrayRef rArray)
private

Definition at line 1224 of file interpr4.cxx.

void ScInterpreter::PopExternalDoubleRef ( ScMatrixRef rMat)
private

Definition at line 1238 of file interpr4.cxx.

void ScInterpreter::PopExternalSingleRef ( sal_uInt16 &  rFileId,
OUString &  rTabName,
ScSingleRefData rRef 
)
private
void ScInterpreter::PopExternalSingleRef ( ScExternalRefCache::TokenRef rToken,
ScExternalRefCache::CellFormat pFmt = nullptr 
)
private

Guarantees that nGlobalError is set if rToken could not be obtained.

Definition at line 1145 of file interpr4.cxx.

void ScInterpreter::PopExternalSingleRef ( sal_uInt16 &  rFileId,
OUString &  rTabName,
ScSingleRefData rRef,
ScExternalRefCache::TokenRef rToken,
ScExternalRefCache::CellFormat pFmt = nullptr 
)
private

Guarantees that nGlobalError is set if rToken could not be obtained.

Definition at line 1153 of file interpr4.cxx.

ScMatrixRef ScInterpreter::PopMatrix ( )
private
sc::RangeMatrix ScInterpreter::PopRangeMatrix ( )
private

Definition at line 1638 of file interpr4.cxx.

void ScInterpreter::PopRefListPushMatrixOrRef ( )
private

Definition at line 1353 of file interpr4.cxx.

void ScInterpreter::PopSingleRef ( ScAddress rAdr)
private
void ScInterpreter::PopSingleRef ( SCCOL rCol,
SCROW rRow,
SCTAB rTab 
)
private

Definition at line 893 of file interpr4.cxx.

svl::SharedString ScInterpreter::PopString ( )
private

Definition at line 808 of file interpr4.cxx.

Referenced by ScSheet().

FormulaConstTokenRef ScInterpreter::PopToken ( )
private
void ScInterpreter::Push ( const formula::FormulaToken r)
private

Does substitute with formula::FormulaErrorToken in case nGlobalError is set and the token passed is not formula::FormulaErrorToken.

Increments RefCount of the original token if not substituted.

Definition at line 595 of file interpr4.cxx.

void ScInterpreter::PushCellResultToken ( bool  bDisplayEmptyAsString,
const ScAddress rAddress,
SvNumFormatType pRetTypeExpr,
sal_uInt32 *  pRetIndexExpr,
bool  bFinalResult = false 
)
private

Obtain cell result / content from address and push as temp token.

Parameters
bDisplayEmptyAsStringis passed to ScEmptyCell in case of an empty cell result.
pRetTypeExpr
pRetIndexExprObtain number format and type if both, type and index pointer, are not NULL.
bFinalResultIf TRUE, only a standard FormulaDoubleToken is pushed. If FALSE, PushDouble() is used that may push either a FormulaDoubleToken or a FormulaTypedDoubleToken.

Definition at line 682 of file interpr4.cxx.

Referenced by CalculateLookup(), and ScLookup().

void ScInterpreter::PushDouble ( double  nVal)
private
void ScInterpreter::PushDoubleRef ( SCCOL  nCol1,
SCROW  nRow1,
SCTAB  nTab1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab2 
)
private

Definition at line 1810 of file interpr4.cxx.

Referenced by ScIndex(), ScIndirect(), and ScOffset().

void ScInterpreter::PushDoubleRef ( const ScRefAddress rRef1,
const ScRefAddress rRef2 
)
private

Definition at line 1856 of file interpr4.cxx.

void ScInterpreter::PushError ( FormulaError  nError)
private
void ScInterpreter::PushExternalDoubleRef ( sal_uInt16  nFileId,
const OUString &  rTabName,
SCCOL  nCol1,
SCROW  nRow1,
SCTAB  nTab1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab2 
)
private

Definition at line 1833 of file interpr4.cxx.

Referenced by ScIndirect(), and ScOffset().

void ScInterpreter::PushExternalSingleRef ( sal_uInt16  nFileId,
const OUString &  rTabName,
SCCOL  nCol,
SCROW  nRow,
SCTAB  nTab 
)
private

Definition at line 1821 of file interpr4.cxx.

Referenced by ScIndirect(), and ScOffset().

void ScInterpreter::PushIllegalArgument ( )
private
void ScInterpreter::PushIllegalParameter ( )
private
void ScInterpreter::PushInt ( int  nVal)
private
void ScInterpreter::PushMatrix ( const sc::RangeMatrix rMat)
private
void ScInterpreter::PushMatrix ( const ScMatrixRef pMat)
private

Definition at line 1880 of file interpr4.cxx.

void ScInterpreter::PushNA ( )
private
void ScInterpreter::PushNoValue ( )
private
void ScInterpreter::PushParameterExpected ( )
private

Definition at line 1897 of file interpr4.cxx.

Referenced by MustHaveParamCount(), MustHaveParamCountMin(), ScForecast_Ets(), and ScIfs_MS().

void ScInterpreter::PushSingleRef ( SCCOL  nCol,
SCROW  nRow,
SCTAB  nTab 
)
private

Definition at line 1800 of file interpr4.cxx.

Referenced by ScIndex(), ScIndirect(), and ScOffset().

void ScInterpreter::PushSingleRef ( const ScRefAddress rRef)
private

Definition at line 1846 of file interpr4.cxx.

void ScInterpreter::PushString ( const OUString &  rStr)
private
void ScInterpreter::PushString ( const svl::SharedString rString)
private

Definition at line 1794 of file interpr4.cxx.

void ScInterpreter::PushStringBuffer ( const sal_Unicode pString)
private

Definition at line 1778 of file interpr4.cxx.

void ScInterpreter::PushTempToken ( formula::FormulaToken p)
private

Does substitute with formula::FormulaErrorToken in case nGlobalError is set and the token passed is not formula::FormulaErrorToken.

Increments RefCount of the original token if not substituted. ATTENTION! The token had to be allocated with `new' and must not be used after this call if no RefCount was set because possibly it gets immediately deleted in case of a FormulaError::StackOverflow or if substituted with formula::FormulaErrorToken!

Definition at line 613 of file interpr4.cxx.

void ScInterpreter::PushTempTokenWithoutError ( const formula::FormulaToken p)
private

Does not substitute with formula::FormulaErrorToken in case nGlobalError is set.

Used to push tokens from within PushTempToken() or tokens that are already explicit formula::FormulaErrorToken. Increments RefCount. ATTENTION! The token had to be allocated with `new' and must not be used after this call if no RefCount was set because possibly it gets immediately decremented again and thus deleted in case of a FormulaError::StackOverflow!

Definition at line 642 of file interpr4.cxx.

Referenced by IfErrorPushError().

void ScInterpreter::PushTokenRef ( const formula::FormulaConstTokenRef x)
private

Pushes the token or substitutes with formula::FormulaErrorToken in case nGlobalError is set and the token passed is not formula::FormulaErrorToken.

Increments RefCount of the original token if not substituted.

Definition at line 662 of file interpr4.cxx.

Referenced by JumpMatrix(), ScAggregate(), ScChooseJump(), ScIfError(), ScIfs_MS(), ScIndirect(), ScSubTotal(), ScSwitch_MS(), and ScText().

void ScInterpreter::PushWithoutError ( const formula::FormulaToken r)
private

Does not substitute with formula::FormulaErrorToken in case nGlobalError is set.

Used to push RPN tokens or from within Push() or tokens that are already explicit formula::FormulaErrorToken. Increments RefCount.

Definition at line 579 of file interpr4.cxx.

Referenced by JumpMatrix(), ScAggregate(), and ScSubTotal().

ScMatrixRef ScInterpreter::QueryMat ( const ScMatrixRef pMat,
sc::CompareOptions rOptions 
)
private
void ScInterpreter::QueryMatrixType ( const ScMatrixRef xMat,
SvNumFormatType rRetTypeExpr,
sal_uInt32 &  rRetIndexExpr 
)
private

Definition at line 1678 of file interpr4.cxx.

void ScInterpreter::QuickSort ( ::std::vector< double > &  rSortArray,
::std::vector< tools::Long > *  pIndexOrder 
)
staticprivate

Definition at line 4180 of file interpr3.cxx.

References i, lcl_QuickSort(), n, and comphelper::rng::uniform_size_distribution().

bool ScInterpreter::RateIteration ( double  fNper,
double  fPayment,
double  fPv,
double  fFv,
bool  bPayType,
double &  fGuess 
)
staticprivate

Definition at line 1991 of file interpr2.cxx.

References nCount, and SCdEpsilon.

void ScInterpreter::ReplaceCell ( ScAddress rPos)
private
void ScInterpreter::ReverseStack ( sal_uInt8  nParamCount)
private

Definition at line 1973 of file interpr4.cxx.

Referenced by ScConcat_MS(), ScIfs_MS(), ScSwitch_MS(), and ScTextJoin_MS().

void ScInterpreter::RoundNumber ( rtl_math_RoundingMode  eMode)
private

Definition at line 957 of file interpr2.cxx.

void ScInterpreter::RoundSignificant ( double  fX,
double  fDigits,
double &  fRes 
)
staticprivate

Definition at line 1005 of file interpr2.cxx.

void ScInterpreter::ScAbs ( )
private

Definition at line 947 of file interpr2.cxx.

void ScInterpreter::ScAdd ( )
private

Definition at line 1273 of file interpr5.cxx.

void ScInterpreter::ScAddressFunc ( )
private
void ScInterpreter::ScAggregate ( )
private
void ScInterpreter::ScAmpersand ( )
private

Definition at line 1406 of file interpr5.cxx.

References GetString(), i, and formula::svMatrix.

void ScInterpreter::ScAnd ( )
private
void ScInterpreter::ScArabic ( )
private

Definition at line 3067 of file interpr2.cxx.

References GetString(), lcl_GetArabicValue(), and nValue.

void ScInterpreter::ScArcCos ( )
private

Definition at line 1860 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScArcCosHyp ( )
private

Definition at line 1900 of file interpr1.cxx.

References GetDouble(), PushDouble(), and PushIllegalArgument().

void ScInterpreter::ScArcCot ( )
private

Definition at line 1870 of file interpr1.cxx.

References F_PI2, GetDouble(), and PushDouble().

void ScInterpreter::ScArcCotHyp ( )
private

Definition at line 1918 of file interpr1.cxx.

References GetDouble(), log, PushDouble(), and PushIllegalArgument().

void ScInterpreter::ScArcSin ( )
private

Definition at line 1855 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScArcSinHyp ( )
private

Definition at line 1895 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScArcTan ( )
private

Definition at line 1865 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScArcTan2 ( )
private

Definition at line 1232 of file interpr2.cxx.

void ScInterpreter::ScArcTanHyp ( )
private

Definition at line 1909 of file interpr1.cxx.

References GetDouble(), PushDouble(), and PushIllegalArgument().

void ScInterpreter::ScAreas ( )
private
void ScInterpreter::ScAsc ( )
private
void ScInterpreter::ScAveDev ( )
private
void ScInterpreter::ScAverage ( bool  bTextAsZero = false)
private

Definition at line 970 of file interpr6.cxx.

References ifAVERAGE.

Referenced by ScAggregate(), and ScSubTotal().

void ScInterpreter::ScAverageIf ( )
private

Definition at line 5595 of file interpr1.cxx.

References ifAVERAGEIF, and IterateParametersIf().

void ScInterpreter::ScAverageIfs ( )
private

Definition at line 6465 of file interpr1.cxx.

References sc::div(), GetByte(), IterateParametersIfs(), and PushError().

void ScInterpreter::ScB ( )
private

Definition at line 1280 of file interpr3.cxx.

References GetBetaDist, GetBinomDistPMF, lcl_GetBinomDistRange(), n, p, and x.

void ScInterpreter::ScBadName ( )
private

Definition at line 186 of file interpr3.cxx.

void ScInterpreter::ScBahtText ( )
private

Definition at line 3424 of file interpr2.cxx.

References UTF8_TH_0, UTF8_TH_1E6, UTF8_TH_BAHT, UTF8_TH_DOT0, UTF8_TH_MINUS, and UTF8_TH_SATANG.

void ScInterpreter::ScBase ( )
private

Definition at line 2778 of file interpr2.cxx.

References aBuf, o3tl::convertsToAtMost(), log, p, SAL_MAX_UINT16, SAL_N_ELEMENTS, and void().

void ScInterpreter::ScBetaDist ( )
private

Definition at line 1037 of file interpr3.cxx.

References GetBetaDist, GetBetaDistPDF, and x.

void ScInterpreter::ScBetaDist_MS ( )
private

Microsoft version has parameters in different order Also, upper and lowerbound are optional and have default values and different constraints apply.

Basically, function is identical with ScInterpreter::ScBetaDist()

Definition at line 1101 of file interpr3.cxx.

References GetBetaDist, GetBetaDistPDF, and x.

void ScInterpreter::ScBetaInv ( )
private

Definition at line 2213 of file interpr3.cxx.

References lcl_IterateInverse().

void ScInterpreter::ScBinomDist ( )
private

Definition at line 1347 of file interpr3.cxx.

References fMachEps, GetBetaDist, GetBinomDistPMF, i, lcl_GetBinomDistRange(), max, n, p, and x.

void ScInterpreter::ScBitAnd ( )
private
void ScInterpreter::ScBitLshift ( )
private
void ScInterpreter::ScBitOr ( )
private
void ScInterpreter::ScBitRshift ( )
private
void ScInterpreter::ScBitXor ( )
private
void ScInterpreter::ScCeil ( bool  bODFF)
private

tdf69552 ODFF1.2 function CEILING and Excel function CEILING.MATH In essence, the difference between the two is that ODFF-CEILING needs to have arguments value and significance of the same sign and with CEILING.MATH the sign of argument significance is irrevelevant.

This is why ODFF-CEILING is exported to Excel as CEILING.MATH and CEILING.MATH is imported in Calc as CEILING.MATH

Definition at line 1042 of file interpr2.cxx.

void ScInterpreter::ScCeil_MS ( )
private

Definition at line 1082 of file interpr2.cxx.

void ScInterpreter::ScCeil_Precise ( )
private

Definition at line 1100 of file interpr2.cxx.

void ScInterpreter::ScCell ( )
private
void ScInterpreter::ScCellExternal ( )
private
void ScInterpreter::ScChar ( )
private

Definition at line 3474 of file interpr1.cxx.

References aStr, GetDouble(), PushIllegalArgument(), and PushString().

void ScInterpreter::ScChiDist ( bool  bODFF)
private

Definition at line 1742 of file interpr3.cxx.

References GetChiDist.

void ScInterpreter::ScChiInv ( )
private

Definition at line 2369 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScChiSqDist ( )
private

Definition at line 728 of file interpr3.cxx.

References GetChiSqDistCDF, and GetChiSqDistPDF.

void ScInterpreter::ScChiSqDist_MS ( )
private

Definition at line 751 of file interpr3.cxx.

References GetChiSqDistCDF, and GetChiSqDistPDF.

void ScInterpreter::ScChiSqInv ( )
private

Definition at line 2404 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScChiTest ( )
private

Definition at line 2781 of file interpr3.cxx.

References sc::divide(), KahanSum::get(), GetChiDist, and i.

void ScInterpreter::ScChooseJump ( )
private
void ScInterpreter::ScClean ( )
private
void ScInterpreter::ScCode ( )
private
void ScInterpreter::ScColor ( )
private

Definition at line 510 of file interpr7.cxx.

void ScInterpreter::ScColRowNameAuto ( )
private

Definition at line 3671 of file interpr4.cxx.

void ScInterpreter::ScColumn ( )
private
void ScInterpreter::ScColumns ( )
private
void ScInterpreter::ScCombin ( )
private

Definition at line 1174 of file interpr3.cxx.

References n.

void ScInterpreter::ScCombinA ( )
private

Definition at line 1187 of file interpr3.cxx.

References n.

void ScInterpreter::ScConcat ( )
private
void ScInterpreter::ScConcat_MS ( )
private
void ScInterpreter::ScConfidence ( )
private

Definition at line 2424 of file interpr3.cxx.

References gaussinv, and n.

void ScInterpreter::ScConfidenceT ( )
private

Definition at line 2438 of file interpr3.cxx.

References n.

void ScInterpreter::ScConvertOOo ( )
private

Definition at line 2958 of file interpr2.cxx.

References GetString(), ScGlobal::GetUnitConverter(), and GetValue.

void ScInterpreter::ScCorrel ( )
private

Definition at line 4502 of file interpr3.cxx.

void ScInterpreter::ScCos ( )
private

Definition at line 1840 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScCosecant ( )
private

Definition at line 1927 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScCosecantHyp ( )
private

Definition at line 1937 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScCosHyp ( )
private

Definition at line 1880 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScCot ( )
private

Definition at line 1850 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScCotHyp ( )
private

Definition at line 1890 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScCount ( )
private

Definition at line 975 of file interpr6.cxx.

References ifCOUNT.

Referenced by ScAggregate(), and ScSubTotal().

void ScInterpreter::ScCount2 ( )
private

Definition at line 980 of file interpr6.cxx.

References ifCOUNT2.

Referenced by ScAggregate(), and ScSubTotal().

void ScInterpreter::ScCountEmptyCells ( )
private
void ScInterpreter::ScCountIf ( )
private
void ScInterpreter::ScCountIfs ( )
private

Definition at line 6482 of file interpr1.cxx.

References GetByte(), IterateParametersIfs(), and PushError().

void ScInterpreter::ScCovarianceP ( )
private

Definition at line 4508 of file interpr3.cxx.

void ScInterpreter::ScCovarianceS ( )
private

Definition at line 4513 of file interpr3.cxx.

void ScInterpreter::ScCritBinom ( )
private

Definition at line 1411 of file interpr3.cxx.

References GetBetaDistPDF, i, max, n, p, and x.

void ScInterpreter::ScCumIpmt ( )
private

Definition at line 2207 of file interpr2.cxx.

References KahanSum::get(), and i.

void ScInterpreter::ScCumPrinc ( )
private

Definition at line 2248 of file interpr2.cxx.

References KahanSum::get(), and i.

void ScInterpreter::ScCurrency ( )
private
void ScInterpreter::ScCurrent ( )
private

Definition at line 2584 of file interpr2.cxx.

void ScInterpreter::ScDB ( )
private

Definition at line 1701 of file interpr2.cxx.

References i.

void ScInterpreter::ScDBArea ( )
private

Definition at line 3654 of file interpr4.cxx.

void ScInterpreter::ScDBAverage ( )
private

Definition at line 7949 of file interpr1.cxx.

References DBIterator(), and ifAVERAGE.

void ScInterpreter::ScDBCount ( )
private
void ScInterpreter::ScDBCount2 ( )
private
void ScInterpreter::ScDBGet ( )
private

Definition at line 2470 of file interpr4.cxx.

void ScInterpreter::ScDBMax ( )
private

Definition at line 7954 of file interpr1.cxx.

References DBIterator(), and ifMAX.

void ScInterpreter::ScDBMin ( )
private

Definition at line 7959 of file interpr1.cxx.

References DBIterator(), and ifMIN.

void ScInterpreter::ScDBProduct ( )
private

Definition at line 7964 of file interpr1.cxx.

References DBIterator(), and ifPRODUCT.

void ScInterpreter::ScDBStdDev ( )
private

Definition at line 8010 of file interpr1.cxx.

References GetDBStVarParams(), and PushDouble().

void ScInterpreter::ScDBStdDevP ( )
private

Definition at line 8017 of file interpr1.cxx.

References GetDBStVarParams(), and PushDouble().

void ScInterpreter::ScDBSum ( )
private

Definition at line 7856 of file interpr1.cxx.

References DBIterator(), and ifSUM.

void ScInterpreter::ScDBVar ( )
private

Definition at line 8024 of file interpr1.cxx.

References GetDBStVarParams(), and PushDouble().

void ScInterpreter::ScDBVarP ( )
private

Definition at line 8031 of file interpr1.cxx.

References GetDBStVarParams(), and PushDouble().

void ScInterpreter::ScDDB ( )
private

Definition at line 1682 of file interpr2.cxx.

References ScGetDDB.

void ScInterpreter::ScDde ( )
private
void ScInterpreter::ScDebugVar ( )
private
void ScInterpreter::ScDecimal ( )
private

Definition at line 2902 of file interpr2.cxx.

References aStr, GetString(), n, and p.

void ScInterpreter::ScDeg ( )
private

Definition at line 1825 of file interpr1.cxx.

References GetDouble(), PushDouble(), and basegfx::rad2deg().

void ScInterpreter::ScDevSq ( )
private

Definition at line 4428 of file interpr3.cxx.

void ScInterpreter::ScDiv ( )
private

Definition at line 1579 of file interpr5.cxx.

References sc::div(), and formula::svMatrix.

Referenced by ScPercentSign().

void ScInterpreter::ScEasterSunday ( )
private

Definition at line 302 of file interpr2.cxx.

References B, C, D, E, F, G, H, I, M, and N.

void ScInterpreter::ScEffect ( )
private

Definition at line 2287 of file interpr2.cxx.

void ScInterpreter::ScEMat ( )
private

Definition at line 729 of file interpr5.cxx.

References ScMatrix::IsSizeAllocatable().

void ScInterpreter::ScEncodeURL ( )
private

Returns a string in which all non-alphanumeric characters except stroke and underscore (-_) have been replaced with a percent (%) sign followed by hex digits.

It is encoded the same way that the posted data from a WWW form is encoded, that is the same way as in application/x-www-form-urlencoded media type and as per RFC 3986.

See also
fdo#76870

Definition at line 413 of file interpr7.cxx.

References aStr, GetString(), and i.

void ScInterpreter::ScEqual ( )
private
void ScInterpreter::ScErf ( )
private

Definition at line 496 of file interpr7.cxx.

void ScInterpreter::ScErfc ( )
private

Definition at line 503 of file interpr7.cxx.

void ScInterpreter::ScErrorType ( )
private

Definition at line 9833 of file interpr1.cxx.

References GetErrorType(), nGlobalError, PushDouble(), and PushNA().

void ScInterpreter::ScErrorType_ODF ( )
private

Definition at line 9847 of file interpr1.cxx.

References GetErrorType(), nGlobalError, PushDouble(), and PushNA().

void ScInterpreter::ScEuroConvert ( )
private

Definition at line 3253 of file interpr2.cxx.

References GetString(), and lclConvertMoney().

void ScInterpreter::ScEven ( )
private

Definition at line 1205 of file interpr2.cxx.

void ScInterpreter::ScExact ( )
private
void ScInterpreter::ScExp ( )
private

Definition at line 1947 of file interpr1.cxx.

References GetDouble(), and PushDouble().

void ScInterpreter::ScExpDist ( )
private

Definition at line 1616 of file interpr3.cxx.

References x.

void ScInterpreter::ScExternal ( )
private

Definition at line 2505 of file interpr4.cxx.

void ScInterpreter::ScFact ( )
private

Definition at line 1165 of file interpr3.cxx.

void ScInterpreter::ScFalse ( )
private

Definition at line 1819 of file interpr1.cxx.

References nFuncFmtType, and PushInt().

void ScInterpreter::ScFDist ( )
private

Definition at line 1690 of file interpr3.cxx.

References GetFDist.

void ScInterpreter::ScFDist_LT ( )
private

Definition at line 1705 of file interpr3.cxx.

References GetBeta, and GetFDist.

void ScInterpreter::ScFilterXML ( )
private
void ScInterpreter::ScFind ( )
private
void ScInterpreter::ScFindB ( )
private
void ScInterpreter::ScFInv ( )
private

Definition at line 2313 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScFInv_LT ( )
private

Definition at line 2334 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScFisher ( )
private

Definition at line 1151 of file interpr3.cxx.

void ScInterpreter::ScFisherInv ( )
private

Definition at line 1160 of file interpr3.cxx.

void ScInterpreter::ScFixed ( )
private
void ScInterpreter::ScFloor ( bool  bODFF)
private

tdf69552 ODFF1.2 function FLOOR and Excel function FLOOR.MATH In essence, the difference between the two is that ODFF-FLOOR needs to have arguments value and significance of the same sign and with FLOOR.MATH the sign of argument significance is irrevelevant.

This is why ODFF-FLOOR is exported to Excel as FLOOR.MATH and FLOOR.MATH is imported in Calc as FLOOR.MATH

Definition at line 1130 of file interpr2.cxx.

void ScInterpreter::ScFloor_MS ( )
private

Definition at line 1170 of file interpr2.cxx.

void ScInterpreter::ScFloor_Precise ( )
private

Definition at line 1191 of file interpr2.cxx.

void ScInterpreter::ScForecast ( )
private

Definition at line 4717 of file interpr3.cxx.

References KahanSum::get(), and i.

void ScInterpreter::ScForecast_Ets ( ScETSType  eETSType)
private
void ScInterpreter::ScFormula ( )
private
void ScInterpreter::ScFourier ( )
private

Definition at line 5475 of file interpr3.cxx.

References pOut.

void ScInterpreter::ScFrequency ( )
private

Definition at line 1860 of file interpr5.cxx.

References i, and nCount.

void ScInterpreter::ScFTest ( )
private

Definition at line 2731 of file interpr3.cxx.

References GetFDist, and sc::op::kOpSumAndSumSquare.

void ScInterpreter::ScFV ( )
private

Definition at line 1954 of file interpr2.cxx.

void ScInterpreter::ScGamma ( )
private

Definition at line 775 of file interpr3.cxx.

References x.

void ScInterpreter::ScGammaDist ( bool  bODFF)
private

Definition at line 2092 of file interpr3.cxx.

References GetGammaDist, and GetGammaDistPDF.

void ScInterpreter::ScGammaInv ( )
private

Definition at line 2173 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScGauss ( )
private

Definition at line 1146 of file interpr3.cxx.

References gauss.

void ScInterpreter::ScGCD ( )
private
void ScInterpreter::ScGeoMean ( )
private
void ScInterpreter::ScGetActDate ( )
private

Definition at line 99 of file interpr2.cxx.

References Date::SYSTEM.

void ScInterpreter::ScGetActTime ( )
private
void ScInterpreter::ScGetDate ( )
private

Definition at line 631 of file interpr2.cxx.

References SetError().

void ScInterpreter::ScGetDateDif ( )
private

Definition at line 765 of file interpr2.cxx.

References Date::AddDays(), GetString(), and md().

void ScInterpreter::ScGetDateValue ( )
private

Definition at line 167 of file interpr2.cxx.

References eType, and GetString().

void ScInterpreter::ScGetDay ( )
private

Definition at line 133 of file interpr2.cxx.

References Date::AddDays(), and Date::GetDay().

void ScInterpreter::ScGetDayOfWeek ( )
private

Definition at line 187 of file interpr2.cxx.

References Date::AddDays(), Date::GetDayOfWeek(), and SetError().

double ScInterpreter::ScGetDDB ( double  fCost,
double  fSalvage,
double  fLife,
double  fPeriod,
double  fFactor 
)
staticprivate

Definition at line 1664 of file interpr2.cxx.

void ScInterpreter::ScGetDiffDate ( )
private

Definition at line 664 of file interpr2.cxx.

void ScInterpreter::ScGetDiffDate360 ( )
private
double ScInterpreter::ScGetFV ( double  fRate,
double  fNper,
double  fPmt,
double  fPv,
bool  bPayInAdvance 
)
staticprivate

Definition at line 1937 of file interpr2.cxx.

double ScInterpreter::ScGetGCD ( double  fx,
double  fy 
)
static

Definition at line 107 of file interpr5.cxx.

void ScInterpreter::ScGetHour ( )
private

Definition at line 159 of file interpr2.cxx.

References tools::Time::GetClock().

double ScInterpreter::ScGetIpmt ( double  fRate,
double  fPer,
double  fNper,
double  fPv,
double  fFv,
bool  bPayInAdvance,
double &  fPmt 
)
private

Definition at line 2146 of file interpr2.cxx.

void ScInterpreter::ScGetIsoWeekOfYear ( )
private

Definition at line 292 of file interpr2.cxx.

References Date::AddDays(), and Date::GetWeekOfYear().

void ScInterpreter::ScGetMin ( )
private

Definition at line 140 of file interpr2.cxx.

References tools::Time::GetClock().

void ScInterpreter::ScGetMonth ( )
private

Definition at line 126 of file interpr2.cxx.

References Date::AddDays(), and Date::GetMonth().

void ScInterpreter::ScGetPivotData ( )
private
double ScInterpreter::ScGetPMT ( double  fRate,
double  fNper,
double  fPv,
double  fFv,
bool  bPayInAdvance 
)
staticprivate

Definition at line 1890 of file interpr2.cxx.

double ScInterpreter::ScGetPV ( double  fRate,
double  fNper,
double  fPmt,
double  fFv,
bool  bPayInAdvance 
)
staticprivate

Definition at line 1615 of file