12 #include <config_feature_opencl.h>
19 #if HAVE_FEATURE_OPENCL
24 #include <unordered_map>
81 ColArray( NumArrayType* pNumArray, StrArrayType* pStrArray );
84 typedef std::unordered_map<ColKey, ColArray, ColKey::Hash>
ColArraysType;
94 SCTAB nTab,
SCCOL nCol, NumArrayType* pNumArray, StrArrayType* pStrArray );
136 #if HAVE_FEATURE_OPENCL
137 static void fillOpenCLInfo(std::vector<OpenCLPlatformInfo>& rPlatforms);
138 static bool switchOpenCLDevice(
const OUString& rDeviceId,
bool bAutoSelect,
bool bForceEvaluation =
false);
140 static void enableOpenCL_UnitTestsOnly();
141 static void disableOpenCL_UnitTestsOnly();
Matrix data type that can store values of mixed types.
::boost::intrusive_ptr< ScFormulaCellGroup > ScFormulaCellGroupRef
ColArray * setCachedColArray(SCTAB nTab, SCCOL nCol, NumArrayType *pNumArray, StrArrayType *pStrArray)
void getOpenCLDeviceInfo(size_t &rDeviceId, size_t &rPlatformId)
std::vector< std::unique_ptr< NumArrayType > > NumArrayStoreType
bool switchOpenCLDevice(const OUString *pDeviceId, bool bAutoSelect, bool bForceEvaluation, OUString &rOutSelectedDeviceVersionIDString)
ColArray * getCachedColArray(SCTAB nTab, SCCOL nCol, size_t nSize)
keep track of longest array for each column.
size_t operator()(const ColKey &rKey) const
std::vector< std::unique_ptr< StrArrayType > > StrArrayStoreType
void ensureStrArray(ColArray &rColArray, size_t nArrayLen)
ColArray(NumArrayType *pNumArray, StrArrayType *pStrArray)
::boost::intrusive_ptr< ScMatrix > ScMatrixRef
std::vector< double, DoubleAllocType > NumArrayType
bool operator==(const ColKey &r) const
StrArrayStoreType m_StrArrays
manage life cycle of numeric arrays.
void discardCachedColArray(SCTAB nTab, SCCOL nCol)
const FormulaGroupContext & operator=(const FormulaGroupContext &)=delete
NumArrayType * mpNumArray
CAUTION! The following defines must be in the same namespace as the respective type.
ColKey(SCTAB nTab, SCCOL nCol)
AlignedAllocator< double, 256 > DoubleAllocType
StrArrayType * mpStrArray
FormulaGroupEntry(ScFormulaCell **pCells, size_t nRow, size_t nLength)
Custom allocator for STL container to ensure that the base address of allocated storage is aligned to...
std::vector< rtl_uString * > StrArrayType
Configuration options for formula interpreter.
NumArrayStoreType m_NumArrays
std::unordered_map< ColKey, ColArray, ColKey::Hash > ColArraysType
void ensureNumArray(ColArray &rColArray, size_t nArrayLen)
const std::vector< OpenCLPlatformInfo > & fillOpenCLInfo()
ColArraysType maColArrays
manage life cycle of string arrays.