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

import "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);
}
