// 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)
}
