From 0579d407b84967cfe1c377d35f2072fcc422f44e Mon Sep 17 00:00:00 2001
From: Antoni Olivier <olivier.antoni@cea.fr>
Date: Tue, 18 Jun 2024 16:37:48 +0200
Subject: [PATCH] Improve Sigmoid

---
 .../backend/cpu/operator/SigmoidImpl_forward_kernels.hpp    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/include/aidge/backend/cpu/operator/SigmoidImpl_forward_kernels.hpp b/include/aidge/backend/cpu/operator/SigmoidImpl_forward_kernels.hpp
index 510bf9bb..24ba11a0 100644
--- a/include/aidge/backend/cpu/operator/SigmoidImpl_forward_kernels.hpp
+++ b/include/aidge/backend/cpu/operator/SigmoidImpl_forward_kernels.hpp
@@ -27,7 +27,11 @@ void SigmoidImpl_cpu_forward_kernel(std::size_t inputLenght,
 
 //#pragma omp parallel for if (inputLenght > 1024)
     for (std::size_t i = 0; i < inputLenght; ++i) {
-        output[i] = O(1) / (O(1) + std::exp(-input[i]));
+		if (input[i] > I(0)) {
+			output[i] = O(1) / (O(1) + std::exp(-input[i]));
+		} else {
+			output[i] = std::exp(input[i]) / (O(1) + std::exp(input[i]));
+		}
     }
 }
 
-- 
GitLab