⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cosh.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#ifndef lintstatic	char sccsid[] = "@(#)cosh.c 1.1 92/07/30 SMI";#endif/* * Copyright (c) 1986 by Sun Microsystems, Inc. *//* cosh(x) * Code originated from 4.3bsd. * Modified by K.C. Ng for SUN 4.0 libm. * Method : *	1. Replace x by |x| (cosh(x) = cosh(-x)).  *	2.  *		                                        [ exp(x) - 1 ]^2  *	    0        <= x <= 0.3465  :  cosh(x) := 1 + ------------------- *			       			           2*exp(x) * *		                                   exp(x) +  1/exp(x) *	    0.3465   <= x <= 22      :  cosh(x) := ------------------- *			       			           2 *	    22       <= x <= lnovft  :  cosh(x) := exp(x)/2  *	    lnovft   <= x <  INF     :  cosh(x) := scalbn(exp(x-1024*ln2),1023) * *	Note: .3465 is a number near one half of ln2. * * Special cases: *	cosh(x) is |x| if x is +INF, -INF, or NaN. *	only cosh(0)=1 is exact for finite x. */#include <math.h>#include "libm.h"double cosh(x)double x;{		double t,w;	w = fabs(x);	if(!finite(w)) return w+w;	/* x is INF or NaN */	if( w < 0.3465 ) {		t = expm1(w);		w = 1.0+t;		if(w!=1.0) w =  1.0+(t*t)/(w+w);		return w;	} else if (w < 22.) {		t = exp(w);		return 0.5*(t+1.0/t);	} else if (w <= lnovft) return 0.5*exp(w);	else {		w = scalbn(exp((w-1024*ln2hi)-1024*ln2lo), 1023); 		if(!finite(w)) w = SVID_libm_err(x,x,5);		return w;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -