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) float64 {if haveArchSinh {return archSinh()}return sinh()}func ( 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) float64 {if haveArchCosh {return archCosh()}return cosh()}func ( float64) float64 {= Abs()if > 21 {return Exp() * 0.5}:= Exp()return ( + 1/) * 0.5}
![]() |
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |