1 cd5bae78 2004-04-21 devnull #include "astro.h"
5 cd5bae78 2004-04-21 devnull icosadd(double *fp, char *cp)
8 cd5bae78 2004-04-21 devnull cafp = fp;
9 cd5bae78 2004-04-21 devnull cacp = cp;
13 2ad582ee 2006-05-27 devnull cosadd(int n, ...)
15 2ad582ee 2006-05-27 devnull double *coefp, coef[10];
16 cd5bae78 2004-04-21 devnull char *cp;
18 cd5bae78 2004-04-21 devnull double sum, a1, a2;
19 2ad582ee 2006-05-27 devnull va_list arg;
22 cd5bae78 2004-04-21 devnull cp = cacp;
23 2ad582ee 2006-05-27 devnull va_start(arg, n);
24 2ad582ee 2006-05-27 devnull for(i=0; i<n; i++)
25 2ad582ee 2006-05-27 devnull coef[i] = va_arg(arg, double);
26 2ad582ee 2006-05-27 devnull va_end(arg);
29 cd5bae78 2004-04-21 devnull a1 = *cafp++;
30 cd5bae78 2004-04-21 devnull if(a1 == 0) {
31 cd5bae78 2004-04-21 devnull cacp = cp;
32 cd5bae78 2004-04-21 devnull return sum;
34 cd5bae78 2004-04-21 devnull a2 = *cafp++;
36 2ad582ee 2006-05-27 devnull coefp = coef;
38 cd5bae78 2004-04-21 devnull a2 += *cp++ * *coefp++;
39 cd5bae78 2004-04-21 devnull while(--i);
40 cd5bae78 2004-04-21 devnull sum += a1 * cos(a2);
41 cd5bae78 2004-04-21 devnull goto loop;
45 2ad582ee 2006-05-27 devnull sinadd(int n, ...)
47 2ad582ee 2006-05-27 devnull double *coefp, coef[10];
48 cd5bae78 2004-04-21 devnull char *cp;
50 cd5bae78 2004-04-21 devnull double sum, a1, a2;
51 2ad582ee 2006-05-27 devnull va_list arg;
54 cd5bae78 2004-04-21 devnull cp = cacp;
55 2ad582ee 2006-05-27 devnull va_start(arg, n);
56 2ad582ee 2006-05-27 devnull for(i=0; i<n; i++)
57 2ad582ee 2006-05-27 devnull coef[i] = va_arg(arg, double);
58 2ad582ee 2006-05-27 devnull va_end(arg);
61 cd5bae78 2004-04-21 devnull a1 = *cafp++;
62 cd5bae78 2004-04-21 devnull if(a1 == 0) {
63 cd5bae78 2004-04-21 devnull cacp = cp;
64 cd5bae78 2004-04-21 devnull return sum;
66 cd5bae78 2004-04-21 devnull a2 = *cafp++;
68 2ad582ee 2006-05-27 devnull coefp = coef;
70 cd5bae78 2004-04-21 devnull a2 += *cp++ * *coefp++;
71 cd5bae78 2004-04-21 devnull while(--i);
72 cd5bae78 2004-04-21 devnull sum += a1 * sin(a2);
73 cd5bae78 2004-04-21 devnull goto loop;