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
 
svl::SharedString GetStringResult () 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, bool bIgnoreWildcards=false)
 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 ()
 
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 (double &fSum, double &fCount, double &vSum, 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< 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 std::unique_ptr< ScTokenMatrixMapCreateTokenMatrixMap ()
 
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< 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
 
std::unique_ptr< ScTokenMatrixMappTokenMatrixMap
 
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 140 of file interpre.hxx.

Member Enumeration Documentation

Enumerator
VOLATILE 
VOLATILE_MACRO 
NOT_VOLATILE 

Definition at line 180 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 3777 of file interpr4.cxx.

ScInterpreter::~ScInterpreter ( )

Definition at line 3832 of file interpr4.cxx.

Member Function Documentation

void ScInterpreter::AssertFormulaMatrix ( )

Definition at line 4754 of file interpr4.cxx.

Referenced by ScSimpleFormulaCalculator::Calculate().

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

Definition at line 460 of file interpr3.cxx.

void ScInterpreter::CalculateAddSub ( bool  _bSub)
private

Definition at line 1263 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 4538 of file interpr3.cxx.

References i.

void ScInterpreter::CalculateRGPRKP ( bool  _bRKP)
private

Definition at line 2392 of file interpr5.cxx.

References i, K, and N.

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

Definition at line 3332 of file interpr3.cxx.

References v, and values.

void ScInterpreter::CalculateSlopeIntercept ( bool  bSlope)
private

Definition at line 4652 of file interpr3.cxx.

References i.

void ScInterpreter::CalculateSmallLarge ( bool  bSmall)
private

Definition at line 3646 of file interpr3.cxx.

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

void ScInterpreter::CalculateSumX2MY2SumX2DY2 ( bool  _bSumX2DY2)
private

Definition at line 1785 of file interpr5.cxx.

References 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 2585 of file interpr3.cxx.

References i.

void ScInterpreter::CalculateTrendGrowth ( bool  _bGrowth)
private

Definition at line 2916 of file interpr5.cxx.

References i, K, 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 2275 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 1092 of file interpre.hxx.

References SAL_MAX_INT32.

Referenced by GetStringPositionArgument().

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

Definition at line 1123 of file interpre.hxx.

References kScInterpreterMaxStrLen, and SetError().

Referenced by ScConcat_MS(), and ScTextJoin_MS().

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

Definition at line 1134 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 1420 of file interpr4.cxx.

Referenced by MatrixJumpConditionToMatrix().

bool ScInterpreter::ConvertMatrixParameters ( )
private

Definition at line 1444 of file interpr4.cxx.

Referenced by MatrixParameterConversion().

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

Definition at line 168 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 178 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 464 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 285 of file interpr4.cxx.

References SAL_MAX_UINT16.

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

Definition at line 1767 of file interpr4.cxx.

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

Definition at line 1742 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 367 of file interpr4.cxx.

std::unique_ptr< ScTokenMatrixMap > ScInterpreter::CreateTokenMatrixMap ( )
staticprivate

Definition at line 1439 of file interpr4.cxx.

Referenced by GetTokenMatrixMap().

void ScInterpreter::CurFmtToFuncFmt ( )
inlineprivate

Definition at line 466 of file interpre.hxx.

References nCurFmtIndex, and nCurFmtType.

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

Detect if string should be used as regular expression or wildcard expression or literal string.

Definition at line 9920 of file interpr1.cxx.

References ScDocument::GetDocOptions(), ScDocOptions::IsFormulaRegexEnabled(), ScDocOptions::IsFormulaWildcardsEnabled(), utl::SearchParam::Normal, utl::SearchParam::Regexp, and utl::SearchParam::Wildcard.

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 1158 of file interpre.hxx.

References sc::div().

sal_Int32 ScInterpreter::double_to_int32 ( double  fVal)
private

Definition at line 2163 of file interpr4.cxx.

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

Definition at line 1993 of file interpr4.cxx.

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

Definition at line 1031 of file interpr4.cxx.

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

Definition at line 946 of file interpr4.cxx.

double ScInterpreter::Fakultaet ( double  x)
private

Definition at line 439 of file interpr3.cxx.

References SetError().

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

Definition at line 215 of file interpr3.cxx.

References phi, and taylor.

double ScInterpreter::gaussinv ( double  x)
static

Definition at line 268 of file interpr3.cxx.

References log, t, and z.

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

Definition at line 800 of file interpr3.cxx.

References lcl_getLanczosSum().

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

Definition at line 985 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 862 of file interpr3.cxx.

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

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

Definition at line 1232 of file interpr3.cxx.

References GetBetaDistPDF, i, and max.

bool ScInterpreter::GetBool ( )
inlineprivate

Definition at line 445 of file interpre.hxx.

References GetDouble().

Referenced by ScIfs_MS().

sal_uInt8 ScInterpreter::GetByte ( ) const
inlineprivate

Definition at line 427 of file interpre.hxx.

References cPar.

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

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

Definition at line 183 of file interpr4.cxx.

Referenced by ScSwitch_MS().

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 669 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 681 of file interpr3.cxx.

References GetLowRegIGamma.

Referenced by ScChiSqDistFunction::GetValue().

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

Definition at line 689 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 66 of file interpr2.cxx.

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

sal_Int16 ScInterpreter::GetDayOfWeek ( sal_Int32  n)
inlinestaticprivate

Definition at line 1163 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

Definition at line 2073 of file interpr4.cxx.

Referenced by GetBool(), GetStringPositionArgument(), ScSwitch_MS(), and ScTextJoin_MS().

double ScInterpreter::GetDoubleFromMatrix ( const ScMatrixRef pMat)
private

Definition at line 2032 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 2250 of file interpr4.cxx.

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

Definition at line 2411 of file interpr4.cxx.

Referenced by ScSwitch_MS().

double ScInterpreter::GetDoubleWithDefault ( double  nDefault)
private

Definition at line 2154 of file interpr4.cxx.

Referenced by ScForecast_Ets().

FormulaError ScInterpreter::GetError ( ) const
inline

Definition at line 1027 of file interpre.hxx.

References nGlobalError.

Referenced by ScFormulaCell::InterpretTail().

FormulaError ScInterpreter::GetErrorType ( )
private

Definition at line 9737 of file interpr1.cxx.

References n, formula::svDoubleRef, formula::svRefList, formula::svSingleRef, and x.

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

Definition at line 1266 of file interpr4.cxx.

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

Definition at line 640 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 585 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 1900 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 2205 of file interpr4.cxx.

sal_Int32 ScInterpreter::GetInt32 ( )
private

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

Definition at line 2191 of file interpr4.cxx.

sal_Int32 ScInterpreter::GetInt32WithDefault ( sal_Int32  nDefault)
private

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

Definition at line 2196 of file interpr4.cxx.

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

Definition at line 833 of file interpr3.cxx.

References lcl_getLanczosSum(), and log.

double ScInterpreter::GetLogGamma ( double  x)
staticprivate

You must ensure fZ>0.

Definition at line 629 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 3382 of file interpr3.cxx.

References SetError().

ScMatrixRef ScInterpreter::GetNewMat ( SCSIZE  nC,
SCSIZE  nR,
bool  bEmpty = false 
)

Definition at line 299 of file interpr5.cxx.

Referenced by lcl_MatrixCalculation(), and ScForecast_Ets().

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

Definition at line 310 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 1030 of file interpre.hxx.

Referenced by ScFormulaCell::InterpretTail().

ScCalcConfig & ScInterpreter::GetOrCreateGlobalConfig ( )
staticprivate

Definition at line 3864 of file interpr4.cxx.

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

Definition at line 3416 of file interpr3.cxx.

References nIndex.

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

Definition at line 3440 of file interpr3.cxx.

References nIndex, and SetError().

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

Definition at line 3774 of file interpr3.cxx.

References sc::div(), and i.

sc::RangeMatrix ScInterpreter::GetRangeMatrix ( )
private

Definition at line 599 of file interpr5.cxx.

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

StackVar ScInterpreter::GetRawStackType ( )
private

Raw stack type without default replacements.

Definition at line 1939 of file interpr4.cxx.

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 469 of file interpr6.cxx.

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

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

Definition at line 1031 of file interpre.hxx.

References xResult.

Referenced by ScFormulaCell::InterpretTail().

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

Definition at line 1028 of file interpre.hxx.

Referenced by ScFormulaCell::InterpretTail().

sal_uLong ScInterpreter::GetRetFormatIndex ( ) const
inline

Definition at line 1033 of file interpre.hxx.

References nRetFmtIndex.

Referenced by ScFormulaCell::InterpretTail().

SvNumFormatType ScInterpreter::GetRetFormatType ( ) const
inline

Definition at line 1032 of file interpre.hxx.

References nRetFmtType.

Referenced by ScFormulaCell::InterpretTail().

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

Definition at line 4128 of file interpr3.cxx.

References MAX_COUNT_DOUBLE_FOR_SORT(), and SetError().

StackVar ScInterpreter::GetStackType ( )
private

Stack type with replacement of defaults, e.g. svMissing and formula::svEmptyCell will result in formula::svDouble.

Definition at line 1954 of file interpr4.cxx.

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

StackVar ScInterpreter::GetStackType ( sal_uInt8  nParam)
private

Definition at line 1971 of file interpr4.cxx.

svl::SharedString ScInterpreter::GetString ( )
private

Definition at line 2310 of file interpr4.cxx.

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

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

Definition at line 2472 of file interpr4.cxx.

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

Definition at line 2389 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 1112 of file interpre.hxx.

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

svl::SharedString ScInterpreter::GetStringResult ( ) const

Definition at line 4759 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 648 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 2293 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

ScTokenMatrixMap & ScInterpreter::GetTokenMatrixMap ( )
inlineprivate

Definition at line 1055 of file interpre.hxx.

References CreateTokenMatrixMap(), and pTokenMatrixMap.

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 2234 of file interpr4.cxx.

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 153 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 354 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 3887 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 306 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 200 of file interpr3.cxx.

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

Definition at line 1934 of file interpr4.cxx.

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
void ScInterpreter::IterateParametersIfs ( double(*)(const sc::ParamIfsResult &rRes)  ResultFunc)
private

Definition at line 5839 of file interpr1.cxx.

References ScRange::aEnd, assert(), ScRange::aStart, ScQueryEntry::bDoQuery, ScQueryEntry::ByString, ScQueryEntry::ByValue, CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_STRING, CELLTYPE_VALUE, ScAddress::Col(), ScQueryEntry::eOp, ScQueryParamBase::eSearchType, ScQueryParamBase::FillInExcelSyntax(), ScQueryCellIterator::GetCol(), GetDoubleErrorValue(), formula::FormulaToken::GetDoubleRef(), ScQueryParamBase::GetEntry(), ScQueryCellIterator::GetFirst(), ScQueryCellIterator::GetNext(), ScQueryEntry::GetQueryItem(), ScQueryCellIterator::GetRow(), GetString(), svl::SharedString::getString(), formula::FormulaToken::GetType(), ScRange::GetVars(), ScRefCellValue::hasNumeric(), ScRefListToken::IsArrayResult(), ScComplexRefData::IsDeleted(), ScMatrix::IsRealStringType(), ScFormulaCell::IsValue(), ScQueryEntry::Item::maString, ScQueryEntry::Item::meType, ScRefCellValue::meType, sc::ParamIfsResult::mfCount, sc::ParamIfsResult::mfMax, sc::ParamIfsResult::mfMem, sc::ParamIfsResult::mfMin, sc::ParamIfsResult::mfSum, ScQueryEntry::Item::mfVal, ScRefCellValue::mpFormula, mrContext, n, ScQueryParamTable::nCol1, ScQueryParamTable::nCol2, ScQueryEntry::nField, ScQueryParamTable::nRow1, ScQueryParamTable::nRow2, nType, p, ScAddress::Row(), SC_EQUAL, ScQueryCellIterator::SetAdvanceQueryParamEntryField(), ScAddress::SetCol(), ScAddress::SetRow(), ScAddress::SetTab(), formula::svDouble, formula::svDoubleRef, formula::svExternalDoubleRef, formula::svExternalSingleRef, formula::svMatrix, formula::svRefList, formula::svSingleRef, formula::svString, swap(), and ScAddress::Tab().

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

Definition at line 284 of file interpr5.cxx.

References SetError().

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

Definition at line 1214 of file interpr5.cxx.

References lcl_GetMinExtent().

void ScInterpreter::MatrixJumpConditionToMatrix ( )
inlineprivate

Definition at line 1041 of file interpre.hxx.

References ConvertMatrixJumpConditionToMatrix(), and IsInArrayContext().

bool ScInterpreter::MatrixParameterConversion ( )
inlineprivate
bool ScInterpreter::MayBeRegExp ( const OUString &  rStr,
bool  bIgnoreWildcards = false 
)
static

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

Definition at line 9879 of file interpr1.cxx.

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 9900 of file interpr1.cxx.

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

Definition at line 737 of file interpr5.cxx.

References i.

void ScInterpreter::MergeCalcConfig ( )
private

Merge global and document specific settings.

Definition at line 3881 of file interpr4.cxx.

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

Definition at line 1062 of file interpre.hxx.

References PushIllegalParameter(), and PushParameterExpected().

Referenced by ScForecast_Ets().

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

Definition at line 1073 of file interpre.hxx.

References PushIllegalParameter(), and PushParameterExpected().

bool ScInterpreter::MustHaveParamCountMin ( short  nAct,
short  nMin 
)
inlineprivate

Definition at line 1084 of file interpre.hxx.

References PushParameterExpected().

Referenced by ScSwitch_MS(), and ScTextJoin_MS().

double ScInterpreter::phi ( double  x)
static

Definition at line 195 of file interpr3.cxx.

void ScInterpreter::Pop ( )
private

Definition at line 746 of file interpr4.cxx.

Referenced by ScIfs_MS(), and ScSwitch_MS().

ScDBRangeBase * ScInterpreter::PopDBDoubleRef ( )
private

Definition at line 967 of file interpr4.cxx.

double ScInterpreter::PopDouble ( )
private

Definition at line 783 of file interpr4.cxx.

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 1049 of file interpr4.cxx.

Referenced by ScConcat_MS(), and ScTextJoin_MS().

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

Definition at line 1101 of file interpr4.cxx.

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

Definition at line 1008 of file interpr4.cxx.

bool ScInterpreter::PopDoubleRefOrSingleRef ( ScAddress rAdr)
private

Definition at line 1324 of file interpr4.cxx.

Referenced by ScSwitch_MS().

void ScInterpreter::PopDoubleRefPushMatrix ( )
private

Definition at line 1346 of file interpr4.cxx.

void ScInterpreter::PopError ( )
private

Definition at line 756 of file interpr4.cxx.

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

void ScInterpreter::PopExternalDoubleRef ( sal_uInt16 &  rFileId,
OUString &  rTabName,
ScComplexRefData rRef 
)
private

Definition at line 1202 of file interpr4.cxx.

void ScInterpreter::PopExternalDoubleRef ( ScExternalRefCache::TokenArrayRef rArray)
private

Definition at line 1231 of file interpr4.cxx.

void ScInterpreter::PopExternalDoubleRef ( ScMatrixRef rMat)
private

Definition at line 1245 of file interpr4.cxx.

void ScInterpreter::PopExternalSingleRef ( sal_uInt16 &  rFileId,
OUString &  rTabName,
ScSingleRefData rRef 
)
private

Definition at line 1123 of file interpr4.cxx.

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 1152 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 1160 of file interpr4.cxx.

ScMatrixRef ScInterpreter::PopMatrix ( )
private

Definition at line 1618 of file interpr4.cxx.

sc::RangeMatrix ScInterpreter::PopRangeMatrix ( )
private

Definition at line 1650 of file interpr4.cxx.

void ScInterpreter::PopRefListPushMatrixOrRef ( )
private

Definition at line 1360 of file interpr4.cxx.

void ScInterpreter::PopSingleRef ( ScAddress rAdr)
private

Definition at line 909 of file interpr4.cxx.

Referenced by ScConcat_MS(), and ScTextJoin_MS().

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

Definition at line 900 of file interpr4.cxx.

svl::SharedString ScInterpreter::PopString ( )
private

Definition at line 815 of file interpr4.cxx.

FormulaConstTokenRef ScInterpreter::PopToken ( )
private

Definition at line 768 of file interpr4.cxx.

Referenced by ScIfs_MS(), and ScSwitch_MS().

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 602 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 689 of file interpr4.cxx.

void ScInterpreter::PushDouble ( double  nVal)
private

Definition at line 1777 of file interpr4.cxx.

Referenced by ScForecast_Ets().

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

Definition at line 1822 of file interpr4.cxx.

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

Definition at line 1868 of file interpr4.cxx.

void ScInterpreter::PushError ( FormulaError  nError)
private

Definition at line 1903 of file interpr4.cxx.

Referenced by ScForecast_Ets(), ScIfs_MS(), and ScSwitch_MS().

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 1845 of file interpr4.cxx.

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

Definition at line 1833 of file interpr4.cxx.

void ScInterpreter::PushIllegalArgument ( )
private

Definition at line 1919 of file interpr4.cxx.

Referenced by ScForecast_Ets(), ScSwitch_MS(), and ScTextJoin_MS().

void ScInterpreter::PushIllegalParameter ( )
private

Definition at line 1914 of file interpr4.cxx.

Referenced by MustHaveParamCount(), and ScForecast_Ets().

void ScInterpreter::PushInt ( int  nVal)
private

Definition at line 1784 of file interpr4.cxx.

void ScInterpreter::PushMatrix ( const sc::RangeMatrix rMat)
private

Definition at line 1878 of file interpr4.cxx.

Referenced by ScForecast_Ets().

void ScInterpreter::PushMatrix ( const ScMatrixRef pMat)
private

Definition at line 1892 of file interpr4.cxx.

void ScInterpreter::PushNA ( )
private

Definition at line 1924 of file interpr4.cxx.

Referenced by ScIfs_MS(), and ScSwitch_MS().

void ScInterpreter::PushNoValue ( )
private

Definition at line 1929 of file interpr4.cxx.

Referenced by ScIfs_MS().

void ScInterpreter::PushParameterExpected ( )
private

Definition at line 1909 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 1812 of file interpr4.cxx.

void ScInterpreter::PushSingleRef ( const ScRefAddress rRef)
private

Definition at line 1858 of file interpr4.cxx.

void ScInterpreter::PushString ( const OUString &  rStr)
private

Definition at line 1801 of file interpr4.cxx.

Referenced by ScConcat_MS(), and ScTextJoin_MS().

void ScInterpreter::PushString ( const svl::SharedString rString)
private

Definition at line 1806 of file interpr4.cxx.

void ScInterpreter::PushStringBuffer ( const sal_Unicode pString)
private

Definition at line 1790 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 620 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 649 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 669 of file interpr4.cxx.

Referenced by ScIfs_MS(), and ScSwitch_MS().

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 586 of file interpr4.cxx.

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 1690 of file interpr4.cxx.

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

Definition at line 4195 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 2035 of file interpr2.cxx.

References nCount, and SCdEpsilon.

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

Definition at line 1985 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 976 of file interpr2.cxx.

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

Definition at line 1026 of file interpr2.cxx.

void ScInterpreter::ScAbs ( )
private

Definition at line 966 of file interpr2.cxx.

void ScInterpreter::ScAdd ( )
private

Definition at line 1258 of file interpr5.cxx.

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

Definition at line 1391 of file interpr5.cxx.

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

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

Definition at line 3136 of file interpr2.cxx.

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

void ScInterpreter::ScArcCos ( )
private

Definition at line 1868 of file interpr1.cxx.

void ScInterpreter::ScArcCosHyp ( )
private

Definition at line 1908 of file interpr1.cxx.

void ScInterpreter::ScArcCot ( )
private

Definition at line 1878 of file interpr1.cxx.

References F_PI2.

void ScInterpreter::ScArcCotHyp ( )
private

Definition at line 1926 of file interpr1.cxx.

References log.

void ScInterpreter::ScArcSin ( )
private

Definition at line 1863 of file interpr1.cxx.

void ScInterpreter::ScArcSinHyp ( )
private

Definition at line 1903 of file interpr1.cxx.

void ScInterpreter::ScArcTan ( )
private

Definition at line 1873 of file interpr1.cxx.

void ScInterpreter::ScArcTan2 ( )
private

Definition at line 1267 of file interpr2.cxx.

void ScInterpreter::ScArcTanHyp ( )
private

Definition at line 1917 of file interpr1.cxx.

void ScInterpreter::ScAreas ( )
private
void ScInterpreter::ScAsc ( )
private

Definition at line 3545 of file interpr1.cxx.

References GetString(), getString(), and lcl_convertIntoHalfWidth().

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

Definition at line 1056 of file interpr6.cxx.

References ifAVERAGE.

void ScInterpreter::ScAverageIf ( )
private

Definition at line 5637 of file interpr1.cxx.

References ifAVERAGEIF.

void ScInterpreter::ScAverageIfs ( )
private

Definition at line 6522 of file interpr1.cxx.

References sc::div().

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 185 of file interpr3.cxx.

void ScInterpreter::ScBahtText ( )
private

Definition at line 3494 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 2845 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 1036 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 1100 of file interpr3.cxx.

References GetBetaDist, GetBetaDistPDF, and x.

void ScInterpreter::ScBetaInv ( )
private

Definition at line 2217 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

Definition at line 1643 of file interpr1.cxx.

References n2power48.

void ScInterpreter::ScBitLshift ( )
private

Definition at line 1688 of file interpr1.cxx.

References n2power48.

void ScInterpreter::ScBitOr ( )
private

Definition at line 1658 of file interpr1.cxx.

References n2power48.

void ScInterpreter::ScBitRshift ( )
private

Definition at line 1711 of file interpr1.cxx.

References n2power48.

void ScInterpreter::ScBitXor ( )
private

Definition at line 1673 of file interpr1.cxx.

References n2power48.

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 1068 of file interpr2.cxx.

void ScInterpreter::ScCeil_MS ( )
private

Definition at line 1108 of file interpr2.cxx.

void ScInterpreter::ScCeil_Precise ( )
private

Definition at line 1126 of file interpr2.cxx.

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

Definition at line 3473 of file interpr1.cxx.

References aStr.

void ScInterpreter::ScChiDist ( bool  bODFF)
private

Definition at line 1746 of file interpr3.cxx.

References GetChiDist.

void ScInterpreter::ScChiInv ( )
private

Definition at line 2373 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScChiSqDist ( )
private

Definition at line 727 of file interpr3.cxx.

References GetChiSqDistCDF, and GetChiSqDistPDF.

void ScInterpreter::ScChiSqDist_MS ( )
private

Definition at line 750 of file interpr3.cxx.

References GetChiSqDistCDF, and GetChiSqDistPDF.

void ScInterpreter::ScChiSqInv ( )
private

Definition at line 2408 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScChiTest ( )
private

Definition at line 2800 of file interpr3.cxx.

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

void ScInterpreter::ScChooseJump ( )
private

Definition at line 410 of file interpr1.cxx.

References CreateDoubleError(), and formula::svMatrix.

void ScInterpreter::ScClean ( )
private

Definition at line 3442 of file interpr1.cxx.

References aStr, GetString(), i, and lcl_ScInterpreter_IsPrintable().

void ScInterpreter::ScCode ( )
private

Definition at line 3453 of file interpr1.cxx.

References aStr, GetString(), and OUStringToOString().

void ScInterpreter::ScColor ( )
private

Definition at line 521 of file interpr7.cxx.

void ScInterpreter::ScColRowNameAuto ( )
private

Definition at line 3677 of file interpr4.cxx.

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

Definition at line 1173 of file interpr3.cxx.

References n.

void ScInterpreter::ScCombinA ( )
private

Definition at line 1186 of file interpr3.cxx.

References n.

void ScInterpreter::ScConcat ( )
private

Definition at line 9722 of file interpr1.cxx.

References aStr, and GetString().

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

Definition at line 2428 of file interpr3.cxx.

References gaussinv, and n.

void ScInterpreter::ScConfidenceT ( )
private

Definition at line 2442 of file interpr3.cxx.

References n.

void ScInterpreter::ScConvertOOo ( )
private

Definition at line 3027 of file interpr2.cxx.

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

void ScInterpreter::ScCorrel ( )
private

Definition at line 4517 of file interpr3.cxx.

void ScInterpreter::ScCos ( )
private

Definition at line 1848 of file interpr1.cxx.

void ScInterpreter::ScCosecant ( )
private

Definition at line 1935 of file interpr1.cxx.

void ScInterpreter::ScCosecantHyp ( )
private

Definition at line 1945 of file interpr1.cxx.

void ScInterpreter::ScCosHyp ( )
private

Definition at line 1888 of file interpr1.cxx.

void ScInterpreter::ScCot ( )
private

Definition at line 1858 of file interpr1.cxx.

void ScInterpreter::ScCotHyp ( )
private

Definition at line 1898 of file interpr1.cxx.

void ScInterpreter::ScCount ( )
private

Definition at line 1061 of file interpr6.cxx.

References ifCOUNT.

void ScInterpreter::ScCount2 ( )
private

Definition at line 1066 of file interpr6.cxx.

References ifCOUNT2.

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

Definition at line 6539 of file interpr1.cxx.

void ScInterpreter::ScCovarianceP ( )
private

Definition at line 4523 of file interpr3.cxx.

void ScInterpreter::ScCovarianceS ( )
private

Definition at line 4528 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 2269 of file interpr2.cxx.

References i.

void ScInterpreter::ScCumPrinc ( )
private

Definition at line 2311 of file interpr2.cxx.

References i.

void ScInterpreter::ScCurrency ( )
private

Definition at line 8753 of file interpr1.cxx.

References aStr, ScGlobal::eLnge, nIndex, and SetError().

void ScInterpreter::ScCurrent ( )
private

Definition at line 2651 of file interpr2.cxx.

void ScInterpreter::ScDB ( )
private

Definition at line 1720 of file interpr2.cxx.

References i.

void ScInterpreter::ScDBArea ( )
private

Definition at line 3660 of file interpr4.cxx.

void ScInterpreter::ScDBAverage ( )
private

Definition at line 7975 of file interpr1.cxx.

References ifAVERAGE.

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

Definition at line 2482 of file interpr4.cxx.

void ScInterpreter::ScDBMax ( )
private

Definition at line 7980 of file interpr1.cxx.

References ifMAX.

void ScInterpreter::ScDBMin ( )
private

Definition at line 7985 of file interpr1.cxx.

References ifMIN.

void ScInterpreter::ScDBProduct ( )
private

Definition at line 7990 of file interpr1.cxx.

References ifPRODUCT.

void ScInterpreter::ScDBStdDev ( )
private

Definition at line 8037 of file interpr1.cxx.

void ScInterpreter::ScDBStdDevP ( )
private

Definition at line 8044 of file interpr1.cxx.

void ScInterpreter::ScDBSum ( )
private

Definition at line 7882 of file interpr1.cxx.

References ifSUM.

void ScInterpreter::ScDBVar ( )
private

Definition at line 8051 of file interpr1.cxx.

void ScInterpreter::ScDBVarP ( )
private

Definition at line 8058 of file interpr1.cxx.

void ScInterpreter::ScDDB ( )
private

Definition at line 1697 of file interpr2.cxx.

References ScGetDDB.

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

Definition at line 2971 of file interpr2.cxx.

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

void ScInterpreter::ScDeg ( )
private

Definition at line 1833 of file interpr1.cxx.

References basegfx::rad2deg().

void ScInterpreter::ScDevSq ( )
private

Definition at line 4443 of file interpr3.cxx.

void ScInterpreter::ScDiv ( )
private

Definition at line 1564 of file interpr5.cxx.

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

void ScInterpreter::ScEasterSunday ( )
private

Definition at line 313 of file interpr2.cxx.

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

void ScInterpreter::ScEffect ( )
private

Definition at line 2354 of file interpr2.cxx.

void ScInterpreter::ScEMat ( )
private

Definition at line 714 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 417 of file interpr7.cxx.

References aStr, GetString(), and i.

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

Definition at line 501 of file interpr7.cxx.

References x.

void ScInterpreter::ScErfc ( )
private

Definition at line 511 of file interpr7.cxx.

References x.

void ScInterpreter::ScErrorType ( )
private

Definition at line 9809 of file interpr1.cxx.

void ScInterpreter::ScErrorType_ODF ( )
private

Definition at line 9823 of file interpr1.cxx.

void ScInterpreter::ScEuroConvert ( )
private

Definition at line 3322 of file interpr2.cxx.

References GetString(), and lclConvertMoney().

void ScInterpreter::ScEven ( )
private

Definition at line 1240 of file interpr2.cxx.

void ScInterpreter::ScExact ( )
private

Definition at line 8937 of file interpr1.cxx.

References svl::SharedString::getData(), and GetString().

void ScInterpreter::ScExp ( )
private

Definition at line 1955 of file interpr1.cxx.

void ScInterpreter::ScExpDist ( )
private

Definition at line 1620 of file interpr3.cxx.

References x.

void ScInterpreter::ScExternal ( )
private

Definition at line 2517 of file interpr4.cxx.

void ScInterpreter::ScFact ( )
private

Definition at line 1164 of file interpr3.cxx.

void ScInterpreter::ScFalse ( )
private

Definition at line 1827 of file interpr1.cxx.

void ScInterpreter::ScFDist ( )
private

Definition at line 1694 of file interpr3.cxx.

References GetFDist.

void ScInterpreter::ScFDist_LT ( )
private

Definition at line 1709 of file interpr3.cxx.

References GetBeta, and GetFDist.

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

Definition at line 8904 of file interpr1.cxx.

References GetString(), getString(), and nPos.

void ScInterpreter::ScFindB ( )
private

Definition at line 9175 of file interpr1.cxx.

References aBuf, aStr, getLengthB(), GetString(), lcl_getLengthB(), lcl_RightB(), and nPos.

void ScInterpreter::ScFInv ( )
private

Definition at line 2317 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScFInv_LT ( )
private

Definition at line 2338 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScFisher ( )
private

Definition at line 1150 of file interpr3.cxx.

void ScInterpreter::ScFisherInv ( )
private

Definition at line 1159 of file interpr3.cxx.

void ScInterpreter::ScFixed ( )
private

Definition at line 8848 of file interpr1.cxx.

References aStr, ScGlobal::eLnge, and nIndex.

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 1156 of file interpr2.cxx.

void ScInterpreter::ScFloor_MS ( )
private

Definition at line 1196 of file interpr2.cxx.

void ScInterpreter::ScFloor_Precise ( )
private

Definition at line 1217 of file interpr2.cxx.

void ScInterpreter::ScForecast ( )
private

Definition at line 4734 of file interpr3.cxx.

References i.

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

Definition at line 5494 of file interpr3.cxx.

References pOut.

void ScInterpreter::ScFrequency ( )
private

Definition at line 1864 of file interpr5.cxx.

References i, and nCount.

void ScInterpreter::ScFTest ( )
private

Definition at line 2735 of file interpr3.cxx.

References GetFDist.

void ScInterpreter::ScFV ( )
private

Definition at line 1990 of file interpr2.cxx.

void ScInterpreter::ScGamma ( )
private

Definition at line 774 of file interpr3.cxx.

References x.

void ScInterpreter::ScGammaDist ( bool  bODFF)
private

Definition at line 2096 of file interpr3.cxx.

References GetGammaDist, and GetGammaDistPDF.

void ScInterpreter::ScGammaInv ( )
private

Definition at line 2177 of file interpr3.cxx.

References lcl_IterateInverse(), and SetError().

void ScInterpreter::ScGauss ( )
private

Definition at line 1145 of file interpr3.cxx.

References gauss.

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

Definition at line 106 of file interpr2.cxx.

References Date::SYSTEM.

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

Definition at line 644 of file interpr2.cxx.

References SetError().

void ScInterpreter::ScGetDateDif ( )
private

Definition at line 784 of file interpr2.cxx.

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

void ScInterpreter::ScGetDateValue ( )
private

Definition at line 174 of file interpr2.cxx.

References eType, and GetString().

void ScInterpreter::ScGetDay ( )
private

Definition at line 140 of file interpr2.cxx.

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

void ScInterpreter::ScGetDayOfWeek ( )
private

Definition at line 194 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 1671 of file interpr2.cxx.

void ScInterpreter::ScGetDiffDate ( )
private

Definition at line 679 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 1973 of file interpr2.cxx.

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

Definition at line 109 of file interpr5.cxx.

void ScInterpreter::ScGetHour ( )
private

Definition at line 166 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 2195 of file interpr2.cxx.

void ScInterpreter::ScGetIsoWeekOfYear ( )
private

Definition at line 303 of file interpr2.cxx.

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

void ScInterpreter::ScGetMin ( )
private

Definition at line 147 of file interpr2.cxx.

References tools::Time::GetClock().

void ScInterpreter::ScGetMonth ( )
private

Definition at line 133 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 1922 of file interpr2.cxx.

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

Definition at line 1619 of file interpr2.cxx.

void ScInterpreter::ScGetSec ( )
private

Definition at line 155 of file interpr2.cxx.

References tools::Time::GetClock().

void ScInterpreter::ScGetTime ( )
private
void ScInterpreter::ScGetTimeValue ( )
private

Definition at line 933 of file interpr2.cxx.

References eType, and GetString().

void ScInterpreter::ScGetWeekOfYear ( )
private

Definition at line 253 of file interpr2.cxx.

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

void ScInterpreter::ScGetYear ( )
private

Definition at line 126 of file interpr2.cxx.

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

void ScInterpreter::ScGreater ( )
private
void ScInterpreter::ScGreaterEqual ( )
private
void ScInterpreter::ScGrowth ( )
private

Definition at line 2911 of file interpr5.cxx.

void ScInterpreter::ScHarMean ( )
private
void ScInterpreter::ScHLookup ( )
private

Definition at line 7206 of file interpr1.cxx.

void ScInterpreter::ScHyperLink ( )
private
void ScInterpreter::ScHypGeomDist ( int  nMinParamCount)
private

Calculates a value of the hypergeometric distribution.

See also
#i47296#

This function has an extra argument bCumulative, which only calculates the non-cumulative distribution and which is optional in Calc and mandatory with Excel's HYPGEOM.DIST()

See also
fdo#71722
tdf#102948, make Calc function ODFF1.2-compliant
tdf#117041, implement note at bottom of ODFF1.2 par.6.18.37

Definition at line 1861 of file interpr3.cxx.

References i, M, N, n, and x.

void ScInterpreter::ScIfError ( bool  bNAonly)
private
void ScInterpreter::ScIfJump ( )
private

Definition at line 87 of file interpr1.cxx.

References CreateDoubleError(), and formula::svMatrix.

void ScInterpreter::ScIfs_MS ( )
private
void ScInterpreter::ScIndex ( )
private
void ScInterpreter::ScIndirect ( )
private
void ScInterpreter::ScInfo ( )
private
void ScInterpreter::ScInt ( )
private

Definition at line 971 of file interpr2.cxx.

void ScInterpreter::ScIntercept ( )
private

Definition at line 4729 of file interpr3.cxx.

void ScInterpreter::ScIntersect ( )
private
double ScInterpreter::ScInterVDB ( double  fCost,
double  fSalvage,
double  fLife,
double  fLife1,
double  fPeriod,
double  fFactor 
)
staticprivate

Definition at line 1765 of file interpr2.cxx.

References i, and ScGetDDB.

void ScInterpreter::ScIpmt ( )
private

Definition at line 2218 of file interpr2.cxx.

void ScInterpreter::ScIRR ( )
private
void ScInterpreter::ScIsEmpty ( )
private
void ScInterpreter::ScIsErr ( )
private
void ScInterpreter::ScIsError ( )
private
void ScInterpreter::ScIsEven ( )
private

Definition at line 3103 of file interpr1.cxx.

void ScInterpreter::ScIsFormula ( )
private
void ScInterpreter::ScIsLogical ( )
private
void ScInterpreter::ScIsNonString ( )
private

Definition at line 2096 of file interpr1.cxx.

void ScInterpreter::ScIsNV ( )
private
void ScInterpreter::ScIsOdd ( )
private

Definition at line 3108 of file interpr1.cxx.

void ScInterpreter::ScISPMT ( )
private

Definition at line 1602 of file interpr2.cxx.

void ScInterpreter::ScIsRef ( )
private
void ScInterpreter::ScIsString ( )
private

Definition at line 2091 of file interpr1.cxx.

void ScInterpreter::ScIsValue ( )
private
void ScInterpreter::ScJis ( )
private

Definition at line 3533 of file interpr1.cxx.

References GetString(), getString(), and lcl_convertIntoFullWidth().

void ScInterpreter::ScKurt ( )
private

Definition at line 2876 of file interpr3.cxx.

References v, and values.

void ScInterpreter::ScLarge ( )
private

Definition at line 3726 of file interpr3.cxx.

void ScInterpreter::ScLCM ( )
private
void ScInterpreter::ScLeft ( )
private

Definition at line 8948 of file interpr1.cxx.

References aStr, GetString(), and n.

void ScInterpreter::ScLeftB ( )
private

Definition at line 9111 of file interpr1.cxx.

References aStr, getString(), GetString(), lcl_LeftB(), and n.

void ScInterpreter::ScLen ( )
private

Definition at line 3182 of file interpr1.cxx.

References aStr, and GetString().

void ScInterpreter::ScLenB ( )
private

Definition at line 9030 of file interpr1.cxx.

References getLengthB(), getString(), and GetString().

void ScInterpreter::ScLess ( )
private
void ScInterpreter::ScLessEqual ( )
private
void ScInterpreter::ScLinest ( )
private

Definition at line 2381 of file interpr5.cxx.

void ScInterpreter::ScLn ( )
private

Definition at line 1295 of file interpr2.cxx.

References log.

void ScInterpreter::ScLog ( )
private

Definition at line 1277 of file interpr2.cxx.

References log.

void ScInterpreter::ScLog10 ( )
private

Definition at line 1304 of file interpr2.cxx.

void ScInterpreter::ScLogest ( )
private

Definition at line 2387 of file interpr5.cxx.

void ScInterpreter::ScLogGamma ( )
private

Definition at line 791 of file interpr3.cxx.

References GetLogGamma, and x.

void ScInterpreter::ScLogNormDist ( int  nMinParamCount)
private

Definition at line 1571 of file interpr3.cxx.

References log, phi, and x.

void ScInterpreter::ScLogNormInv ( )
private

Definition at line 2148 of file interpr3.cxx.

References gaussinv.

void ScInterpreter::ScLookup ( )
private
void ScInterpreter::ScLower ( )
private
void ScInterpreter::ScMacro ( )
private

Definition at line 3196 of file interpr4.cxx.

void ScInterpreter::ScMatch ( )
private