Kaydet (Commit) 6c29963f authored tarafından zhenyu yuan's avatar zhenyu yuan Kaydeden (comit) I-Jui (Ray) Sung

GPU Calc: Optimized COSH

AMLOEXT-256

Change-Id: I1e94b145943b88ba3c5cfd650577d8151d806550
Signed-off-by: 's avatarhaochen <haochen@multicorewareinc.com>
Signed-off-by: 's avatarWei Wei <weiwei@multicorewareinc.com>
Signed-off-by: 's avatarI-Jui (Ray) Sung <ray@multicorewareinc.com>
üst fa42c60b
......@@ -52,6 +52,13 @@ void OpCos::GenSlidingWindowFunction(std::stringstream &ss,
ss << "}";
}
void OpCosh::BinInlineFun(std::set<std::string>& decls,
std::set<std::string>& funs)
{
decls.insert(local_coshDecl);
funs.insert(local_cosh);
}
void OpCosh::GenSlidingWindowFunction(std::stringstream &ss,
const std::string sSymName, SubArguments &vSubArguments)
{
......@@ -76,7 +83,7 @@ void OpCosh::GenSlidingWindowFunction(std::stringstream &ss,
ss<<"))\n";
ss<<" arg0 = 0;\n";
#endif
ss << " double tmp=cosh(arg0);\n";
ss << " double tmp=local_cosh(arg0);\n";
ss << " return tmp;\n";
ss << "}";
}
......
......@@ -46,7 +46,7 @@ class OpCosh: public Normal
public:
virtual void GenSlidingWindowFunction(std::stringstream &ss,
const std::string sSymName, SubArguments &vSubArguments);
virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>& );
virtual std::string BinFuncName(void) const { return "Cosh"; }
};
class OpSinh: public Normal
......
......@@ -47,6 +47,15 @@ std::string local_coth =
" return nVal;\n"
"}\n";
std::string local_coshDecl = "double local_cosh(double n);\n";
std::string local_cosh =
"double local_cosh(double n)\n"
"{\n"
" double nVal = (exp(n) + exp(-n)) / 2;\n"
" return nVal;\n"
"}\n";
#endif //SC_OPENCL_OPINLINFUN_MATH
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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