functions = ({
exponential: (x,amt) => (Math.sign(x) * Math.pow(Math.abs(x), 1 / Math.pow(amt + 1.01, 4))),
sigmoid: (x,amt) => (1 / (1 + Math.pow(Math.e, -1 * x * amt))),
sine: (x,amt) => (Math.sin(x * amt)),
log: (x,amt) => (Math.sign(x) * Math.log(Math.abs(x * amt) + 1)),
tanh: (x,amt) => (Math.tanh(x * amt)),
parametric: (x, amt) => {
amt = amt * -0.99
return (x - x * amt) /
(amt - Math.abs(x) * 2.0 * amt + 1.0)
}
})