cosadd.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 65 行

C
65
字号
#include "astro.h"voidicosadd(double *fp, char *cp){	cafp = fp;	cacp = cp;}doublecosadd(int n, double coef, ...){	double *coefp;	char *cp;	int i;	double sum, a1, a2;	sum = 0;	cp = cacp;loop:	a1 = *cafp++;	if(a1 == 0) {		cacp = cp;		return sum;	}	a2 = *cafp++;	i = n;	coefp = &coef;	do		a2 += *cp++ * *coefp++;	while(--i);	sum += a1 * cos(a2);	goto loop;}doublesinadd(int n, double coef, ...){	double *coefp;	char *cp;	int i;	double sum, a1, a2;	sum = 0;	cp = cacp;loop:	a1 = *cafp++;	if(a1 == 0) {		cacp = cp;		return sum;	}	a2 = *cafp++;	i = n;	coefp = &coef;	do		a2 += *cp++ * *coefp++;	while(--i);	sum += a1 * sin(a2);	goto loop;}

⌨️ 快捷键说明

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