Source File
sinh.go
Belonging Package
math
// 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 sine and cosine.The exponential func is called for argumentsgreater in magnitude than 0.5.A series is used for arguments smaller in magnitude than 0.5.Cosh(x) is computed from the exponential func forall arguments.*/// Sinh returns the hyperbolic sine of x.//// Special cases are:// Sinh(±0) = ±0// Sinh(±Inf) = ±Inf// Sinh(NaN) = NaNfunc ( float64) float64func ( float64) float64 {// The coefficients are #2029 from Hart & Cheney. (20.36D)const (= -0.6307673640497716991184787251e+6= -0.8991272022039509355398013511e+5= -0.2894211355989563807284660366e+4= -0.2630563213397497062819489e+2= -0.6307673640497716991212077277e+6= 0.1521517378790019070696485176e+5= -0.173678953558233699533450911e+3):= falseif < 0 {= -= true}var float64switch {case > 21:= Exp() * 0.5case > 0.5::= Exp()= ( - 1/) * 0.5default::= *= (((*+)*+)* + ) *= / (((+)*+)* + )}if {= -}return}// Cosh returns the hyperbolic cosine of x.//// Special cases are:// Cosh(±0) = 1// Cosh(±Inf) = +Inf// Cosh(NaN) = NaNfunc ( float64) float64func ( float64) float64 {= Abs()if > 21 {return Exp() * 0.5}:= Exp()return ( + 1/) * 0.5}