diff options
author | haochen <haochen@multicorewareinc.com> | 2014-06-11 12:59:37 +0800 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-06-12 02:10:17 +0200 |
commit | 3183bfa7da9771ef355538751d81009e9c1c5c8c (patch) | |
tree | 4aa46cfdaf4a87e9f4d5ce5e8f7df965a6f40847 /sc | |
parent | fb22eb425735b2741c3cb77d9a1700b663acd11b (diff) |
GPU Calc:Add more judge for NAN in SingleVector parameter
Change-Id: I01f2576e9d8f6a2e677d1fb08097bc81f15bfbe0
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/opencl/opbase.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sc/source/core/opencl/opbase.cxx b/sc/source/core/opencl/opbase.cxx index ccd653c938db..02b9c37bb28d 100644 --- a/sc/source/core/opencl/opbase.cxx +++ b/sc/source/core/opencl/opbase.cxx @@ -64,10 +64,10 @@ std::string VectorRef::GenSlidingWindowDeclRef(bool nested) const std::stringstream ss; formula::SingleVectorRefToken *pSVR = dynamic_cast<formula::SingleVectorRefToken*>(DynamicKernelArgument::GetFormulaToken()); - if (pSVR&&nested) + if (pSVR&&!nested) ss << "(gid0 < " << pSVR->GetArrayLength() << "?"; ss << mSymName << "[gid0]"; - if (pSVR&&nested) + if (pSVR&&!nested) ss << ":NAN)"; return ss.str(); } @@ -155,7 +155,7 @@ void CheckVariables::CheckSubArgumentIsNan( std::stringstream & ss, ss<< " if("; } ss<< "isNan("; - ss<< vSubArguments[i]->GenSlidingWindowDeclRef(false); + ss<< vSubArguments[i]->GenSlidingWindowDeclRef(true); ss<<"))\n"; ss<< " tmp"; ss<< i; @@ -164,7 +164,7 @@ void CheckVariables::CheckSubArgumentIsNan( std::stringstream & ss, ss <<" tmp"; ss <<i; ss << "="; - ss << vSubArguments[i]->GenSlidingWindowDeclRef(false); + ss << vSubArguments[i]->GenSlidingWindowDeclRef(true); ss<<";\n"; } |