mirror of
https://github.com/golang/go
synced 2024-10-04 22:21:22 -06:00
4331293f41
SVN=125218
33 lines
575 B
Go
33 lines
575 B
Go
// 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 "sinh"
|
|
export tanh
|
|
|
|
/*
|
|
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 double) double
|
|
{
|
|
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);
|
|
}
|