Kaydet (Commit) fe5218aa authored tarafından Wei Wei's avatar Wei Wei Kaydeden (comit) I-Jui (Ray) Sung

GPU Calc: optimize GAMMINV

Change-Id: I103f8c70ad9b2517225fe2eee6d81f8e43e54614
Signed-off-by: 's avatarI-Jui (Ray) Sung <ray@multicorewareinc.com>
üst df54e4f1
......@@ -6349,9 +6349,10 @@ void OpGammaInv::GenSlidingWindowFunction(std::stringstream &ss,
" {\n"
" if (fPy!=fQy && fQy!=fRy && fRy!=fPy)\n"
" {\n"
" fSx = fPx * fRy * fQy / (fRy-fPy) / (fQy-fPy)"
"+ fRx * fQy * fPy / (fQy-fRy) / (fPy-fRy)"
"+ fQx * fPy * fRy / (fPy-fQy) / (fRy-fQy);\n"
" fSx = fPx * fRy * fQy *pow( (fRy-fPy),-1) *pow"
"( (fQy-fPy),-1)"
"+ fRx * fQy * fPy *pow( (fQy-fRy),-1) *pow( (fPy-fRy),-1)"
"+ fQx * fPy * fRy *pow( (fPy-fQy),-1) *pow( (fRy-fQy),-1);\n"
" bHasToInterpolate = (fAx < fSx) && (fSx < fBx);\n"
" }\n"
" else\n"
......@@ -6468,7 +6469,8 @@ void OpFInv::GenSlidingWindowFunction(std::stringstream &ss,
ss << "))\n";
ss << " arg"<<i<<"= 0;\n";
ss << " else\n";
ss << " arg"<<i<<"="<<vSubArguments[i]->GenSlidingWindowDeclRef();
ss << " arg"<<i<<"="<<vSubArguments[i]->
GenSlidingWindowDeclRef();
ss << ";\n";
ss << " }\n";
ss << " else\n";
......@@ -6483,7 +6485,8 @@ void OpFInv::GenSlidingWindowFunction(std::stringstream &ss,
ss << "))\n";
ss << " arg"<<i<<"= 0;\n";
ss << " else\n";
ss << " arg"<<i<<"="<<vSubArguments[i]->GenSlidingWindowDeclRef();
ss << " arg"<<i<<"="<<vSubArguments[i]->
GenSlidingWindowDeclRef();
ss << ";\n";
#endif
}
......
......@@ -238,7 +238,7 @@ std::string GetGammaInvValue =
" return 0.0;\n"
" else\n"
" {\n"
" double fX=fX1/fBeta;\n"
" double fX=fX1*pow(fBeta,-1.0);\n"
" double fLnFactor = fAlpha * log(fX) - fX - lgamma(fAlpha);\n"
" double fFactor = exp(fLnFactor);\n"
" if (fX>fAlpha+1.0)\n"
......
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