/*- * Copyright (c) 1991 The Regents of the University of California. * All rights reserved. * * This code is derived from software contributed to Berkeley by * Computer Consoles Inc. * * %sccs.include.proprietary.c% */ #ifndef lint static char sccsid[] = "@(#)tanh.c 5.2 (Berkeley) 04/12/91"; #endif /* not lint */ /* tanh(arg) computes the hyperbolic tangent of its floating point argument. sinh and cosh are called except for large arguments, which would cause overflow improperly. */ double sinh(), cosh(); double tanh(arg) double arg; { double sign; sign = 1.; if(arg < 0.){ arg = -arg; sign = -1.; } if(arg > 21.) return(sign); return(sign*sinh(arg)/cosh(arg)); }