// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package math


/*
 *	tanh(x) computes the hyperbolic tangent of its floating
 *	point argument.
 *
 *	sinh and cosh are called except for large arguments, which
 *	would cause overflow improperly.
 */

// Tanh computes the hyperbolic tangent of x.
func Tanh(x float64) float64 {
	if x < 0 {
		x = -x;
		if x > 21 {
			return -1;
		}
		return -Sinh(x)/Cosh(x);
	}
	if x > 21 {
		return 1;
	}
	return Sinh(x)/Cosh(x);
}
