// 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 /* Floating-point hyperbolic tangent. Sinh and Cosh are called except for large arguments, which would cause overflow improperly. */ // Tanh computes the hyperbolic tangent of x. // // Special cases are: // Tanh(±0) = ±0 // Tanh(±Inf) = ±1 // Tanh(NaN) = NaN 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) }