summaryrefslogtreecommitdiffstats
path: root/lib/softplus.c
diff options
context:
space:
mode:
authorEthan Werner <mail@ethanwerner.com>2026-08-09 15:02:21 +0400
committerEthan Werner <mail@ethanwerner.com>2026-08-09 15:02:21 +0400
commit3d92926a902017e7cf1f5738e99ff62da596ce12 (patch)
tree2b55422c26a48759d56fa91f06df24449e9dfa88 /lib/softplus.c
parent07e18043145f3d91c8ea7ec3ad41b3c905585277 (diff)
Diffstat (limited to 'lib/softplus.c')
-rw-r--r--lib/softplus.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/softplus.c b/lib/softplus.c
index b61f96b..6853f66 100644
--- a/lib/softplus.c
+++ b/lib/softplus.c
@@ -34,7 +34,12 @@ int ts_softplus(
for( uint_t i = 0; i < n; ++i )
{
fp_t xi = x[0][i];
- y[0][i] = xi > 20 ? xi : log( 1 + exp( xi ) );
+ if ( xi > 20 )
+ y[0][i] = xi;
+ else if ( xi < -37 )
+ y[0][i] = exp( xi );
+ else
+ y[0][i] = log( 1 + exp( xi ) );
}
return 0;
}