| // 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(arg) computes the hyperbolic tangent of its floating |
| * point argument. |
| * |
| * sinh and cosh are called except for large arguments, which |
| * would cause overflow improperly. |
| */ |
| |
| func Tanh(arg float64) float64 { |
| if arg < 0 { |
| arg = -arg; |
| if arg > 21 { |
| return -1; |
| } |
| return -Sinh(arg)/Cosh(arg); |
| } |
| if arg > 21 { |
| return 1; |
| } |
| return Sinh(arg)/Cosh(arg); |
| } |