summaryrefslogtreecommitdiff
path: root/sc/inc/document.hxx
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2017-08-16 12:21:53 +0300
committerDennis Francis <dennis.francis@collabora.co.uk>2017-11-21 16:09:40 +0530
commit99a36cb35c92e3e6b4ff2db257df221cb74c9eae (patch)
tree5d06a7a170b883702dd3f481d62fe36462dc6291 /sc/inc/document.hxx
parenta60ffa6985dec32cc73032a7774f58694a6ee9a7 (diff)
First steps for Calc parallelism
For now, formula group calculations are done in parallel threads when 1) OpenCL is not used, and 2) the environment variable CPU_THREADED_CALCULATION is set. This commit is a surely broken first step and does not actually work that well at all. Change-Id: Ia7e5019703ba89bff0695faef0f7504765061149
Diffstat (limited to 'sc/inc/document.hxx')
-rw-r--r--sc/inc/document.hxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index dec590867b13..e1ba0f33f30a 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -2008,6 +2008,8 @@ public:
void SC_DLLPUBLIC SetFormulaResults( const ScAddress& rTopPos, const double* pResults, size_t nLen );
void SC_DLLPUBLIC SetFormulaResults( const ScAddress& rTopPos, const formula::FormulaConstTokenRef* pResults, size_t nLen );
+ void CalculateInColumnInThread( const ScAddress& rTopPos, size_t nLen, unsigned nThisThread, unsigned nThreadsTotal);
+
/**
* Transfer a series of contiguous cell values from specified position to
* the passed container. The specified segment will become empty after the
@@ -2296,6 +2298,7 @@ public:
formula::FormulaTokenRef ResolveStaticReference( const ScRange& rRange );
formula::VectorRefArray FetchVectorRefArray( const ScAddress& rPos, SCROW nLength );
+ bool HandleRefArrayForParallelism( const ScAddress& rPos, SCROW nLength );
/**
* Call this before any operations that might trigger one or more formula
@@ -2335,6 +2338,7 @@ public:
void ConvertFormulaToValue( const ScRange& rRange, sc::TableValues* pUndo );
void SwapNonEmpty( sc::TableValues& rValues );
void finalizeOutlineImport();
+ bool TableExists( SCTAB nTab ) const;
SC_DLLPUBLIC ScColumnsRange GetColumnsRange(SCTAB nTab, SCCOL nColBegin, SCCOL nColEnd) const;
@@ -2355,7 +2359,6 @@ private:
ScDocument* mpDoc;
};
- bool TableExists( SCTAB nTab ) const;
ScTable* FetchTable( SCTAB nTab );
const ScTable* FetchTable( SCTAB nTab ) const;