Node.js examples for Geometry:Trigonometric functions
A rational function to approximate a tanh-like soft clipper
/* --------------------------------------------------------------------------------------- This jsaSound Code is distributed under LGPL 3 Copyright (C) 2012 National University of Singapore Inquiries: director@anclab.org/*from w w w . j a va2 s.c o m*/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNULesser General Public License for more details. You should have received a copy of the GNU General Public License and GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/> ------------------------------------------------------------------------------------------*/ /* Author: Lonce Wyse Date: July 2012 */ /* This is a rational function to approximate a tanh-like soft clipper. It is based on the pade-approximation of the tanh function with tweaked coefficients. The function is in the range x=-3..3 and outputs the range y=-1..1. Beyond this range the output must be clamped to -1..1. The first to derivatives of the function vanish at -3 and 3, so the transition to the hard clipped region is C2-continuous. http://stackoverflow.com/questions/6118028/fast-hyperbolic-tangent-approximation-in-javascript */ function rational_tanh(x) { if( x < -3 ) return -1; else if( x > 3 ) return 1; else return x * ( 27 + x * x ) / ( 27 + 9 * x * x ); }