Kaydet (Commit) 64e00fab authored tarafından Kohei Yoshida's avatar Kohei Yoshida

More C++11 specific features we aren't supposed to be using...

* No 'auto'.
* No std::unique_ptr.

Change-Id: Iaceab28b9ad0b515bf77db2767018573c8de61de
üst 8817dcb8
...@@ -661,7 +661,8 @@ template<class Op> ...@@ -661,7 +661,8 @@ template<class Op>
class DynamicKernelSoPArguments: public DynamicKernelArgument class DynamicKernelSoPArguments: public DynamicKernelArgument
{ {
public: public:
typedef std::unique_ptr<DynamicKernelArgument> SubArgument; typedef boost::shared_ptr<DynamicKernelArgument> SubArgument;
typedef std::vector<SubArgument> SubArgumentsType;
DynamicKernelSoPArguments(const std::string &s, DynamicKernelSoPArguments(const std::string &s,
boost::shared_ptr<FormulaTreeNode> ft); boost::shared_ptr<FormulaTreeNode> ft);
...@@ -670,8 +671,9 @@ public: ...@@ -670,8 +671,9 @@ public:
virtual size_t Marshal(cl_kernel k, int argno, int nVectorWidth) virtual size_t Marshal(cl_kernel k, int argno, int nVectorWidth)
{ {
unsigned i = 0; unsigned i = 0;
for(auto it = mvSubArguments.begin(), e= mvSubArguments.end(); it!=e; for (SubArgumentsType::iterator it = mvSubArguments.begin(), e= mvSubArguments.end(); it!=e;
++it) { ++it)
{
i += (*it)->Marshal(k, argno + i, nVectorWidth); i += (*it)->Marshal(k, argno + i, nVectorWidth);
} }
return i; return i;
...@@ -716,8 +718,9 @@ public: ...@@ -716,8 +718,9 @@ public:
/// When declared as input to a sliding window function /// When declared as input to a sliding window function
virtual void GenSlidingWindowDecl(std::stringstream &ss) const virtual void GenSlidingWindowDecl(std::stringstream &ss) const
{ {
for(auto it = mvSubArguments.begin(), e= mvSubArguments.end(); it!=e; for (SubArgumentsType::const_iterator it = mvSubArguments.begin(), e= mvSubArguments.end(); it!=e;
++it) { ++it)
{
if (it != mvSubArguments.begin()) if (it != mvSubArguments.begin())
ss << ", "; ss << ", ";
(*it)->GenSlidingWindowDecl(ss); (*it)->GenSlidingWindowDecl(ss);
...@@ -757,7 +760,7 @@ public: ...@@ -757,7 +760,7 @@ public:
return t; return t;
} }
private: private:
std::vector<SubArgument> mvSubArguments; SubArgumentsType mvSubArguments;
Op CodeGen; Op CodeGen;
}; };
......
...@@ -65,15 +65,18 @@ size_t DynamicKernelArgument::GetWindowSize(void) const ...@@ -65,15 +65,18 @@ size_t DynamicKernelArgument::GetWindowSize(void) const
{ {
FormulaToken *pCur = mFormulaTree->GetFormulaToken(); FormulaToken *pCur = mFormulaTree->GetFormulaToken();
assert(pCur); assert(pCur);
if (auto *pCurDVR = if (const formula::DoubleVectorRefToken* pCurDVR =
dynamic_cast<const formula::DoubleVectorRefToken *>(pCur)) dynamic_cast<const formula::DoubleVectorRefToken *>(pCur))
{ {
return pCurDVR->GetRefRowSize(); return pCurDVR->GetRefRowSize();
} else if (dynamic_cast<const formula::SingleVectorRefToken *>(pCur)) }
else if (dynamic_cast<const formula::SingleVectorRefToken *>(pCur))
{ {
// Prepare intermediate results (on CPU for now) // Prepare intermediate results (on CPU for now)
return 1; return 1;
} else { }
else
{
throw Unhandled(); throw Unhandled();
} }
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment