Astro with some minor changes to placate Unix.
This commit is contained in:
parent
95f57b01e2
commit
cd5bae7871
33 changed files with 4819 additions and 0 deletions
64
src/cmd/astro/cosadd.c
Normal file
64
src/cmd/astro/cosadd.c
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
#include "astro.h"
|
||||
|
||||
|
||||
void
|
||||
icosadd(double *fp, char *cp)
|
||||
{
|
||||
|
||||
cafp = fp;
|
||||
cacp = cp;
|
||||
}
|
||||
|
||||
double
|
||||
cosadd(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;
|
||||
}
|
||||
|
||||
double
|
||||
sinadd(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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue