getsincos.c

来自「speech signal process tools」· C语言 代码 · 共 50 行

C
50
字号
#include "defcons.h"getsincos(x,psin,pcos)/* return sin and cos of x */register double x,*psin,*pcos;{	register double sin,cos,term;	register int i,sign;	sign=0;	if(x<0)		{		sign=1;		x= -x;		}	x/=two_pi;	x-=(int)x;	x*=two_pi;	sin=0;	cos=term=1;	i=1;	if(x<1e-8)		{		cos=1;		sin=x;		term=0;		}	while((term<0?-term:term)>1e-18)		{		term*= -x/i;		sin-=term;		i++;		term*= -x/i;		cos-=term;		i++;		term*= -x/i;		sin+=term;		i++;		term*= -x/i;		cos+=term;		i++;		}	sin=sin>1?1:sin;	sin=sin<-1?-1:sin;	if(sign)sin= -sin;	*psin=sin;	cos=cos>1?1:cos;	cos=cos<-1?-1:cos;	*pcos=cos;	return;}

⌨️ 快捷键说明

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