diff options
author | shiming zhang <shiming@multicorewareinc.com> | 2013-12-31 14:01:08 +0800 |
---|---|---|
committer | I-Jui (Ray) Sung <ray@multicorewareinc.com> | 2013-12-31 17:20:06 -0600 |
commit | 2203cc63c494a9330cb4e078797b44310a684148 (patch) | |
tree | 3e53dbe15a31905f1f20d4033ee9de5270385830 | |
parent | 93c0e1dfc64ffbf155cdc8fbd235d628444967b0 (diff) |
GPU Calc: Fix bug of support optional parameter for STDEVA
AMLOEXT-404 FIX
Change-Id: Idb3dae8907b753c8680de8673621102128e43ef0
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>
-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 ba1e20a86a4a..f26d7ba0f6e9 100644 --- a/sc/source/core/opencl/op_statistical.cxx +++ b/sc/source/core/opencl/op_statistical.cxx @@ -10640,6 +10640,7 @@ void OpStDevA::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; @@ -10852,6 +10853,17 @@ void OpStDevA::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()) @@ -10950,6 +10962,16 @@ void OpStDevA::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 @@ -11029,6 +11051,7 @@ void OpStDevA::GenSlidingWindowFunction(std::stringstream &ss, ss << " return sqrt(vSum * pow(fCount - 1.0,-1.0));\n"; ss << "}\n"; } + void OpStDevPA::GenSlidingWindowFunction(std::stringstream &ss, const std::string sSymName, SubArguments &vSubArguments) { |