From 8b0763b656f8b15e057a401d54e195f13ffa546b Mon Sep 17 00:00:00 2001
From: Pat Virtue <pat.virtue@gmail.com>
Date: Sat, 13 May 2017 02:17:56 -0700
Subject: [PATCH] Fixed sign error in GPU implementation of ComplexSiglog

---
 src/caffe/layers/complex_siglog_layer.cu | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/caffe/layers/complex_siglog_layer.cu b/src/caffe/layers/complex_siglog_layer.cu
index 1d8cea1e1e6..186fa60f46d 100644
--- a/src/caffe/layers/complex_siglog_layer.cu
+++ b/src/caffe/layers/complex_siglog_layer.cu
@@ -53,7 +53,7 @@ __global__ void ComplexSiglogBackward(const int n, const cuComplex* bottom,
     // Useful temp variable
     float c_r_sz_d = c + 1.0/r * sz_to_d;
 
-    float dfdz_numer = (c_r_sz_d)*s + s*(d/(2*r) * s_to_d * z_to_d);
+    float dfdz_numer = (c_r_sz_d)*s - s*(d/(2*r) * s_to_d * z_to_d);
     float dfdz_denom = c_r_sz_d * c_r_sz_d + 1e-14;
     cuComplex dfdz = make_cuFloatComplex(dfdz_numer/dfdz_denom, 0);