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