LibreOffice Module sc (master)
1
|
#include <interpre.hxx>
Public Types | |
enum | VolatileType { VOLATILE, VOLATILE_MACRO, NOT_VOLATILE } |
Static Public Member Functions | |
static void | SetGlobalConfig (const ScCalcConfig &rConfig) |
static const ScCalcConfig & | GetGlobalConfig () |
static void | GlobalExit () |
static utl::SearchParam::SearchType | DetectSearchType (std::u16string_view 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) |
Static Private Member Functions | |
static ScCalcConfig & | GetOrCreateGlobalConfig () |
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 |
ScTokenArray * | pArr |
ScInterpreterContext & | mrContext |
ScDocument & | mrDoc |
sfx2::LinkManager * | mpLinkManager |
svl::SharedStringPool & | mrStrPool |
formula::FormulaConstTokenRef | xResult |
ScJumpMatrix * | pJumpMatrix |
ScTokenMatrixMap | maTokenMatrixMap |
ScFormulaCell * | pMyFormulaCell |
SvNumberFormatter * | pFormatter |
const formula::FormulaToken * | pCur |
ScTokenStack * | pStackObj |
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 ScCalcConfig * | mpGlobalConfig = nullptr |
static thread_local std::unique_ptr< ScTokenStack > | pGlobalStack |
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 |
Definition at line 137 of file interpre.hxx.
Enumerator | |
---|---|
VOLATILE | |
VOLATILE_MACRO | |
NOT_VOLATILE |
Definition at line 166 of file interpre.hxx.
ScInterpreter::ScInterpreter | ( | ScFormulaCell * | pCell, |
ScDocument & | rDoc, | ||
ScInterpreterContext & | rContext, | ||
const ScAddress & | rPos, | ||
ScTokenArray & | r, | ||
bool | bForGroupThreading = false |
||
) |
Definition at line 3791 of file interpr4.cxx.
References ALL, bGlobalStackInUse, bMatrixFormula, Formula, ScFormulaCell::GetMatrixFlag(), MergeCalcConfig(), mrContext, NONE, NoValue, pGlobalStack, pMyFormulaCell, ScTokenStack::pPointer, pStack, and pStackObj.
ScInterpreter::~ScInterpreter | ( | ) |
Definition at line 3846 of file interpr4.cxx.
References bGlobalStackInUse, pGlobalStack, and pStackObj.
void ScInterpreter::AssertFormulaMatrix | ( | ) |
Definition at line 4777 of file interpr4.cxx.
References bMatrixFormula.
Referenced by ScSimpleFormulaCalculator::Calculate().
|
staticprivate |
Definition at line 460 of file interpr3.cxx.
|
private |
Definition at line 1279 of file interpr5.cxx.
References lcl_GetDiffDateTimeFmtType(), and formula::svMatrix.
|
private |
!!!!!!
!!!!!!
Definition at line 7260 of file interpr1.cxx.
References ScQueryParamBase::bByRow, ScQueryEntry::bDoQuery, ScQueryEntry::ByString, CollatorWrapper::compareString(), DetectSearchType(), ScQueryEntry::eOp, ScQueryParamBase::eSearchType, eType, FillEntry(), ScQueryCellIterator< accessType >::FindEqualOrSortedLastInRange(), GetBool(), GetByte(), ScQueryCellIterator< accessType >::GetCol(), ScGlobal::GetCollator(), svl::SharedString::getDataIgnoreCase(), GetDouble(), ScQueryParamBase::GetEntry(), ScQueryCellIterator< accessType >::GetFirst(), GetMatrix(), ScQueryEntry::GetQueryItem(), GetStackDoubleRef(), GetStackType(), svl::SharedString::getString(), LookupQueryWithCache(), ScQueryEntry::Item::maString, ScQueryEntry::Item::meType, ScQueryEntry::Item::mfVal, mrContext, mrDoc, MustHaveParamCount(), ScQueryParamTable::nCol1, ScQueryParamTable::nCol2, ScQueryEntry::nField, nGlobalError, ScQueryParamTable::nRow1, ScQueryParamTable::nRow2, ScQueryParamTable::nTab, PopDoubleRef(), PopSingleRef(), PushCellResultToken(), PushDouble(), PushIllegalArgument(), PushIllegalParameter(), PushNA(), PushString(), ScAddress::Row(), SC_LESS_EQUAL, SCSIZE_MAX, ScQueryCellIteratorBase< accessType, queryType >::SetAdvanceQueryParamEntryField(), svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, and svSingleRef.
Referenced by ScHLookup(), and ScVLookup().
Definition at line 707 of file interpr5.cxx.
References ScMatrixValue::fVal, ScMatrix::Get(), ScMatrix::GetDimensions(), ScMatrixValue::GetString(), ScMatrix::IsNonValueType(), and ScMatrixValue::nType.
|
private |
Definition at line 4522 of file interpr3.cxx.
References KahanSum::get(), and i.
|
private |
Definition at line 2389 of file interpr5.cxx.
|
private |
Definition at line 3211 of file interpr3.cxx.
References ScValueIterator::GetFirst(), ScValueIterator::GetNext(), ScRefCellValue::hasNumeric(), nCount, SetError(), formula::svDouble, formula::svDoubleRef, formula::svExternalDoubleRef, formula::svExternalSingleRef, formula::svMatrix, formula::svRefList, and formula::svSingleRef.
|
private |
Definition at line 3316 of file interpr3.cxx.
References KahanSum::get(), v, and values.
|
private |
Definition at line 4636 of file interpr3.cxx.
References KahanSum::get(), and i.
|
private |
Definition at line 3630 of file interpr3.cxx.
References o3tl::convertsToAtMost(), CreateDoubleError(), f, i, and n.
|
private |
Definition at line 1783 of file interpr5.cxx.
References KahanSum::get(), and i.
|
private |
Definition at line 2580 of file interpr3.cxx.
References KahanSum::get(), and i.
|
private |
Definition at line 2913 of file interpr5.cxx.
|
private |
Definition at line 2272 of file interpr5.cxx.
|
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.
Definition at line 1077 of file interpre.hxx.
References SAL_MAX_INT32.
Referenced by GetStringPositionArgument(), and ScRegex().
|
inlineprivate |
Definition at line 1108 of file interpre.hxx.
References kScInterpreterMaxStrLen, and SetError().
Referenced by ScConcat(), ScConcat_MS(), ScReplace(), ScSubstitute(), and ScTextJoin_MS().
|
inlineprivate |
Definition at line 1119 of file interpre.hxx.
References kScInterpreterMaxStrLen, and SetError().
|
private |
Definition at line 885 of file interpr1.cxx.
References aStr, sc::CompareFunc(), GetCellString(), GetCellValue(), ScDocument::GetDocOptions(), GetDouble(), GetMatrix(), GetRawStackType(), GetString(), ScRefCellValue::hasEmptyValue(), ScRefCellValue::hasString(), i, if(), ScDocOptions::IsIgnoreCase(), sc::Compare::maCells, sc::Compare::Cell::maStr, sc::Compare::Cell::mbEmpty, sc::Compare::mbIgnoreCase, sc::Compare::Cell::mbValue, sc::Compare::meOp, sc::Compare::Cell::mfValue, mrDoc, nCurFmtType, nFuncFmtType, nGlobalError, Pop(), PopDoubleRefOrSingleRef(), PopError(), SetError(), svDouble, svDoubleRef, svEmptyCell, svExternalDoubleRef, svExternalSingleRef, svMissing, svSingleRef, and svString.
Referenced by ScEqual(), ScGreater(), ScGreaterEqual(), ScLess(), ScLessEqual(), and ScNotEqual().
|
private |
pOptions | NULL means case sensitivity document option is to be used! |
Definition at line 982 of file interpr1.cxx.
References aStr, sc::CompareFunc(), ScMatrix::CompareMatrix(), GetCellString(), GetCellValue(), ScDocument::GetDocOptions(), GetDouble(), GetNewMat(), GetRangeMatrix(), GetRawStackType(), GetString(), ScRefCellValue::hasEmptyValue(), ScRefCellValue::hasString(), i, if(), ScDocOptions::IsIgnoreCase(), sc::Compare::maCells, sc::Compare::Cell::maStr, sc::Compare::Cell::mbEmpty, sc::Compare::mbIgnoreCase, sc::Compare::Cell::mbValue, sc::Compare::meOp, sc::Compare::Cell::mfValue, sc::RangeMatrix::mnCol1, sc::RangeMatrix::mnCol2, sc::RangeMatrix::mnRow1, sc::RangeMatrix::mnRow2, sc::RangeMatrix::mnTab1, sc::RangeMatrix::mnTab2, sc::RangeMatrix::mpMat, mrDoc, nCurFmtType, nFuncFmtType, nGlobalError, Pop(), PopError(), PopSingleRef(), SAL_WARN, SC_EQUAL, SC_GREATER, SC_GREATER_EQUAL, SC_LESS, SC_LESS_EQUAL, SC_NOT_EQUAL, SetError(), svDouble, svDoubleRef, svEmptyCell, svExternalDoubleRef, svExternalSingleRef, svMatrix, svMissing, svSingleRef, and svString.
Referenced by QueryMat(), ScEqual(), ScGreater(), ScGreaterEqual(), ScLess(), ScLessEqual(), and ScNotEqual().
|
private |
Definition at line 1437 of file interpr4.cxx.
References svDoubleRef, svJumpMatrix, svMatrix, and svUnknown.
Referenced by MatrixJumpConditionToMatrix().
|
private |
Definition at line 1456 of file interpr4.cxx.
References formula::FormulaToken::DecRef(), eType, ScMatrix::GetDimensions(), formula::FormulaToken::GetDoubleRef(), formula::FormulaToken::GetIndex(), formula::FormulaToken::GetMatrix(), formula::FormulaToken::GetOpCode(), ScParameterClassification::GetParameterType(), formula::FormulaToken::GetString(), svl::SharedString::getString(), formula::FormulaToken::GetType(), i, formula::FormulaToken::IncRef(), o3tl::make_unsigned(), ocMissing, ocPush, p, SetError(), svDouble, svDoubleRef, svEmptyCell, svError, svExternalDoubleRef, svExternalSingleRef, svMatrix, svMissing, svRefList, svSingleRef, and svString.
Referenced by MatrixParameterConversion().
|
private |
Definition at line 162 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 172 of file interpr4.cxx.
References ScGlobal::ConvertStringToValue().
|
private |
Definition at line 460 of file interpr4.cxx.
References aStr, CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_STRING, CELLTYPE_VALUE, ScFormulaCell::GetErrCode(), svl::SharedString::getString(), ScRefCellValue::getString(), ScFormulaCell::GetString(), ScFormulaCell::GetValue(), ScRefCellValue::isEmpty(), ScFormulaCell::IsValue(), MAXARRSIZE, MAXCOLCOUNT, MAXCOLCOUNT_JUMBO, ScRefCellValue::meType, ScRefCellValue::mfValue, ScRefCellValue::mpFormula, nCount, nPos, nType, OUStringToOString(), p, SAL_MAX_UINT16, ScAddress::SetCol(), ScAddress::SetRow(), and ScAddress::SetTab().
|
private |
Definition at line 279 of file interpr4.cxx.
References CELLTYPE_FORMULA, CELLTYPE_VALUE, ScFormulaCell::GetErrCode(), ScFormulaCell::GetValue(), ScRefCellValue::isEmpty(), ScFormulaCell::IsValue(), MAXARRSIZE, MAXCOLCOUNT, MAXCOLCOUNT_JUMBO, ScRefCellValue::meType, ScRefCellValue::mfValue, ScRefCellValue::mpFormula, nCount, nPos, p, SAL_MAX_UINT16, ScAddress::SetCol(), ScAddress::SetRow(), and ScAddress::SetTab().
|
private |
Definition at line 1779 of file interpr4.cxx.
|
private |
Definition at line 1754 of file interpr4.cxx.
References mrContext, p, and TOKEN_CACHE_SIZE.
Referenced by Interpret().
|
private |
Definition at line 316 of file interpr5.cxx.
References CELLTYPE_VALUE, ScAddress::Col(), ScCellIterator::first(), formula::FormulaToken::GetDoubleRef(), ScCellIterator::GetPos(), ScCellIterator::getRefCellValue(), ScRefCellValue::getValue(), ScCellIterator::isEmpty(), ScMatrix::IsSizeAllocatable(), ScComplexRefData::IsTrimToData(), mrContext, ScCellIterator::next(), ScAddress::Row(), and SetError().
|
private |
Definition at line 362 of file interpr4.cxx.
References aStr, CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_STRING, ScFormulaCell::GetErrCode(), svl::SharedString::getString(), ScRefCellValue::getString(), ScFormulaCell::GetString(), ScRefCellValue::isEmpty(), ScFormulaCell::IsValue(), MAXARRSIZE, MAXCOLCOUNT, MAXCOLCOUNT_JUMBO, ScRefCellValue::meType, ScRefCellValue::mpFormula, nCount, nPos, OUStringToOString(), p, and SAL_MAX_UINT16.
|
inlineprivate |
Definition at line 453 of file interpre.hxx.
References nCurFmtIndex, and nCurFmtType.
|
private |
Definition at line 7860 of file interpr1.cxx.
References div(), KahanSum::get(), GetDBParams(), ScDBQueryDataIterator::GetFirst(), ScDBQueryDataIterator::GetNext(), ifAVERAGE, ifCOUNT, ifMAX, ifMIN, ifPRODUCT, ifSUM, ifSUMSQ, MAXDOUBLE, ScDBQueryDataIterator::Value::mfValue, ScDBQueryDataIterator::Value::mnError, mrContext, mrDoc, nCount, PushDouble(), and SetError().
Referenced by ScDBAverage(), ScDBMax(), ScDBMin(), ScDBProduct(), and ScDBSum().
|
static |
Detect if string should be used as regular expression or wildcard expression or literal string.
Definition at line 9990 of file interpr1.cxx.
References eType, ScDocument::GetDocOptions(), ScDocOptions::GetFormulaSearchType(), MayBeRegExp(), MayBeWildcard(), utl::SearchParam::Normal, utl::SearchParam::Regexp, and utl::SearchParam::Wildcard.
Referenced by CalculateLookup(), GetDBParams(), IterateParametersIf(), IterateParametersIfs(), ScCountIf(), ScLookup(), ScMatch(), ScSearch(), and ScSearchB().
|
inlinestatic |
Fail safe division, returning a FormulaError::DivisionByZero coded into a double if denominator is 0.0.
Definition at line 1143 of file interpre.hxx.
References sc::div().
Referenced by DBIterator(), and IterateParametersIf().
|
private |
Definition at line 2175 of file interpr4.cxx.
References GetDoubleErrorValue(), SAL_MAX_INT32, SAL_MIN_INT32, and SetError().
Definition at line 2005 of file interpr4.cxx.
References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), ScCompiler::DoubleRefToPosSingleRefScalarCase(), ScAddress::Row(), ScAddress::SetCol(), SetError(), ScAddress::SetRow(), ScAddress::SetTab(), and ScAddress::Tab().
Referenced by GetErrorType(), and Interpret().
|
private |
Definition at line 1025 of file interpr4.cxx.
References ScRange::aEnd, ScRange::aStart, ScRange::PutInOrder(), ScComplexRefData::Ref1, ScComplexRefData::Ref2, ScAddress::Set(), and SetError().
Referenced by GetErrorType(), IterateParametersIfs(), and ScIndex().
|
private |
Definition at line 943 of file interpr4.cxx.
References formula::FormulaToken::GetDoubleRef(), PutInOrder(), ScComplexRefData::Ref1, ScComplexRefData::Ref2, and SetError().
|
private |
Definition at line 439 of file interpr3.cxx.
References SetError().
|
private |
Definition at line 7515 of file interpr1.cxx.
References aStr, ScQueryEntry::ByString, ScQueryEntry::ByValue, GetCellString(), GetCellValue(), GetDouble(), GetDoubleOrStringFromMatrix(), ScQueryEntry::GetQueryItem(), GetStackType(), GetString(), ScRefCellValue::hasNumeric(), ScMatrix::IsNonValueType(), ScQueryEntry::Item::maString, ScQueryEntry::Item::meType, ScQueryEntry::Item::mfVal, mrDoc, nType, PopDoubleRefOrSingleRef(), PushIllegalParameter(), PushInt(), svDouble, svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, svSingleRef, and svString.
Referenced by CalculateLookup(), and ScLookup().
|
staticprivate |
Definition at line 215 of file interpr3.cxx.
|
static |
Definition at line 268 of file interpr3.cxx.
|
private |
Definition at line 800 of file interpr3.cxx.
References lcl_getLanczosSum().
|
private |
Definition at line 985 of file interpr3.cxx.
References GetBetaDistPDF, GetLogBeta, lcl_GetBetaHelperContFrac(), and log.
Referenced by ScBetaDistFunction::GetValue().
|
private |
Definition at line 862 of file interpr3.cxx.
References GetBeta, GetLogBeta, log, and SetError().
|
private |
Definition at line 1232 of file interpr3.cxx.
References GetBetaDistPDF, i, and max.
|
inlineprivate |
Definition at line 433 of file interpre.hxx.
References GetDouble().
Referenced by CalculateLookup(), ScFixed(), and ScIfs_MS().
|
inlineprivate |
Definition at line 415 of file interpre.hxx.
References cPar.
Referenced by CalculateLookup(), GetDBParams(), GetStVarParams(), IterateParametersIf(), IterateParametersIfs(), ScAddressFunc(), ScAggregate(), ScAnd(), ScAreas(), ScAsc(), ScAverageIfs(), ScBitAnd(), ScBitLshift(), ScBitOr(), ScBitRshift(), ScBitXor(), ScCell(), ScColumn(), ScColumns(), ScConcat(), ScConcat_MS(), ScCountEmptyCells(), ScCountIf(), ScCountIfs(), ScCurrency(), ScExact(), ScFind(), ScFindB(), ScFixed(), ScForecast_Ets(), ScIfs_MS(), ScIndex(), ScIndirect(), ScJis(), ScLeft(), ScLeftB(), ScLookup(), ScMatch(), ScMax(), ScMaxIfs_MS(), ScMid(), ScMidB(), ScMin(), ScMinIfs_MS(), ScMultiArea(), ScNumberValue(), ScOffset(), ScOr(), ScRandbetween(), ScRegex(), ScReplace(), ScReplaceB(), ScRept(), ScRight(), ScRightB(), ScRow(), ScRows(), ScSearch(), ScSearchB(), ScSheet(), ScSheets(), ScSubstitute(), ScSubTotal(), ScSumIfs(), ScSwitch_MS(), ScText(), ScTextJoin_MS(), ScUnichar(), ScUnicode(), and ScXor().
|
staticprivate |
Definition at line 157 of file interpr4.cxx.
References CELLTYPE_FORMULA, ScFormulaCell::GetErrCode(), ScRefCellValue::meType, and ScRefCellValue::mpFormula.
Referenced by IsEven(), IsString(), ScIfError(), ScIsErr(), ScIsError(), ScIsLogical(), ScIsNV(), ScIsValue(), ScT(), and ScType().
|
private |
Definition at line 124 of file interpr4.cxx.
References CELLTYPE_FORMULA, ScFormulaCell::GetErrCode(), ScRefCellValue::isEmpty(), ScRefCellValue::meType, ScRefCellValue::mpFormula, mrContext, and SetError().
Referenced by ScIsLogical(), and ScType().
|
private |
Definition at line 244 of file interpr4.cxx.
References CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_STRING, CELLTYPE_VALUE, svl::SharedString::getEmptyString(), ScFormulaCell::GetErrCode(), ScRefCellValue::getString(), ScFormulaCell::GetString(), ScFormulaCell::GetValue(), ScFormulaCell::IsValue(), ScRefCellValue::meType, ScRefCellValue::mfValue, ScRefCellValue::mpFormula, and SetError().
Referenced by Compare(), CompareMat(), FillEntry(), GetDBParams(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScCell(), ScConcat_MS(), ScCountIf(), ScLookup(), ScMatch(), ScSwitch_MS(), ScT(), ScTextJoin_MS(), and ScValue().
|
private |
Definition at line 177 of file interpr4.cxx.
Referenced by Compare(), CompareMat(), FillEntry(), GetDBParams(), GetStVarParams(), IsEven(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScAnd(), ScCell(), ScCountIf(), ScLookup(), ScMatch(), ScMax(), ScMin(), ScOr(), ScSwitch_MS(), ScValue(), and ScXor().
|
private |
Definition at line 187 of file interpr4.cxx.
References aStr, CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_NONE, CELLTYPE_STRING, CELLTYPE_VALUE, eType, ScFormulaCell::GetErrCode(), svl::SharedString::getString(), ScRefCellValue::getString(), ScFormulaCell::GetString(), ScFormulaCell::GetValue(), ScFormulaCell::IsValue(), ScRefCellValue::meType, ScRefCellValue::mfValue, ScRefCellValue::mpFormula, mrContext, and SetError().
|
private |
You must ensure fDF>0.0.
Definition at line 669 of file interpr3.cxx.
References GetUpRegIGamma.
Referenced by ScChiDistFunction::GetValue().
|
private |
You must ensure fDF>0.0.
Definition at line 681 of file interpr3.cxx.
References GetLowRegIGamma.
Referenced by ScChiSqDistFunction::GetValue().
|
staticprivate |
Definition at line 689 of file interpr3.cxx.
References GetLogGamma, and log.
|
private |
Obtain the date serial number for a given date.
bStrict | If 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().
|
inlinestaticprivate |
Definition at line 1148 of file interpre.hxx.
|
private |
Definition at line 7722 of file interpr1.cxx.
References aStr, ScQueryEntry::bDoQuery, ScQueryEntry::ByString, ScQueryEntry::ByValue, DetectSearchType(), GetByte(), GetCellString(), GetCellValue(), GetDouble(), ScQueryEntry::GetQueryItem(), GetStackType(), svl::SharedString::getString(), GetString(), ScRefCellValue::hasNumeric(), SvNumberFormatter::IsNumberFormat(), ScQueryEntry::Item::maString, ScQueryEntry::Item::meType, ScQueryEntry::Item::mfVal, mrDoc, nCount, nGlobalError, nIndex, utl::SearchParam::Normal, pFormatter, PopDBDoubleRef(), PopDoubleRef(), PopError(), PopSingleRef(), SetError(), svDouble, svDoubleRef, svMissing, svSingleRef, svString, and ScDocument::ValidCol().
Referenced by DBIterator(), GetDBStVarParams(), ScDBCount(), and ScDBCount2().
|
private |
Definition at line 8040 of file interpr1.cxx.
References KahanSum::get(), GetDBParams(), ScDBQueryDataIterator::GetFirst(), ScDBQueryDataIterator::GetNext(), ScDBQueryDataIterator::Value::mfValue, ScDBQueryDataIterator::Value::mnError, mrContext, mrDoc, SetError(), v, and values.
Referenced by ScDBStdDev(), ScDBStdDevP(), ScDBVar(), and ScDBVarP().
|
private |
Definition at line 2085 of file interpr4.cxx.
References getString(), SetError(), svDouble, svDoubleRef, svEmptyCell, svError, svExternalDoubleRef, svExternalSingleRef, svMatrix, svMissing, svSingleRef, and svString.
Referenced by CalculateLookup(), Compare(), CompareMat(), FillEntry(), GetBool(), GetDBParams(), GetStringPositionArgument(), GetStVarParams(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScArcCos(), ScArcCosHyp(), ScArcCot(), ScArcCotHyp(), ScArcSin(), ScArcSinHyp(), ScArcTan(), ScArcTanHyp(), ScBitAnd(), ScBitLshift(), ScBitOr(), ScBitRshift(), ScBitXor(), ScChar(), ScCos(), ScCosecant(), ScCosecantHyp(), ScCosHyp(), ScCot(), ScCotHyp(), ScCountIf(), ScCurrency(), ScDeg(), ScExp(), ScFind(), ScFixed(), ScIndirect(), ScLookup(), ScMatch(), ScMax(), ScMin(), ScN(), ScNeg(), ScNot(), ScRad(), ScRandbetween(), ScSecant(), ScSecantHyp(), ScSin(), ScSinHyp(), ScSqrt(), ScSwitch_MS(), ScTan(), ScTanHyp(), ScText(), and ScTextJoin_MS().
|
private |
Definition at line 2044 of file interpr4.cxx.
References GetDoubleErrorValue(), and SetError().
|
private |
returns TRUE if double (or error, check nGlobalError), else FALSE
Definition at line 2262 of file interpr4.cxx.
References ScRefCellValue::hasNumeric(), ScMatrix::IsValueType(), nType, SetError(), svDouble, svDoubleRef, svEmptyCell, svError, svExternalDoubleRef, svExternalSingleRef, svMatrix, svMissing, svSingleRef, and svString.
Referenced by ScRegex().
|
private |
Definition at line 2423 of file interpr4.cxx.
References Empty, eType, ScMatrixValue::fVal, svl::SharedString::getEmptyString(), ScMatrixValue::GetError(), ScMatrixValue::GetString(), ScMatrix::IsValueType(), ScMatrixValue::nType, SetError(), svExternalDoubleRef, svExternalSingleRef, and svMatrix.
Referenced by FillEntry(), IterateParametersIf(), IterateParametersIfs(), ScCountIf(), ScIfError(), ScIsLogical(), ScMatch(), ScSwitch_MS(), ScT(), and ScValue().
|
private |
Definition at line 2166 of file interpr4.cxx.
Referenced by ScAddressFunc(), ScFixed(), and ScForecast_Ets().
|
inline |
Definition at line 1014 of file interpre.hxx.
References nGlobalError.
Referenced by ScFormulaCell::InterpretTail(), and ScSubstitute().
|
private |
Definition at line 9830 of file interpr1.cxx.
References DoubleRefToPosSingleRef(), DoubleRefToRange(), ScDocument::GetErrCode(), GetStackType(), mrDoc, n, nGlobalError, PopDoubleRef(), PopError(), PopSingleRef(), PopToken(), svDoubleRef, svRefList, svSingleRef, and x.
Referenced by ScErrorType(), and ScErrorType_ODF().
|
private |
Definition at line 1283 of file interpr4.cxx.
References aData, ScRange::aEnd, ScRange::aStart, ScAddress::Col(), formula::FormulaTokenArrayPlainIterator::First(), ScExternalRefManager::getDoubleRefTokens(), formula::FormulaToken::GetError(), ScExternalRefManager::getExternalFileName(), formula::FormulaToken::GetType(), ScSingleRefData::IsTabRel(), formula::FormulaTokenArrayPlainIterator::Next(), ScComplexRefData::Ref1, ScComplexRefData::Ref2, ScAddress::Row(), SetError(), svError, svMatrix, and ScComplexRefData::toAbs().
|
private |
Definition at line 640 of file interpr3.cxx.
References GetBetaDist.
Referenced by ScFDistFunction::GetValue().
|
private |
You must ensure non integer arguments for fZ<1.
Definition at line 585 of file interpr3.cxx.
References lcl_GetGammaHelper(), lcl_GetLogGammaHelper(), log, and SetError().
|
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().
|
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().
|
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().
|
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().
|
static |
Definition at line 3890 of file interpr4.cxx.
References GetOrCreateGlobalConfig().
Referenced by ScTokenArray::CheckToken(), ScModelObj::disableAutomaticDeviceSelection(), ScModelObj::enableAutomaticDeviceSelection(), ScModelObj::enableOpenCL(), sc::FormulaGroupInterpreter::getStatic(), ScFormulaCell::InterpretFormulaGroup(), and sc::FormulaGroupInterpreter::MergeCalcConfig().
|
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.
Definition at line 1895 of file interpr3.cxx.
References lcl_PutFactorialElements().
|
private |
if GetDouble() not within int16 limits sets nGlobalError and returns SAL_MAX_INT16
Definition at line 2217 of file interpr4.cxx.
References GetDoubleErrorValue(), SAL_MAX_INT16, SAL_MIN_INT16, and SetError().
Referenced by ScAddressFunc(), ScChooseJump(), and ScIndex().
|
private |
if GetDouble() not within int32 limits sets nGlobalError and returns SAL_MAX_INT32
Definition at line 2203 of file interpr4.cxx.
Referenced by ScAddressFunc(), ScAggregate(), ScIndex(), ScOffset(), and ScSubTotal().
|
private |
if GetDoubleWithDefault() not within int32 limits sets nGlobalError and returns SAL_MAX_INT32
Definition at line 2208 of file interpr4.cxx.
Referenced by ScAddressFunc().
|
staticprivate |
Definition at line 833 of file interpr3.cxx.
References lcl_getLanczosSum(), and log.
|
staticprivate |
You must ensure fZ>0.
Definition at line 629 of file interpr3.cxx.
References lcl_GetGammaHelper(), lcl_GetLogGammaHelper(), and log.
|
private |
You must ensure fA>0.0 && fX>0.0)
Definition at line 119 of file interpr6.cxx.
References GetGammaContFraction, GetGammaSeries, GetLogGamma, and log.
|
private |
Definition at line 478 of file interpr5.cxx.
References aStr, CreateDoubleError(), GetString(), ScRefCellValue::hasEmptyValue(), ScRefCellValue::hasNumeric(), p, SetError(), formula::svDouble, formula::svDoubleRef, formula::svError, formula::svExternalDoubleRef, formula::svExternalSingleRef, formula::svMatrix, formula::svMissing, formula::svSingleRef, and formula::svString.
Referenced by CalculateLookup(), Compare(), GetStVarParams(), IsEven(), IsString(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScAnd(), ScConcat_MS(), ScCountEmptyCells(), ScCountIf(), ScForecast_Ets(), ScIndex(), ScIsEmpty(), ScIsErr(), ScIsError(), ScIsNV(), ScIsValue(), ScLookup(), ScMax(), ScMin(), ScNeg(), ScNot(), ScOr(), ScTextJoin_MS(), and ScXor().
|
private |
Definition at line 592 of file interpr5.cxx.
References ScRange::GetVars(), ScAddress::INITIALIZE_INVALID, and formula::svRefList.
|
private |
Definition at line 3366 of file interpr3.cxx.
References SetError().
ScMatrixRef ScInterpreter::GetNewMat | ( | SCSIZE | nC, |
SCSIZE | nR, | ||
bool | bEmpty = false |
||
) |
Definition at line 298 of file interpr5.cxx.
Referenced by CompareMat(), GetStVarParams(), IterateParametersIf(), IterateParametersIfs(), lcl_MatrixCalculation(), ScColumn(), ScCountEmptyCells(), ScCountIf(), ScForecast_Ets(), ScFormula(), ScIndex(), ScIsFormula(), ScLookup(), ScNeg(), ScNot(), ScRandomImpl(), ScRow(), and SwitchToArrayRefList().
ScMatrixRef ScInterpreter::GetNewMat | ( | SCSIZE | nC, |
SCSIZE | nR, | ||
const std::vector< double > & | rValues | ||
) |
Definition at line 309 of file interpr5.cxx.
|
private |
Definition at line 3929 of file interpr3.cxx.
References ScRange::aEnd, ScRange::aStart, aStr, ScAddress::Col(), CreateDoubleError(), ScValueIterator::GetFirst(), ScValueIterator::GetNext(), ScRefCellValue::hasError(), ScRefCellValue::hasNumeric(), i, IgnoreErrVal, nCount, ScRange::PutInOrder(), ScAddress::Row(), SetError(), formula::svDouble, formula::svDoubleRef, formula::svExternalDoubleRef, formula::svExternalSingleRef, formula::svMatrix, formula::svRefList, and formula::svSingleRef.
|
inline |
Definition at line 1017 of file interpre.hxx.
Referenced by ScFormulaCell::InterpretTail().
|
staticprivate |
Definition at line 3878 of file interpr4.cxx.
References mpGlobalConfig.
Referenced by GetGlobalConfig(), MergeCalcConfig(), and SetGlobalConfig().
|
static |
Definition at line 3400 of file interpr3.cxx.
References nIndex.
|
private |
Definition at line 3424 of file interpr3.cxx.
References nIndex, and SetError().
|
staticprivate |
Definition at line 3758 of file interpr3.cxx.
|
private |
Definition at line 615 of file interpr5.cxx.
References sc::RangeMatrix::mpMat, and formula::svMatrix.
Referenced by CompareMat().
|
private |
Raw stack type without default replacements.
Definition at line 1951 of file interpr4.cxx.
References SetError(), and svUnknown.
Referenced by Compare(), CompareMat(), IsString(), ScIsEmpty(), ScIsValue(), and ScValue().
|
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().
|
inline |
Definition at line 1018 of file interpre.hxx.
References xResult.
Referenced by ScFormulaCell::InterpretTail().
|
inline |
Definition at line 1015 of file interpre.hxx.
Referenced by ScFormulaCell::InterpretTail().
|
inline |
Definition at line 1020 of file interpre.hxx.
References nRetFmtIndex.
Referenced by ScFormulaCell::InterpretTail().
|
inline |
Definition at line 1019 of file interpre.hxx.
References nRetFmtType.
Referenced by ScFormulaCell::InterpretTail().
|
private |
Definition at line 4112 of file interpr3.cxx.
References MAX_COUNT_DOUBLE_FOR_SORT(), and SetError().
|
private |
Definition at line 1117 of file interpr4.cxx.
References formula::FormulaToken::GetDoubleRef(), formula::FormulaToken::GetRefList(), formula::FormulaToken::GetType(), p, size, svDoubleRef, and svRefList.
Referenced by CalculateLookup(), IterateParametersIfs(), ScCountIf(), and ScMatch().
|
private |
Stack type with replacement of defaults, e.g. svMissing and formula::svEmptyCell will result in formula::svDouble.
Definition at line 1966 of file interpr4.cxx.
References SetError(), svDouble, svEmptyCell, svMissing, and svUnknown.
Referenced by CalculateLookup(), FillEntry(), GetDBParams(), GetErrorType(), GetStVarParams(), Interpret(), IsEven(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScAnd(), ScAreas(), ScCell(), ScChooseJump(), ScColumn(), ScColumns(), ScConcat_MS(), ScCountEmptyCells(), ScCountIf(), ScEqual(), ScFormula(), ScGreater(), ScGreaterEqual(), ScIfError(), ScIndex(), ScIsErr(), ScIsError(), ScIsFormula(), ScIsLogical(), ScIsNV(), ScIsRef(), ScLess(), ScLessEqual(), ScLookup(), ScMatch(), ScMax(), ScMin(), ScNeg(), ScNot(), ScNotEqual(), ScNumberValue(), ScOffset(), ScOr(), ScRandomImpl(), ScRow(), ScRows(), ScSheet(), ScSheets(), ScSwitch_MS(), ScT(), ScText(), ScTextJoin_MS(), ScType(), and ScXor().
Definition at line 1983 of file interpr4.cxx.
References svDouble, svEmptyCell, svMissing, and svUnknown.
|
private |
Definition at line 2322 of file interpr4.cxx.
References svl::SharedString::getEmptyString(), SetError(), svDouble, svDoubleRef, svEmptyCell, svError, svExternalDoubleRef, svExternalSingleRef, svMatrix, svMissing, svSingleRef, and svString.
Referenced by Compare(), CompareMat(), FillEntry(), GetDBParams(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScAddressFunc(), ScAsc(), ScCell(), ScCellExternal(), ScClean(), ScCode(), ScConcat(), ScConcat_MS(), ScCountIf(), ScExact(), ScFind(), ScFindB(), ScIndirect(), ScJis(), ScLeft(), ScLeftB(), ScLen(), ScLenB(), ScLookup(), ScLower(), ScMatch(), ScMid(), ScMidB(), ScNumberValue(), ScProper(), ScRegex(), ScReplace(), ScReplaceB(), ScRept(), ScRight(), ScRightB(), ScSearch(), ScSearchB(), ScSubstitute(), ScSwitch_MS(), ScText(), ScTextJoin_MS(), ScTrim(), ScUnicode(), ScUpper(), and ScValue().
|
private |
Definition at line 2484 of file interpr4.cxx.
References aStr, ScGlobal::eLnge, and nIndex.
|
private |
Definition at line 2401 of file interpr4.cxx.
References svl::SharedString::getEmptyString(), and SetError().
|
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 1097 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 4782 of file interpr4.cxx.
References xResult.
Referenced by ScFormulaCell::InterpretTail().
|
private |
Definition at line 3947 of file interpr1.cxx.
References CreateDoubleError(), KahanSum::get(), GetByte(), GetCellValue(), GetDouble(), ScValueIterator::GetFirst(), GetMatrix(), GetNewMat(), ScValueIterator::GetNext(), GetRefListArrayMaxSize(), GetStackType(), ScRefCellValue::hasNumeric(), ScRefCellValue::hasString(), i, IgnoreErrVal, ScRefListToken::IsArrayResult(), mnSubTotalFlags, mrDoc, n, nGlobalError, p, Pop(), PopDoubleRef(), PopError(), PopSingleRef(), pStack, PushDouble(), PushMatrix(), SetError(), sp, svDouble, svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, svRefList, svSingleRef, svString, swap(), and values.
Referenced by ScStDev(), ScStDevP(), ScVar(), and ScVarP().
|
private |
Definition at line 648 of file interpr3.cxx.
References GetBeta, GetBetaDist, R, SetError(), and X.
Referenced by ScTDistFunction::GetValue().
|
private |
Definition at line 2288 of file interpr3.cxx.
References lcl_IterateInverse(), and SetError().
|
inlineprivate |
Definition at line 1042 of file interpre.hxx.
References maTokenMatrixMap.
Referenced by ScChooseJump(), and ScIfError().
Definition at line 3844 of file interpr3.cxx.
References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), ScValueIterator::GetFirst(), ScValueIterator::GetNext(), ScRefCellValue::hasNumeric(), i, nCount, ScAddress::Row(), SetError(), formula::svDouble, formula::svDoubleRef, formula::svExternalDoubleRef, formula::svExternalSingleRef, formula::svMatrix, formula::svSingleRef, and ScAddress::Tab().
|
private |
if GetDouble() not within uint32 limits sets nGlobalError and returns SAL_MAX_UINT32
Definition at line 2246 of file interpr4.cxx.
References GetDoubleErrorValue(), SAL_MAX_UINT32, and SetError().
Referenced by ScIndex(), and ScUnichar().
|
private |
You must ensure fA>0.0 && fX>0.0)
Definition at line 130 of file interpr6.cxx.
References GetGammaContFraction, GetGammaSeries, GetLogGamma, and log.
|
private |
Only ValueCell, formula cells already store the result rounded.
Definition at line 147 of file interpr4.cxx.
References mrContext.
|
inline |
Definition at line 172 of file interpre.hxx.
References meVolatileType.
Referenced by ScFormulaCell::HandleStuffAfterParallelCalculation(), ScFormulaCell::InterpretTail(), and LookupQueryWithCache().
|
private |
Definition at line 342 of file interpr2.cxx.
|
private |
Definition at line 382 of file interpr2.cxx.
References FRIDAY, svl::SharedString::getLength(), svl::SharedString::getString(), i, svl::SharedString::isEmpty(), MONDAY, SATURDAY, SUNDAY, svDoubleRef, svExternalDoubleRef, THURSDAY, TUESDAY, and WEDNESDAY.
|
static |
Definition at line 3901 of file interpr4.cxx.
References bGlobalStackInUse, and pGlobalStack.
Referenced by ScGlobal::Clear().
|
inlineprivate |
If nGlobalError is set push formula::FormulaErrorToken.
If nGlobalError is not set do nothing. Used in PushTempToken() and alike to simplify handling.
Definition at line 292 of file interpre.hxx.
References PushTempTokenWithoutError().
void ScInterpreter::Init | ( | ScFormulaCell * | pCell, |
const ScAddress & | rPos, | ||
ScTokenArray & | rTokArray | ||
) |
Definition at line 3854 of file interpr4.cxx.
References aCode, aPos, cPar, maTokenMatrixMap, maxsp, mnStringNoValueError, mnSubTotalFlags, nCurFmtIndex, nCurFmtType, nFuncFmtIndex, nFuncFmtType, nGlobalError, NONE, nRetFmtIndex, nRetFmtType, pArr, pCur, pJumpMatrix, pMyFormulaCell, formula::FormulaTokenIterator::ReInit(), sp, and xResult.
Referenced by ScFormulaCell::HandleStuffAfterParallelCalculation(), and ScFormulaCell::InterpretTail().
|
static |
Definition at line 200 of file interpr3.cxx.
StackVar ScInterpreter::Interpret | ( | ) |
Definition at line 3960 of file interpr4.cxx.
References aCode, aPos, bMatrixFormula, cPar, CreateFormulaDoubleToken(), DoubleRefToPosSingleRef(), etsAdd, etsMult, etsPIAdd, etsPIMult, etsSeason, etsStatAdd, etsStatMult, eType, formula::FormulaTokenArrayPlainIterator::FirstRPN(), formula::FormulaToken::GetByte(), formula::FormulaToken::GetDoubleType(), formula::FormulaToken::GetError(), formula::FormulaToken::GetOpCode(), formula::FormulaToken::GetParamCount(), GetStackType(), formula::FormulaToken::GetType(), formula::FormulaTokenIterator::IsEndOfPath(), sc::RangeMatrix::isRangeValid(), JumpMatrix(), maTokenMatrixMap, MatrixParameterConversion(), maxsp, ScExternalRefCache::CellFormat::mbIsSet, meVolatileType, ScExternalRefCache::CellFormat::mnIndex, mnSubTotalFlags, ScExternalRefCache::CellFormat::mnType, sc::RangeMatrix::mpMat, nCurFmtIndex, nCurFmtType, formula::FormulaTokenIterator::Next(), formula::FormulaTokenArrayPlainIterator::NextRPN(), nFuncFmtIndex, nFuncFmtType, nGlobalError, NONE, nRetFmtIndex, nRetFmtType, ocAbs, ocAdd, ocAddress, ocAggregate, ocAmpersand, ocAnd, ocArabic, ocArcCos, ocArcCosHyp, ocArcCot, ocArcCotHyp, ocArcSin, ocArcSinHyp, ocArcTan, ocArcTan2, ocArcTanHyp, ocAreas, ocAsc, ocAveDev, ocAverage, ocAverageA, ocAverageIf, ocAverageIfs, ocB, ocBad, ocBahtText, ocBase, ocBetaDist, ocBetaDist_MS, ocBetaInv, ocBetaInv_MS, ocBinomDist, ocBinomDist_MS, ocBinomInv, ocBitAnd, ocBitLshift, ocBitOr, ocBitRshift, ocBitXor, ocCall, ocCeil, ocCeil_ISO, ocCeil_Math, ocCeil_MS, ocCeil_Precise, ocCell, ocChar, ocChiDist, ocChiDist_MS, ocChiInv, ocChiInv_MS, ocChiSqDist, ocChiSqDist_MS, ocChiSqInv, ocChiSqInv_MS, ocChiTest, ocChiTest_MS, ocChoose, ocClean, ocClose, ocCode, ocColor, ocColRowNameAuto, ocColumn, ocColumns, ocCombin, ocCombinA, ocConcat, ocConcat_MS, ocConfidence, ocConfidence_N, ocConfidence_T, ocConvertOOo, ocCorrel, ocCos, ocCosecant, ocCosecantHyp, ocCosHyp, ocCot, ocCotHyp, ocCount, ocCount2, ocCountEmptyCells, ocCountIf, ocCountIfs, ocCovar, ocCovarianceP, ocCovarianceS, ocCritBinom, ocCumIpmt, ocCumPrinc, ocCurrency, ocCurrent, ocDB, ocDBArea, ocDBAverage, ocDBCount, ocDBCount2, ocDBGet, ocDBMax, ocDBMin, ocDBProduct, ocDBStdDev, ocDBStdDevP, ocDBSum, ocDBVar, ocDBVarP, ocDDB, ocDde, ocDebugVar, ocDecimal, ocDeg, ocDevSq, ocDiv, ocEasterSunday, ocEffect, ocEncodeURL, ocEqual, ocErf_MS, ocErfc_MS, ocErrorType, ocErrorType_ODF, ocEuroConvert, ocEven, ocExact, ocExp, ocExpDist, ocExpDist_MS, ocExternal, ocFact, ocFalse, ocFDist, ocFDist_LT, ocFDist_RT, ocFilterXML, ocFind, ocFindB, ocFInv, ocFInv_LT, ocFInv_RT, ocFisher, ocFisherInv, ocFixed, ocFloor, ocFloor_Math, ocFloor_MS, ocFloor_Precise, ocForecast, ocForecast_ETS_ADD, ocForecast_ETS_MUL, ocForecast_ETS_PIA, ocForecast_ETS_PIM, ocForecast_ETS_SEA, ocForecast_ETS_STA, ocForecast_ETS_STM, ocForecast_LIN, ocFormula, ocFourier, ocFrequency, ocFTest, ocFTest_MS, ocFV, ocGamma, ocGammaDist, ocGammaDist_MS, ocGammaInv, ocGammaInv_MS, ocGammaLn, ocGammaLn_MS, ocGauss, ocGCD, ocGeoMean, ocGetActDate, ocGetActTime, ocGetDate, ocGetDateDif, ocGetDateValue, ocGetDay, ocGetDayOfWeek, ocGetDiffDate, ocGetDiffDate360, ocGetHour, ocGetMin, ocGetMonth, ocGetPivotData, ocGetSec, ocGetTime, ocGetTimeValue, ocGetYear, ocGreater, ocGreaterEqual, ocGrowth, ocHarMean, ocHLookup, ocHyperLink, ocHypGeomDist, ocHypGeomDist_MS, ocIf, ocIfError, ocIfNA, ocIfs_MS, ocIndex, ocIndirect, ocInfo, ocInt, ocIntercept, ocIntersect, ocIpmt, ocIRR, ocIsEmpty, ocIsErr, ocIsError, ocIsEven, ocIsFormula, ocIsLogical, ocIsNA, ocIsNonString, ocIsOdd, ocIsoWeeknum, ocISPMT, ocIsRef, ocIsString, ocIsValue, ocJis, ocKurt, ocLarge, ocLCM, ocLeft, ocLeftB, ocLen, ocLenB, ocLess, ocLessEqual, ocLinest, ocLn, ocLog, ocLog10, ocLogest, ocLogInv, ocLogInv_MS, ocLogNormDist, ocLogNormDist_MS, ocLookup, ocLower, ocMacro, ocMatch, ocMatDet, ocMatInv, ocMatMult, ocMatRef, ocMatrixUnit, ocMatTrans, ocMatValue, ocMax, ocMaxA, ocMaxIfs_MS, ocMedian, ocMid, ocMidB, ocMin, ocMinA, ocMinIfs_MS, ocMIRR, ocMissing, ocMod, ocModalValue, ocModalValue_MS, ocModalValue_Multi, ocMul, ocMultiArea, ocN, ocNeg, ocNegBinomDist_MS, ocNegBinomVert, ocNegSub, ocNetWorkdays, ocNetWorkdays_MS, ocNominal, ocNoName, ocNone, ocNormDist, ocNormDist_MS, ocNormInv, ocNormInv_MS, ocNot, ocNotAvail, ocNotEqual, ocNper, ocNPV, ocNumberValue, ocOdd, ocOffset, ocOr, ocPDuration, ocPearson, ocPercentile, ocPercentile_Exc, ocPercentile_Inc, ocPercentrank, ocPercentrank_Exc, ocPercentrank_Inc, ocPercentSign, ocPermut, ocPermutationA, ocPhi, ocPi, ocPlusMinus, ocPMT, ocPoissonDist, ocPoissonDist_MS, ocPow, ocPower, ocPpmt, ocProb, ocProduct, ocProper, ocPush, ocPV, ocQuartile, ocQuartile_Exc, ocQuartile_Inc, ocRad, ocRandbetweenNV, ocRandom, ocRandomNV, ocRange, ocRank, ocRank_Avg, ocRank_Eq, ocRate, ocRawSubtract, ocRegex, ocReplace, ocReplaceB, ocRept, ocRight, ocRightB, ocRoman, ocRound, ocRoundDown, ocRoundSig, ocRoundUp, ocRow, ocRows, ocRRI, ocRSQ, ocSearch, ocSearchB, ocSecant, ocSecantHyp, ocSep, ocSheet, ocSheets, ocSin, ocSinHyp, ocSkew, ocSkewp, ocSLN, ocSlope, ocSmall, ocSNormInv, ocSNormInv_MS, ocSqrt, ocStandard, ocStDev, ocStDevA, ocStDevP, ocStDevP_MS, ocStDevPA, ocStDevS, ocStdNormDist, ocStdNormDist_MS, ocSTEYX, ocStop, ocStyle, ocSub, ocSubstitute, ocSubTotal, ocSum, ocSumIf, ocSumIfs, ocSumProduct, ocSumSQ, ocSumX2DY2, ocSumX2MY2, ocSumXMY2, ocSwitch_MS, ocSYD, ocT, ocTableOp, ocTan, ocTanHyp, ocTDist, ocTDist_2T, ocTDist_MS, ocTDist_RT, ocText, ocTextJoin_MS, ocTInv, ocTInv_2T, ocTInv_MS, ocTrend, ocTrim, ocTrimMean, ocTrue, ocTrunc, ocTTest, ocTTest_MS, ocTTT, ocType, ocUnichar, ocUnicode, ocUnion, ocUpper, ocValue, ocVar, ocVarA, ocVarP, ocVarP_MS, ocVarPA, ocVarS, ocVBD, ocVLookup, ocWebservice, ocWeek, ocWeeknumOOo, ocWeibull, ocWeibull_MS, ocWorkday_MS, ocXor, ocZTest, ocZTest_MS, p, pArr, pCur, pJumpMatrix, Pop(), PopDouble(), PopDoubleRef(), PopDoubleRefPushMatrix(), PopError(), PopExternalDoubleRef(), PopExternalSingleRef(), PopMatrix(), PopRangeMatrix(), PopRefListPushMatrixOrRef(), PopSingleRef(), PopToken(), pStack, PushCellResultToken(), PushError(), PushInt(), PushNoValue(), PushTempToken(), PushTokenRef(), PushWithoutError(), QueryMatrixType(), formula::FormulaTokenIterator::Reset(), SAL_MATH_FPEXCEPTIONS_OFF, ScAbs(), ScAdd(), ScAddressFunc(), ScAggregate(), ScAmpersand(), ScAnd(), ScArabic(), ScArcCos(), ScArcCosHyp(), ScArcCot(), ScArcCotHyp(), ScArcSin(), ScArcSinHyp(), ScArcTan(), ScArcTan2(), ScArcTanHyp(), ScAreas(), ScAsc(), ScAveDev(), ScAverage(), ScAverageIf(), ScAverageIfs(), ScB(), ScBadName(), ScBahtText(), ScBase(), ScBetaDist(), ScBetaDist_MS(), ScBetaInv(), ScBinomDist(), ScBitAnd(), ScBitLshift(), ScBitOr(), ScBitRshift(), ScBitXor(), ScCeil(), ScCeil_MS(), ScCeil_Precise(), ScCell(), ScChar(), ScChiDist(), ScChiInv(), ScChiSqDist(), ScChiSqDist_MS(), ScChiSqInv(), ScChiTest(), ScChooseJump(), ScClean(), ScCode(), ScColor(), ScColRowNameAuto(), ScColumn(), ScColumns(), ScCombin(), ScCombinA(), ScConcat(), ScConcat_MS(), ScConfidence(), ScConfidenceT(), ScConvertOOo(), ScCorrel(), ScCos(), ScCosecant(), ScCosecantHyp(), ScCosHyp(), ScCot(), ScCotHyp(), ScCount(), ScCount2(), ScCountEmptyCells(), ScCountIf(), ScCountIfs(), ScCovarianceP(), ScCovarianceS(), ScCritBinom(), ScCumIpmt(), ScCumPrinc(), ScCurrency(), ScCurrent(), ScDB(), ScDBArea(), ScDBAverage(), ScDBCount(), ScDBCount2(), ScDBGet(), ScDBMax(), ScDBMin(), ScDBProduct(), ScDBStdDev(), ScDBStdDevP(), ScDBSum(), ScDBVar(), ScDBVarP(), ScDDB(), ScDde(), ScDebugVar(), ScDecimal(), ScDeg(), ScDevSq(), ScDiv(), ScEasterSunday(), ScEffect(), ScEMat(), ScEncodeURL(), ScEqual(), ScErf(), ScErfc(), ScErrorType(), ScErrorType_ODF(), ScEuroConvert(), ScEven(), ScExact(), ScExp(), ScExpDist(), ScExternal(), ScFact(), ScFalse(), ScFDist(), ScFDist_LT(), ScFilterXML(), ScFind(), ScFindB(), ScFInv(), ScFInv_LT(), ScFisher(), ScFisherInv(), ScFixed(), ScFloor(), ScFloor_MS(), ScFloor_Precise(), ScForecast(), ScForecast_Ets(), ScFormula(), ScFourier(), ScFrequency(), ScFTest(), ScFV(), ScGamma(), ScGammaDist(), ScGammaInv(), ScGauss(), ScGCD(), ScGeoMean(), ScGetActDate(), ScGetActTime(), ScGetDate(), ScGetDateDif(), ScGetDateValue(), ScGetDay(), ScGetDayOfWeek(), ScGetDiffDate(), ScGetDiffDate360(), ScGetHour(), ScGetIsoWeekOfYear(), ScGetMin(), ScGetMonth(), ScGetPivotData(), ScGetSec(), ScGetTime(), ScGetTimeValue(), ScGetWeekOfYear(), ScGetYear(), ScGreater(), ScGreaterEqual(), ScGrowth(), ScHarMean(), ScHLookup(), ScHyperLink(), ScHypGeomDist(), ScIfError(), ScIfJump(), ScIfs_MS(), ScIndex(), ScIndirect(), ScInfo(), ScInt(), ScIntercept(), ScIntersect(), ScIpmt(), ScIRR(), ScIsEmpty(), ScIsErr(), ScIsError(), ScIsEven(), ScIsFormula(), ScIsLogical(), ScIsNonString(), ScIsNV(), ScIsOdd(), ScISPMT(), ScIsRef(), ScIsString(), ScIsValue(), ScJis(), ScKurt(), ScLarge(), ScLCM(), ScLeft(), ScLeftB(), ScLen(), ScLenB(), ScLess(), ScLessEqual(), ScLinest(), ScLn(), ScLog(), ScLog10(), ScLogest(), ScLogGamma(), ScLogNormDist(), ScLogNormInv(), ScLookup(), ScLower(), ScMacro(), ScMatch(), ScMatDet(), ScMatInv(), ScMatMult(), ScMatRef(), ScMatTrans(), ScMatValue(), ScMax(), ScMaxIfs_MS(), ScMedian(), ScMid(), ScMidB(), ScMin(), ScMinIfs_MS(), ScMIRR(), ScMissing(), ScMod(), ScModalValue(), ScModalValue_MS(), ScMul(), ScMultiArea(), ScN(), ScNeg(), ScNegBinomDist(), ScNegBinomDist_MS(), ScNetWorkdays(), ScNominal(), ScNoName(), ScNormDist(), ScNormInv(), ScNot(), ScNotEqual(), ScNper(), ScNPV(), ScNumberValue(), ScOdd(), ScOffset(), ScOr(), ScPDuration(), ScPearson(), ScPercentile(), ScPercentrank(), ScPercentSign(), ScPermut(), ScPermutationA(), ScPhi(), ScPi(), ScPlusMinus(), ScPMT(), ScPoissonDist(), ScPow(), ScPower(), ScPpmt(), ScProbability(), ScProduct(), ScProper(), ScPV(), ScQuartile(), ScRad(), ScRandbetween(), ScRandom(), ScRangeFunc(), ScRank(), ScRate(), ScRawSubtract(), ScRegex(), ScReplace(), ScReplaceB(), ScRept(), ScRight(), ScRightB(), ScRoman(), ScRound(), ScRoundDown(), ScRoundSignificant(), ScRoundUp(), ScRow(), ScRows(), ScRRI(), ScRSQ(), ScSearch(), ScSearchB(), ScSecant(), ScSecantHyp(), ScSheet(), ScSheets(), ScSin(), ScSinHyp(), ScSkew(), ScSkewp(), ScSLN(), ScSlope(), ScSmall(), ScSNormInv(), ScSqrt(), ScStandard(), ScStDev(), ScStDevP(), ScStdNormDist(), ScStdNormDist_MS(), ScSTEYX(), ScStyle(), ScSub(), ScSubstitute(), ScSubTotal(), ScSum(), ScSumIf(), ScSumIfs(), ScSumProduct(), ScSumSQ(), ScSumX2DY2(), ScSumX2MY2(), ScSumXMY2(), ScSwitch_MS(), ScSYD(), ScT(), ScTableOp(), ScTan(), ScTanHyp(), ScTDist(), ScTDist_MS(), ScTDist_T(), ScText(), ScTextJoin_MS(), ScTInv(), ScTrend(), ScTrim(), ScTrimMean(), ScTrue(), ScTTest(), ScTTT(), ScType(), ScUnichar(), ScUnicode(), ScUnionFunc(), ScUpper(), ScValue(), ScVar(), ScVarP(), ScVDB(), ScVLookup(), ScWebservice(), ScWeeknumOOo(), ScWeibull(), ScWorkday_MS(), ScXor(), ScZTest(), SetError(), sp, svDouble, svDoubleRef, svEmptyCell, svError, svExternalDoubleRef, svExternalSingleRef, svJumpMatrix, svMatrix, svRefList, svSingleRef, svString, t, VOLATILE, and xResult.
Referenced by ScFormulaCell::InterpretInvariantFormulaGroup(), and ScFormulaCell::InterpretTail().
|
private |
Definition at line 3028 of file interpr1.cxx.
References CELLTYPE_FORMULA, CELLTYPE_VALUE, GetCellErrCode(), GetCellValue(), GetMatrix(), ScJumpMatrix::GetPos(), GetStackType(), ScFormulaCell::IsValue(), ScRefCellValue::meType, ScRefCellValue::mpFormula, mrDoc, nFuncFmtType, nGlobalError, pJumpMatrix, PopDouble(), PopDoubleRefOrSingleRef(), PopExternalSingleRef(), SetError(), svDouble, svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, and svSingleRef.
Referenced by ScIsEven(), and ScIsOdd().
|
inlineprivate |
Definition at line 1023 of file interpre.hxx.
References formula::FormulaToken::IsInForceArray().
Referenced by MatrixJumpConditionToMatrix(), MatrixParameterConversion(), ScFormula(), and ScIsFormula().
|
private |
Definition at line 1946 of file interpr4.cxx.
References svMissing.
Referenced by ScOffset(), and ScRegex().
|
private |
Definition at line 2033 of file interpr1.cxx.
References CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_STRING, GetCellErrCode(), GetMatrix(), ScJumpMatrix::GetPos(), GetRawStackType(), ScFormulaCell::IsEmpty(), ScFormulaCell::IsValue(), ScRefCellValue::meType, ScRefCellValue::mpFormula, mrDoc, nFuncFmtType, nGlobalError, pJumpMatrix, Pop(), PopDoubleRefOrSingleRef(), PopExternalSingleRef(), svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, svSingleRef, and svString.
Referenced by ScIsNonString(), and ScIsString().
|
private |
Definition at line 106 of file interpr4.cxx.
References ScRange::aEnd, ScInterpreterTableOpParams::aOld1, ScInterpreterTableOpParams::aOld2, ScRange::aStart, ScRange::Contains(), and i.
|
private |
Definition at line 460 of file interpr6.cxx.
References aStr, CELLTYPE_NONE, eType, sc::RangeColumnSpanSet::executeColumnAction(), ScCellIterator::first(), KahanSum::get(), ScValueIterator::GetCurNumFmtInfo(), ScValueIterator::GetFirst(), ScValueIterator::GetNext(), ScInterpreterContext::GetNumberFormatType(), ScRefCellValue::hasNumeric(), ScRefCellValue::hasString(), i, ifAVERAGE, ifCOUNT, ifCOUNT2, ifPRODUCT, ifSUM, ifSUMSQ, IgnoreErrVal, IgnoreFiltered, IgnoreHidden, IgnoreNestedStAg, ScRefListToken::IsArrayResult(), ScRefCellValue::isEmpty(), ScCellIterator::isEmpty(), IterateMatrix(), lcl_IterResult(), ScExternalRefCache::CellFormat::mbIsSet, ScRefCellValue::meType, ScExternalRefCache::CellFormat::mnIndex, ScExternalRefCache::CellFormat::mnType, nCount, ScCellIterator::next(), NONE, ocAggregate, ocSubTotal, p, ScAddress::Row(), SetError(), ScValueIterator::SetInterpreterContext(), formula::svDouble, formula::svDoubleRef, formula::svEmptyCell, formula::svError, formula::svExternalDoubleRef, formula::svExternalSingleRef, formula::svMatrix, formula::svRefList, formula::svSingleRef, formula::svString, and ScAddress::Tab().
|
private |
Definition at line 5212 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< accessType >::GetCol(), GetDouble(), GetDoubleOrStringFromMatrix(), ScQueryParamBase::GetEntry(), ScQueryCellIterator< accessType >::GetFirst(), GetMatrix(), GetNewMat(), ScQueryCellIterator< accessType >::GetNext(), ScQueryEntry::GetQueryItem(), GetRefListArrayMaxSize(), ScQueryCellIterator< accessType >::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, ScQueryCellIteratorBase< accessType, queryType >::SetAdvanceQueryParamEntryField(), ScAddress::SetCol(), SetError(), ScAddress::SetRow(), ScAddress::SetTab(), svDouble, svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, svRefList, svSingleRef, and svString.
Referenced by ScAverageIf(), and ScSumIf().
|
private |
Definition at line 5835 of file interpr1.cxx.
References ScRange::aEnd, ScRange::aStart, ScQueryEntry::bDoQuery, ScQueryEntry::ByString, ScQueryEntry::ByValue, ScQueryCellIteratorSortedCache::CanBeUsed(), CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_STRING, CELLTYPE_VALUE, ScAddress::Col(), DetectSearchType(), DoubleRefToRange(), end, ScQueryEntry::eOp, ScQueryParamBase::eSearchType, ScQueryParamBase::FillInExcelSyntax(), GetByte(), GetCellString(), GetCellValue(), ScQueryCellIterator< accessType >::GetCol(), ScDocument::GetDataAreaSubrange(), GetDouble(), GetDoubleErrorValue(), GetDoubleOrStringFromMatrix(), formula::FormulaToken::GetDoubleRef(), ScQueryParamBase::GetEntry(), ScQueryCellIterator< accessType >::GetFirst(), GetMatrix(), GetNewMat(), ScQueryCellIterator< accessType >::GetNext(), ScQueryEntry::GetQueryItem(), GetRefListArrayMaxSize(), ScQueryCellIterator< accessType >::GetRow(), ScDocument::GetSharedStringPool(), GetStackDoubleRef(), 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, pMyFormulaCell, PopDoubleRef(), PopDoubleRefOrSingleRef(), PopError(), PopExternalSingleRef(), PopSingleRef(), pos, pStack, PushDouble(), PushError(), PushMatrix(), QueryMat(), ScAddress::Row(), SC_EQUAL, ScQueryCellIteratorBase< accessType, queryType >::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().
|
private |
Definition at line 545 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.
Referenced by Interpret().
|
private |
Definition at line 10080 of file interpr1.cxx.
References aPos, ScLookupCache::CRITERIA_DIFFERENT, ScLookupCache::FOUND, ScQueryParamBase::GetEntry(), ScDocument::GetLookupCache(), GetVolatileType(), ScLookupCache::insert(), ScLookupCache::QueryCriteria::isEmptyStringQuery(), lcl_getPrevRowWithEmptyValueLookup(), lcl_LookupQuery(), ScLookupCache::lookup(), mrContext, mrDoc, ScQueryParamTable::nCol1, ScQueryParamTable::nCol2, ScQueryEntry::nField, ScLookupCache::NOT_AVAILABLE, ScLookupCache::NOT_CACHED, NOT_VOLATILE, ScQueryParamTable::nRow1, ScQueryParamTable::nRow2, ScQueryParamTable::nTab, pMyFormulaCell, and ScAddress::SetRow().
Referenced by CalculateLookup(), and ScMatch().
|
private |
Definition at line 283 of file interpr5.cxx.
References SetError().
|
private |
Definition at line 1230 of file interpr5.cxx.
References lcl_GetMinExtent().
|
inlineprivate |
Definition at line 1028 of file interpre.hxx.
References ConvertMatrixJumpConditionToMatrix(), and IsInArrayContext().
Referenced by ScChooseJump(), and ScIfError().
|
inlineprivate |
Definition at line 1034 of file interpre.hxx.
References ConvertMatrixParameters(), formula::FormulaToken::GetOpCode(), ScParameterClassification::HasForceArray(), and IsInArrayContext().
Referenced by Interpret().
|
staticprivate |
Definition at line 753 of file interpr5.cxx.
References i.
|
private |
Merge global and document specific settings.
Definition at line 3895 of file interpr4.cxx.
References ScDocument::GetCalcConfig(), GetOrCreateGlobalConfig(), maCalcConfig, ScCalcConfig::MergeDocumentSpecific(), and mrDoc.
Referenced by ScInterpreter().
|
inlineprivate |
Definition at line 1047 of file interpre.hxx.
References PushIllegalParameter(), and PushParameterExpected().
Referenced by CalculateLookup(), IterateParametersIf(), ScAddressFunc(), ScAreas(), ScAsc(), ScBitAnd(), ScBitLshift(), ScBitOr(), ScBitRshift(), ScBitXor(), ScCell(), ScColumn(), ScCountEmptyCells(), ScCountIf(), ScCurrency(), ScExact(), ScFind(), ScFindB(), ScFixed(), ScForecast_Ets(), ScIndex(), ScIndirect(), ScJis(), ScLeft(), ScLeftB(), ScLookup(), ScMatch(), ScMid(), ScMidB(), ScNumberValue(), ScOffset(), ScRandbetween(), ScRegex(), ScReplace(), ScReplaceB(), ScRept(), ScRight(), ScRightB(), ScRow(), ScSearch(), ScSearchB(), ScSheet(), ScSubstitute(), ScText(), ScUnichar(), and ScUnicode().
|
inlineprivate |
Definition at line 1058 of file interpre.hxx.
References PushIllegalParameter(), and PushParameterExpected().
|
inlineprivate |
Definition at line 1069 of file interpre.hxx.
References PushParameterExpected().
Referenced by ScAggregate(), ScAnd(), ScMax(), ScMin(), ScMultiArea(), ScOr(), ScSubTotal(), ScSwitch_MS(), ScTextJoin_MS(), and ScXor().
|
static |
Definition at line 195 of file interpr3.cxx.
|
private |
Definition at line 743 of file interpr4.cxx.
References SetError().
Referenced by Compare(), CompareMat(), GetStVarParams(), Interpret(), IsString(), JumpMatrix(), ScAggregate(), ScAnd(), ScIfError(), ScIfs_MS(), ScIsEmpty(), ScIsFormula(), ScIsRef(), ScIsValue(), ScMax(), ScMin(), ScOr(), ScSubTotal(), ScSwitch_MS(), ScValue(), and ScXor().
|
private |
Definition at line 961 of file interpr4.cxx.
References eType, SetError(), svDoubleRef, svError, svExternalDoubleRef, svMatrix, and svUnknown.
Referenced by GetDBParams().
|
private |
Definition at line 780 of file interpr4.cxx.
References formula::FormulaToken::GetDouble(), formula::FormulaToken::GetDoubleType(), formula::FormulaToken::GetError(), formula::FormulaToken::GetType(), nType, p, SetError(), svDouble, svEmptyCell, svError, and svMissing.
Referenced by Interpret(), IsEven(), ScAnd(), ScOr(), ScText(), and ScXor().
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 1043 of file interpr4.cxx.
References formula::FormulaToken::GetDoubleRef(), formula::FormulaToken::GetError(), formula::FormulaToken::GetRefList(), formula::FormulaToken::GetType(), ScComplexRefData::IsDeleted(), SetError(), size, svDoubleRef, svError, and svRefList.
Referenced by CalculateLookup(), GetDBParams(), GetErrorType(), GetStVarParams(), Interpret(), 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().
Definition at line 1095 of file interpr4.cxx.
References formula::FormulaToken::GetDoubleRef(), formula::FormulaToken::GetError(), formula::FormulaToken::GetType(), p, SetError(), svDoubleRef, and svError.
|
private |
Definition at line 1002 of file interpr4.cxx.
References formula::FormulaToken::GetError(), formula::FormulaToken::GetType(), p, SetError(), svDoubleRef, and svError.
|
private |
Definition at line 1341 of file interpr4.cxx.
References SetError(), svDoubleRef, and svSingleRef.
Referenced by Compare(), FillEntry(), IsEven(), IsString(), IterateParametersIf(), IterateParametersIfs(), ScCountIf(), ScFormula(), ScIfError(), ScIsEmpty(), ScIsErr(), ScIsError(), ScIsFormula(), ScIsLogical(), ScIsNV(), ScIsValue(), ScMatch(), ScSwitch_MS(), ScT(), ScType(), and ScValue().
|
private |
Definition at line 1363 of file interpr4.cxx.
References SetError(), and svDoubleRef.
Referenced by Interpret().
|
private |
Definition at line 753 of file interpr4.cxx.
References SetError(), and svError.
Referenced by Compare(), CompareMat(), GetDBParams(), GetErrorType(), GetStVarParams(), Interpret(), IterateParametersIfs(), JumpMatrix(), ScAnd(), ScCell(), ScColumns(), ScConcat_MS(), ScCountIf(), ScFormula(), ScIfError(), ScIsErr(), ScIsError(), ScIsLogical(), ScIsNV(), ScMax(), ScMin(), ScOffset(), ScOr(), ScRegex(), ScRows(), ScSheets(), ScSwitch_MS(), ScT(), ScText(), ScTextJoin_MS(), ScType(), and ScXor().
|
private |
Definition at line 1219 of file interpr4.cxx.
References eType, formula::FormulaToken::GetDoubleRef(), formula::FormulaToken::GetError(), formula::FormulaToken::GetIndex(), formula::FormulaToken::GetString(), svl::SharedString::getString(), formula::FormulaToken::GetType(), p, SetError(), svError, and svExternalDoubleRef.
Referenced by Interpret(), IterateParametersIf(), ScColumn(), ScColumns(), ScIsRef(), ScMatch(), ScOffset(), ScRow(), ScRows(), and ScSheets().
|
private |
Definition at line 1248 of file interpr4.cxx.
References aData.
|
private |
Definition at line 1262 of file interpr4.cxx.
References formula::FormulaToken::GetMatrix(), formula::FormulaToken::GetType(), p, SetError(), and svMatrix.
|
private |
Definition at line 1140 of file interpr4.cxx.
References eType, formula::FormulaToken::GetError(), formula::FormulaToken::GetIndex(), formula::FormulaToken::GetSingleRef(), formula::FormulaToken::GetString(), svl::SharedString::getString(), formula::FormulaToken::GetType(), p, SetError(), svError, and svExternalSingleRef.
Referenced by Interpret(), IsEven(), IsString(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScCellExternal(), ScColumn(), ScIsErr(), ScIsError(), ScIsNV(), ScIsRef(), ScIsValue(), ScMatch(), ScOffset(), and ScRow().
|
private |
Guarantees that nGlobalError is set if rToken could not be obtained.
Definition at line 1169 of file interpr4.cxx.
References aData.
|
private |
Guarantees that nGlobalError is set if rToken could not be obtained.
Definition at line 1177 of file interpr4.cxx.
References ScExternalRefManager::getExternalFileName(), ScExternalRefManager::getSingleRefToken(), ScSingleRefData::IsTabRel(), SetError(), svError, and ScSingleRefData::toAbs().
|
private |
Definition at line 1630 of file interpr4.cxx.
References formula::FormulaToken::GetError(), formula::FormulaToken::GetType(), p, SetError(), ScMatrix::SetErrorInterpreter(), svError, and svMatrix.
Referenced by Interpret(), IterateParametersIf(), ScChooseJump(), ScColumns(), ScIfError(), ScMatch(), ScRows(), and ScType().
|
private |
Definition at line 1662 of file interpr4.cxx.
References ScSingleRefData::Col(), formula::FormulaToken::GetByte(), formula::FormulaToken::GetDoubleRef(), ScSingleRefData::IsColRel(), ScSingleRefData::IsRowRel(), MATRIX_TOKEN_HAS_RANGE, sc::RangeMatrix::mnCol1, sc::RangeMatrix::mnCol2, sc::RangeMatrix::mnRow1, sc::RangeMatrix::mnRow2, sc::RangeMatrix::mnTab1, sc::RangeMatrix::mnTab2, sc::RangeMatrix::mpMat, p, ScComplexRefData::Ref1, ScComplexRefData::Ref2, ScSingleRefData::Row(), SetError(), svMatrix, and ScSingleRefData::Tab().
Referenced by Interpret().
|
private |
Definition at line 1377 of file interpr4.cxx.
References ScFormulaCell::GetErrCode(), ScRefCellValue::getString(), ScRefCellValue::getValue(), ScRefCellValue::hasEmptyValue(), ScRefCellValue::hasError(), ScRefCellValue::hasString(), i, ScRefCellValue::mpFormula, Ref1, SetError(), and svRefList.
Referenced by Interpret().
Definition at line 906 of file interpr4.cxx.
References formula::FormulaToken::GetError(), formula::FormulaToken::GetSingleRef(), formula::FormulaToken::GetType(), ScSingleRefData::IsDeleted(), p, ScAddress::Set(), SetError(), svError, and svSingleRef.
Referenced by CalculateLookup(), CompareMat(), GetDBParams(), GetErrorType(), GetStVarParams(), Interpret(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), ScAnd(), ScCell(), ScColumn(), ScConcat_MS(), ScCountEmptyCells(), ScCountIf(), ScIndex(), ScIsRef(), ScLookup(), ScMatch(), ScMax(), ScMin(), ScOffset(), ScOr(), ScRow(), ScSheet(), ScTextJoin_MS(), and ScXor().
Definition at line 897 of file interpr4.cxx.
References ScAddress::Col(), ScAddress::Row(), and ScAddress::Tab().
|
private |
Definition at line 812 of file interpr4.cxx.
References svl::SharedString::getEmptyString(), formula::FormulaToken::GetError(), formula::FormulaToken::GetString(), formula::FormulaToken::GetType(), p, SetError(), svEmptyCell, svError, svMissing, and svString.
Referenced by ScSheet().
|
private |
Definition at line 765 of file interpr4.cxx.
References formula::FormulaToken::GetError(), formula::FormulaToken::GetType(), p, SetError(), and svError.
Referenced by GetErrorType(), Interpret(), ScAggregate(), ScAreas(), ScIfs_MS(), ScIndex(), ScIsEmpty(), ScIsRef(), ScSubTotal(), ScSwitch_MS(), and ScText().
|
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 599 of file interpr4.cxx.
References formula::FormulaToken::GetType(), MAXSTACK, SetError(), and svError.
|
private |
Obtain cell result / content from address and push as temp token.
bDisplayEmptyAsString | is passed to ScEmptyCell in case of an empty cell result. |
pRetTypeExpr | |
pRetIndexExpr | Obtain number format and type if both, type and index pointer, are not NULL. |
bFinalResult | If TRUE, only a standard FormulaDoubleToken is pushed. If FALSE, PushDouble() is used that may push either a FormulaDoubleToken or a FormulaTypedDoubleToken. |
Definition at line 686 of file interpr4.cxx.
References CELLTYPE_FORMULA, ScFormulaCell::GetErrCode(), ScRefCellValue::hasEmptyValue(), ScRefCellValue::hasString(), ScRefCellValue::meType, ScRefCellValue::mpFormula, and mrContext.
Referenced by CalculateLookup(), Interpret(), and ScLookup().
|
private |
Definition at line 1789 of file interpr4.cxx.
Referenced by CalculateLookup(), DBIterator(), GetStVarParams(), IterateParametersIf(), IterateParametersIfs(), QueryMat(), ScArcCos(), ScArcCosHyp(), ScArcCot(), ScArcCotHyp(), ScArcSin(), ScArcSinHyp(), ScArcTan(), ScArcTanHyp(), ScAreas(), ScBitAnd(), ScBitLshift(), ScBitOr(), ScBitRshift(), ScBitXor(), ScCell(), ScColumn(), ScColumns(), ScCos(), ScCosecant(), ScCosecantHyp(), ScCosHyp(), ScCot(), ScCotHyp(), ScCountEmptyCells(), ScCountIf(), ScDBCount(), ScDBCount2(), ScDBStdDev(), ScDBStdDevP(), ScDBVar(), ScDBVarP(), ScDeg(), ScErrorType(), ScErrorType_ODF(), ScExp(), ScFind(), ScFindB(), ScForecast_Ets(), ScIndex(), ScLen(), ScLenB(), ScLookup(), ScMatch(), ScMax(), ScMin(), ScN(), ScNeg(), ScNumberValue(), ScPi(), ScRad(), ScRandomImpl(), ScRow(), ScRows(), ScSearch(), ScSearchB(), ScSecant(), ScSecantHyp(), ScSheet(), ScSheets(), ScSin(), ScSinHyp(), ScSqrt(), ScTan(), ScTanHyp(), ScUnicode(), and ScValue().
|
private |
Definition at line 1834 of file interpr4.cxx.
References ScComplexRefData::InitRange().
Referenced by ScIndex(), ScIndirect(), and ScOffset().
|
private |
Definition at line 1880 of file interpr4.cxx.
References ScComplexRefData::InitFromRefAddresses().
|
private |
Definition at line 1915 of file interpr4.cxx.
References SetError().
Referenced by Interpret(), IterateParametersIf(), IterateParametersIfs(), ScAverageIfs(), ScCellExternal(), ScCountIfs(), ScForecast_Ets(), ScIfError(), ScIfs_MS(), ScIndex(), ScIndirect(), ScIsFormula(), ScLookup(), ScMatch(), ScMax(), ScMaxIfs_MS(), ScMid(), ScMin(), ScMinIfs_MS(), ScNumberValue(), ScOffset(), ScRandomImpl(), ScRegex(), ScRept(), ScSubstitute(), ScSumIfs(), ScSwitch_MS(), ScT(), and ScText().
|
private |
Definition at line 1857 of file interpr4.cxx.
References ScComplexRefData::InitRange().
Referenced by ScIndirect(), and ScOffset().
|
private |
Definition at line 1845 of file interpr4.cxx.
References ScSingleRefData::InitAddress().
Referenced by ScIndirect(), and ScOffset().
|
private |
Definition at line 1931 of file interpr4.cxx.
Referenced by CalculateLookup(), ScAddressFunc(), ScAggregate(), ScArcCosHyp(), ScArcCotHyp(), ScArcTanHyp(), ScBitAnd(), ScBitLshift(), ScBitOr(), ScBitRshift(), ScBitXor(), ScCell(), ScChar(), ScChooseJump(), ScCurrency(), ScFindB(), ScFixed(), ScForecast_Ets(), ScIndex(), ScIsFormula(), ScLeft(), ScLeftB(), ScMid(), ScMidB(), ScNeg(), ScNot(), ScNumberValue(), ScOffset(), ScRandbetween(), ScRegex(), ScReplace(), ScReplaceB(), ScRept(), ScRight(), ScRightB(), ScSearch(), ScSearchB(), ScSqrt(), ScSubstitute(), ScSubTotal(), ScSwitch_MS(), ScText(), ScTextJoin_MS(), ScType(), ScUnichar(), and ScValue().
|
private |
Definition at line 1926 of file interpr4.cxx.
Referenced by CalculateLookup(), FillEntry(), MustHaveParamCount(), ScCell(), ScCellExternal(), ScChooseJump(), ScCountIf(), ScDBCount(), ScDBCount2(), ScEqual(), ScForecast_Ets(), ScGreater(), ScGreaterEqual(), ScIndex(), ScLess(), ScLessEqual(), ScLookup(), ScMatch(), ScNeg(), ScNot(), ScNotEqual(), ScOffset(), and ScUnicode().
Definition at line 1796 of file interpr4.cxx.
Referenced by FillEntry(), Interpret(), ScAnd(), ScCell(), ScCellExternal(), ScCode(), ScCountIf(), ScEqual(), ScExact(), ScFalse(), ScGreater(), ScGreaterEqual(), ScIsEmpty(), ScIsErr(), ScIsError(), ScIsEven(), ScIsFormula(), ScIsLogical(), ScIsNonString(), ScIsNV(), ScIsOdd(), ScIsRef(), ScIsString(), ScIsValue(), ScLess(), ScLessEqual(), ScMatch(), ScNot(), ScNotEqual(), ScOr(), ScPercentSign(), ScT(), ScTrue(), ScType(), ScValue(), and ScXor().
|
private |
Definition at line 1890 of file interpr4.cxx.
References sc::RangeMatrix::isRangeValid(), and sc::RangeMatrix::mpMat.
Referenced by GetStVarParams(), IterateParametersIf(), IterateParametersIfs(), JumpMatrix(), QueryMat(), ScColumn(), ScCountEmptyCells(), ScCountIf(), ScEqual(), ScForecast_Ets(), ScFormula(), ScGreater(), ScGreaterEqual(), ScIndex(), ScIsFormula(), ScLess(), ScLessEqual(), ScMax(), ScMin(), ScNeg(), ScNot(), ScNotEqual(), ScRandomImpl(), and ScRow().
|
private |
Definition at line 1904 of file interpr4.cxx.
|
private |
Definition at line 1936 of file interpr4.cxx.
Referenced by CalculateLookup(), ScErrorType(), ScErrorType_ODF(), ScIfs_MS(), ScLookup(), ScMatch(), and ScSwitch_MS().
|
private |
Definition at line 1941 of file interpr4.cxx.
Referenced by Interpret(), ScAddressFunc(), ScAnd(), ScFind(), ScFindB(), ScIfs_MS(), ScNumberValue(), ScOr(), ScSearch(), ScSearchB(), and ScXor().
|
private |
Definition at line 1921 of file interpr4.cxx.
Referenced by MustHaveParamCount(), MustHaveParamCountMin(), ScForecast_Ets(), and ScIfs_MS().
Definition at line 1824 of file interpr4.cxx.
References ScSingleRefData::InitAddress().
Referenced by ScIndex(), ScIndirect(), and ScOffset().
|
private |
Definition at line 1870 of file interpr4.cxx.
References ScSingleRefData::InitFromRefAddress().
|
private |
Definition at line 1813 of file interpr4.cxx.
Referenced by CalculateLookup(), QueryMat(), ScAddressFunc(), ScAsc(), ScCell(), ScCellExternal(), ScChar(), ScClean(), ScConcat(), ScConcat_MS(), ScCurrency(), ScFixed(), ScFormula(), ScIndex(), ScJis(), ScLeft(), ScLeftB(), ScLookup(), ScLower(), ScMid(), ScMidB(), ScProper(), ScRegex(), ScReplace(), ScReplaceB(), ScRept(), ScRight(), ScRightB(), ScSubstitute(), ScT(), ScText(), ScTextJoin_MS(), ScTrim(), ScUnichar(), and ScUpper().
|
private |
Definition at line 1818 of file interpr4.cxx.
|
private |
Definition at line 1802 of file interpr4.cxx.
References svl::SharedString::getEmptyString().
|
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 617 of file interpr4.cxx.
References formula::FormulaToken::DeleteIfZeroRef(), formula::FormulaToken::GetType(), MAXSTACK, SetError(), formula::FormulaToken::SetError(), and svError.
Referenced by Interpret().
|
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 646 of file interpr4.cxx.
References formula::FormulaToken::DecRef(), formula::FormulaToken::IncRef(), MAXSTACK, and SetError().
Referenced by IfErrorPushError().
|
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 666 of file interpr4.cxx.
References MAXSTACK, SetError(), and svError.
Referenced by Interpret(), JumpMatrix(), ScAggregate(), ScChooseJump(), ScIfError(), ScIfs_MS(), ScIndirect(), ScSubTotal(), ScSwitch_MS(), and ScText().
|
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 583 of file interpr4.cxx.
References formula::FormulaToken::IncRef(), MAXSTACK, and SetError().
Referenced by Interpret(), JumpMatrix(), ScAggregate(), and ScSubTotal().
|
private |
Definition at line 1144 of file interpr1.cxx.
References sc::CompareOptions::aQueryEntry, ScQueryEntry::ByString, CompareMat(), ScQueryEntry::eOp, ScQueryEntry::GetQueryItem(), svl::SharedString::getString(), ScQueryEntry::Item::maString, ScQueryEntry::Item::meType, ScQueryEntry::Item::mfVal, sc::RangeMatrix::mpMat, nCurFmtType, nFuncFmtType, nGlobalError, PushDouble(), PushMatrix(), PushString(), and SetError().
Referenced by IterateParametersIf(), IterateParametersIfs(), and ScCountIf().
|
private |
Definition at line 1702 of file interpr4.cxx.
References ScMatrixValue::fVal, GetDoubleErrorValue(), ScMatrixValue::GetString(), ScMatrix::IsNonValueType(), ScMatrixValue::nType, and SetError().
Referenced by Interpret().
|
staticprivate |
Definition at line 4179 of file interpr3.cxx.
References i, lcl_QuickSort(), n, and comphelper::rng::uniform_size_distribution().
|
staticprivate |
Definition at line 1991 of file interpr2.cxx.
References nCount, and SCdEpsilon.
Definition at line 87 of file interpr4.cxx.
References ScInterpreterTableOpParams::aNew1, ScInterpreterTableOpParams::aNew2, ScInterpreterTableOpParams::aOld1, ScInterpreterTableOpParams::aOld2, and i.
Definition at line 1997 of file interpr4.cxx.
Referenced by ScConcat(), ScConcat_MS(), ScIfs_MS(), ScSwitch_MS(), and ScTextJoin_MS().
|
private |
Definition at line 957 of file interpr2.cxx.
|
staticprivate |
Definition at line 1005 of file interpr2.cxx.
|
private |
Definition at line 947 of file interpr2.cxx.
Referenced by Interpret().
|
private |
Definition at line 1274 of file interpr5.cxx.
Referenced by Interpret().
|
private |
Definition at line 8328 of file interpr1.cxx.
References aPos, ScCompiler::CheckTabQuotes(), ScAddress::Col(), COL_ABS, COL_VALID, ScAddress::Format(), ScDocument::GetAddressConvention(), GetByte(), ScCompiler::GetDocTabPos(), GetDoubleWithDefault(), GetInt16(), GetInt32(), GetInt32WithDefault(), svl::SharedString::getString(), GetString(), maCalcConfig, ScCalcConfig::meStringRefAddressSyntax, mrDoc, MustHaveParamCount(), n, nGlobalError, nPos, PushIllegalArgument(), PushNoValue(), PushString(), ScAddress::Row(), ROW_ABS, ROW_VALID, u, VALID, ScDocument::ValidCol(), ScDocument::ValidRow(), and ZERO.
Referenced by Interpret().
|
private |
Definition at line 7626 of file interpr1.cxx.
References AGGREGATE_FUNC_AVE, AGGREGATE_FUNC_CNT, AGGREGATE_FUNC_CNT2, AGGREGATE_FUNC_LARGE, AGGREGATE_FUNC_MAX, AGGREGATE_FUNC_MEDIAN, AGGREGATE_FUNC_MIN, AGGREGATE_FUNC_MODSNGL, AGGREGATE_FUNC_PERCEXC, AGGREGATE_FUNC_PERCINC, AGGREGATE_FUNC_PROD, AGGREGATE_FUNC_QRTEXC, AGGREGATE_FUNC_QRTINC, AGGREGATE_FUNC_SMALL, AGGREGATE_FUNC_STD, AGGREGATE_FUNC_STDP, AGGREGATE_FUNC_SUM, AGGREGATE_FUNC_VAR, AGGREGATE_FUNC_VARP, cPar, GetByte(), GetInt32(), IgnoreErrVal, IgnoreHidden, IgnoreNestedStAg, mnSubTotalFlags, MustHaveParamCountMin(), nGlobalError, NONE, p, Pop(), PopToken(), pStack, PushIllegalArgument(), PushTokenRef(), PushWithoutError(), ScAverage(), ScCount(), ScCount2(), ScLarge(), ScMax(), ScMedian(), ScMin(), ScModalValue(), ScPercentile(), ScProduct(), ScQuartile(), ScSmall(), ScStDev(), ScStDevP(), ScSum(), ScVar(), ScVarP(), and sp.
Referenced by Interpret().
|
private |
Definition at line 1407 of file interpr5.cxx.
References GetString(), i, and formula::svMatrix.
Referenced by Interpret().
|
private |
Definition at line 1268 of file interpr1.cxx.
References GetByte(), GetCellValue(), GetDoubleErrorValue(), ScValueIterator::GetFirst(), GetMatrix(), ScValueIterator::GetNext(), GetStackType(), ScRefCellValue::hasNumeric(), mrDoc, MustHaveParamCountMin(), nFuncFmtType, nGlobalError, Pop(), PopDouble(), PopDoubleRef(), PopError(), PopSingleRef(), PushInt(), PushNoValue(), SetError(), svDouble, svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svMatrix, svRefList, svSingleRef, and svString.
Referenced by Interpret().
|
private |
Definition at line 3065 of file interpr2.cxx.
References GetString(), lcl_GetArabicValue(), and nValue.
Referenced by Interpret().
|
private |
Definition at line 1878 of file interpr1.cxx.
References GetDouble(), and PushDouble().
Referenced by Interpret().
|
private |
Definition at line 1918 of file interpr1.cxx.
References GetDouble(), PushDouble(), and PushIllegalArgument().
Referenced by Interpret().
|
private |
Definition at line 1888 of file interpr1.cxx.
References GetDouble(), and PushDouble().
Referenced by Interpret().
|
private |
Definition at line 1936 of file interpr1.cxx.
References GetDouble(), log, PushDouble(), and PushIllegalArgument().
Referenced by Interpret().
|
private |