blob: f6e948f2c53797ca3f05ab4bcf816c4a5e3f3d66 [file] [log] [blame]
'use strict';
var exp = Math.exp;
module.exports = function (x) {
var a, b;
if (isNaN(x)) return NaN;
x = Number(x);
if (x === 0) return x;
if (x === Infinity) return 1;
if (x === -Infinity) return -1;
a = exp(x);
if (a === Infinity) return 1;
b = exp(-x);
if (b === Infinity) return -1;
return (a - b) / (a + b);
};