diff options
author | Tor Lillqvist <tml@collabora.com> | 2017-08-16 12:21:53 +0300 |
---|---|---|
committer | Dennis Francis <dennis.francis@collabora.co.uk> | 2017-11-21 16:09:40 +0530 |
commit | 99a36cb35c92e3e6b4ff2db257df221cb74c9eae (patch) | |
tree | 5d06a7a170b883702dd3f481d62fe36462dc6291 /sc/inc/document.hxx | |
parent | a60ffa6985dec32cc73032a7774f58694a6ee9a7 (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.hxx | 5 |
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; |