diff options
author | shiming zhang <shiming@multicorewareinc.com> | 2013-12-31 13:09:33 +0800 |
---|---|---|
committer | I-Jui (Ray) Sung <ray@multicorewareinc.com> | 2013-12-31 17:20:05 -0600 |
commit | 7c0f22ffd20417abde916ad08468b8230f349e8b (patch) | |
tree | 7d1d60ef7d5669fdd5435fe3a6b4715093423908 /sc | |
parent | 28759cea9eecd2be14028ebbd76d48031070e663 (diff) |
GPU Calc: Fix bug of support optional parameter for VARA
AMLOEXT-402 FIX
Change-Id: I61b051324bb1421aafb048d3b76b50e182734076
Signed-off-by: haochen <haochen@multicorewareinc.com>
Signed-off-by: Wei Wei <weiwei@multicorewareinc.com>
Signed-off-by: I-Jui (Ray) Sung <ray@multicorewareinc.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/opencl/op_statistical.cxx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sc/source/core/opencl/op_statistical.cxx b/sc/source/core/opencl/op_statistical.cxx index 54ec99cf0d80..864146cd9265 100644 --- a/sc/source/core/opencl/op_statistical.cxx +++ b/sc/source/core/opencl/op_statistical.cxx @@ -9753,6 +9753,7 @@ void OpVarA::GenSlidingWindowFunction(std::stringstream &ss, { const formula::DoubleVectorRefToken* pDVR = dynamic_cast<const formula::DoubleVectorRefToken *>(pCur); + assert(pDVR); if(pDVR->GetArrays()[0].mpNumericArray && pDVR->GetArrays()[0].mpStringArray) isMixedDV = svDoubleVectorRefDoubleString; @@ -9965,6 +9966,17 @@ void OpVarA::GenSlidingWindowFunction(std::stringstream &ss, { const formula::DoubleVectorRefToken* pDVR = dynamic_cast<const formula::DoubleVectorRefToken *>(pCur); + assert(pDVR); + if(pDVR->GetArrays()[0].mpNumericArray + && pDVR->GetArrays()[0].mpStringArray) + isMixedDV = svDoubleVectorRefDoubleString; + else if(pDVR->GetArrays()[0].mpNumericArray) + isMixedDV = svDoubleVectorRefDouble; + else if(pDVR->GetArrays()[0].mpStringArray) + isMixedDV = svDoubleVectorRefString; + else + isMixedDV = svDoubleVectorRefNULL; + size_t nCurWindowSize = pDVR->GetRefRowSize(); ss << " for (int i = "; if (!pDVR->IsStartFixed() && pDVR->IsEndFixed()) @@ -10063,6 +10075,16 @@ void OpVarA::GenSlidingWindowFunction(std::stringstream &ss, const formula::SingleVectorRefToken* pSVR = dynamic_cast< const formula::SingleVectorRefToken* >(pCur); assert(pSVR); + if(pSVR->GetArray().mpNumericArray + && pSVR->GetArray().mpStringArray) + isMixedSV = svSingleVectorRefDoubleString; + else if(pSVR->GetArray().mpNumericArray) + isMixedSV = svSingleVectorRefDouble; + else if(pSVR->GetArray().mpStringArray) + isMixedSV = svSingleVectorRefString; + else + isMixedSV = svSingleVectorRefNULL; + if(isMixedSV == svSingleVectorRefDoubleString) { #ifdef ISNAN @@ -10142,6 +10164,7 @@ void OpVarA::GenSlidingWindowFunction(std::stringstream &ss, ss << " return vSum * pow(fCount - 1.0,-1.0);\n"; ss << "}\n"; } + void OpVarPA::GenSlidingWindowFunction(std::stringstream &ss, const std::string sSymName, SubArguments &vSubArguments) { |