提交 62c810f3 authored 作者: Iban Harlouchet's avatar Iban Harlouchet

flake8 of theano/scalar/basic_scipy.py

上级 65019192
...@@ -296,51 +296,51 @@ class Psi(UnaryScalarOp): ...@@ -296,51 +296,51 @@ class Psi(UnaryScalarOp):
def c_support_code(self): def c_support_code(self):
return ( return (
""" """
// For GPU support // For GPU support
#ifdef __CUDACC__ #ifdef __CUDACC__
#define DEVICE __device__ #define DEVICE __device__
#else #else
#define DEVICE #define DEVICE
#endif #endif
#ifndef _PSIFUNCDEFINED #ifndef _PSIFUNCDEFINED
#define _PSIFUNCDEFINED #define _PSIFUNCDEFINED
DEVICE double _psi(double x){ DEVICE double _psi(double x){
/*taken from /*taken from
Bernardo, J. M. (1976). Algorithm AS 103: Bernardo, J. M. (1976). Algorithm AS 103:
Psi (Digamma) Function. Applied Statistics. 25 (3), 315-317. Psi (Digamma) Function. Applied Statistics. 25 (3), 315-317.
http://www.uv.es/~bernardo/1976AppStatist.pdf */ http://www.uv.es/~bernardo/1976AppStatist.pdf */
double y, R, psi_ = 0; double y, R, psi_ = 0;
double S = 1.0e-5; double S = 1.0e-5;
double C = 8.5; double C = 8.5;
double S3 = 8.333333333e-2; double S3 = 8.333333333e-2;
double S4 = 8.333333333e-3; double S4 = 8.333333333e-3;
double S5 = 3.968253968e-3; double S5 = 3.968253968e-3;
double D1 = -0.5772156649; double D1 = -0.5772156649;
y = x; y = x;
if (y <= 0.0) if (y <= 0.0)
return psi_; return psi_;
if (y <= S ) if (y <= S )
return D1 - 1.0/y; return D1 - 1.0/y;
while (y < C){ while (y < C){
psi_ = psi_ - 1.0 / y; psi_ = psi_ - 1.0 / y;
y = y + 1;} y = y + 1;}
R = 1.0 / y; R = 1.0 / y;
psi_ = psi_ + log(y) - .5 * R ; psi_ = psi_ + log(y) - .5 * R ;
R= R*R; R= R*R;
psi_ = psi_ - R * (S3 - R * (S4 - R * S5)); psi_ = psi_ - R * (S3 - R * (S4 - R * S5));
return psi_;} return psi_;}
#endif #endif
""" ) """)
def c_code(self, node, name, inp, out, sub): def c_code(self, node, name, inp, out, sub):
x, = inp x, = inp
......
...@@ -114,7 +114,6 @@ whitelist_flake8 = [ ...@@ -114,7 +114,6 @@ whitelist_flake8 = [
"tensor/nnet/tests/test_conv3d.py", "tensor/nnet/tests/test_conv3d.py",
"tensor/nnet/tests/speed_test_conv.py", "tensor/nnet/tests/speed_test_conv.py",
"tensor/nnet/tests/test_sigm.py", "tensor/nnet/tests/test_sigm.py",
"scalar/basic_scipy.py",
"scalar/basic_sympy.py", "scalar/basic_sympy.py",
"scalar/__init__.py", "scalar/__init__.py",
"scalar/basic.py", "scalar/basic.py",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论