Blame


1 cd5bae78 2004-04-21 devnull #include <u.h>
2 cd5bae78 2004-04-21 devnull #include <libc.h>
3 cd5bae78 2004-04-21 devnull
4 52e7c458 2004-04-21 devnull //#pragma varargck type "R" double
5 52e7c458 2004-04-21 devnull //#pragma varargck type "D" double
6 cd5bae78 2004-04-21 devnull
7 cd5bae78 2004-04-21 devnull typedef struct Obj1 Obj1;
8 cd5bae78 2004-04-21 devnull typedef struct Obj2 Obj2;
9 cd5bae78 2004-04-21 devnull typedef struct Obj3 Obj3;
10 cd5bae78 2004-04-21 devnull typedef struct Occ Occ;
11 cd5bae78 2004-04-21 devnull typedef struct Event Event;
12 cd5bae78 2004-04-21 devnull typedef struct Tim Tim;
13 cd5bae78 2004-04-21 devnull typedef struct Moontab Moontab;
14 cd5bae78 2004-04-21 devnull
15 cd5bae78 2004-04-21 devnull #define NPTS 12
16 cd5bae78 2004-04-21 devnull #define PER 1.0
17 cd5bae78 2004-04-21 devnull
18 cd5bae78 2004-04-21 devnull enum
19 cd5bae78 2004-04-21 devnull {
20 cd5bae78 2004-04-21 devnull DARK = 1<<0,
21 cd5bae78 2004-04-21 devnull SIGNIF = 1<<1,
22 cd5bae78 2004-04-21 devnull PTIME = 1<<2,
23 cd5bae78 2004-04-21 devnull LIGHT = 1<<3,
24 cd5bae78 2004-04-21 devnull };
25 cd5bae78 2004-04-21 devnull
26 cd5bae78 2004-04-21 devnull struct Obj1
27 cd5bae78 2004-04-21 devnull {
28 cd5bae78 2004-04-21 devnull double ra;
29 cd5bae78 2004-04-21 devnull double decl2;
30 cd5bae78 2004-04-21 devnull double semi2;
31 cd5bae78 2004-04-21 devnull double az;
32 cd5bae78 2004-04-21 devnull double el;
33 cd5bae78 2004-04-21 devnull double mag;
34 cd5bae78 2004-04-21 devnull };
35 cd5bae78 2004-04-21 devnull struct Obj2
36 cd5bae78 2004-04-21 devnull {
37 cd5bae78 2004-04-21 devnull char* name;
38 cd5bae78 2004-04-21 devnull char* name1;
39 cd5bae78 2004-04-21 devnull void (*obj)(void);
40 cd5bae78 2004-04-21 devnull Obj1 point[NPTS+2];
41 cd5bae78 2004-04-21 devnull };
42 cd5bae78 2004-04-21 devnull struct Obj3
43 cd5bae78 2004-04-21 devnull {
44 cd5bae78 2004-04-21 devnull double t1;
45 cd5bae78 2004-04-21 devnull double e1;
46 cd5bae78 2004-04-21 devnull double t2;
47 cd5bae78 2004-04-21 devnull double e2;
48 cd5bae78 2004-04-21 devnull double t3;
49 cd5bae78 2004-04-21 devnull double e3;
50 cd5bae78 2004-04-21 devnull double t4;
51 cd5bae78 2004-04-21 devnull double e4;
52 cd5bae78 2004-04-21 devnull double t5;
53 cd5bae78 2004-04-21 devnull double e5;
54 cd5bae78 2004-04-21 devnull };
55 cd5bae78 2004-04-21 devnull struct Event
56 cd5bae78 2004-04-21 devnull {
57 cd5bae78 2004-04-21 devnull char* format;
58 cd5bae78 2004-04-21 devnull char* arg1;
59 cd5bae78 2004-04-21 devnull char* arg2;
60 cd5bae78 2004-04-21 devnull double tim;
61 cd5bae78 2004-04-21 devnull int flag;
62 cd5bae78 2004-04-21 devnull };
63 cd5bae78 2004-04-21 devnull struct Moontab
64 cd5bae78 2004-04-21 devnull {
65 cd5bae78 2004-04-21 devnull double f;
66 cd5bae78 2004-04-21 devnull char c[4];
67 cd5bae78 2004-04-21 devnull };
68 cd5bae78 2004-04-21 devnull struct Occ
69 cd5bae78 2004-04-21 devnull {
70 cd5bae78 2004-04-21 devnull Obj1 act;
71 cd5bae78 2004-04-21 devnull Obj1 del0;
72 cd5bae78 2004-04-21 devnull Obj1 del1;
73 cd5bae78 2004-04-21 devnull Obj1 del2;
74 cd5bae78 2004-04-21 devnull };
75 cd5bae78 2004-04-21 devnull struct Tim
76 cd5bae78 2004-04-21 devnull {
77 cd5bae78 2004-04-21 devnull double ifa[5];
78 cd5bae78 2004-04-21 devnull char tz[4];
79 cd5bae78 2004-04-21 devnull };
80 cd5bae78 2004-04-21 devnull
81 cd5bae78 2004-04-21 devnull double converge;
82 cd5bae78 2004-04-21 devnull
83 cd5bae78 2004-04-21 devnull char flags[128];
84 cd5bae78 2004-04-21 devnull int nperiods;
85 cd5bae78 2004-04-21 devnull double wlong, awlong, nlat, elev;
86 cd5bae78 2004-04-21 devnull double obliq, phi, eps, tobliq;
87 cd5bae78 2004-04-21 devnull double dphi, deps;
88 cd5bae78 2004-04-21 devnull double day, deld, per;
89 cd5bae78 2004-04-21 devnull double eday, capt, capt2, capt3, gst;
90 cd5bae78 2004-04-21 devnull double pi, pipi, radian, radsec, deltat;
91 cd5bae78 2004-04-21 devnull double erad, glat;
92 cd5bae78 2004-04-21 devnull double xms, yms, zms;
93 cd5bae78 2004-04-21 devnull double xdot, ydot, zdot;
94 cd5bae78 2004-04-21 devnull
95 cd5bae78 2004-04-21 devnull double ecc, incl, node, argp, mrad, anom, motion;
96 cd5bae78 2004-04-21 devnull
97 cd5bae78 2004-04-21 devnull double lambda, beta, rad, mag, semi;
98 cd5bae78 2004-04-21 devnull double alpha, delta, rp, hp;
99 cd5bae78 2004-04-21 devnull double ra, decl, semi2;
100 cd5bae78 2004-04-21 devnull double lha, decl2, lmb2;
101 cd5bae78 2004-04-21 devnull double az, el;
102 cd5bae78 2004-04-21 devnull
103 cd5bae78 2004-04-21 devnull double meday, seday, mhp, salph, sdelt, srad;
104 cd5bae78 2004-04-21 devnull
105 cd5bae78 2004-04-21 devnull double* cafp;
106 cd5bae78 2004-04-21 devnull char* cacp;
107 cd5bae78 2004-04-21 devnull
108 cd5bae78 2004-04-21 devnull double rah, ram, ras, dday, dmin, dsec;
109 cd5bae78 2004-04-21 devnull long sao;
110 cd5bae78 2004-04-21 devnull double da, dd, px, epoch;
111 cd5bae78 2004-04-21 devnull char line[100];
112 cd5bae78 2004-04-21 devnull Obj2 osun;
113 cd5bae78 2004-04-21 devnull Obj2 omoon;
114 cd5bae78 2004-04-21 devnull Obj2 oshad;
115 cd5bae78 2004-04-21 devnull Obj2 omerc;
116 cd5bae78 2004-04-21 devnull Obj2 ovenus;
117 cd5bae78 2004-04-21 devnull Obj2 omars;
118 cd5bae78 2004-04-21 devnull Obj2 osat;
119 cd5bae78 2004-04-21 devnull Obj2 ouran;
120 cd5bae78 2004-04-21 devnull Obj2 onept;
121 cd5bae78 2004-04-21 devnull Obj2 oplut;
122 cd5bae78 2004-04-21 devnull Obj2 ojup;
123 cd5bae78 2004-04-21 devnull Obj2 ostar;
124 cd5bae78 2004-04-21 devnull Obj2 ocomet;
125 cd5bae78 2004-04-21 devnull Obj3 occ;
126 cd5bae78 2004-04-21 devnull Obj2* eobj1;
127 cd5bae78 2004-04-21 devnull Obj2* eobj2;
128 cd5bae78 2004-04-21 devnull
129 cd5bae78 2004-04-21 devnull char* startab;
130 cd5bae78 2004-04-21 devnull
131 cd5bae78 2004-04-21 devnull extern int dmo[];
132 cd5bae78 2004-04-21 devnull extern Obj2* objlst[];
133 cd5bae78 2004-04-21 devnull
134 cd5bae78 2004-04-21 devnull extern double venfp[];
135 cd5bae78 2004-04-21 devnull extern char vencp[];
136 cd5bae78 2004-04-21 devnull extern double sunfp[];
137 cd5bae78 2004-04-21 devnull extern char suncp[];
138 cd5bae78 2004-04-21 devnull extern double mercfp[];
139 cd5bae78 2004-04-21 devnull extern char merccp[];
140 cd5bae78 2004-04-21 devnull extern double nutfp[];
141 cd5bae78 2004-04-21 devnull extern char nutcp[];
142 cd5bae78 2004-04-21 devnull extern Moontab moontab[];
143 cd5bae78 2004-04-21 devnull
144 cd5bae78 2004-04-21 devnull extern void args(int, char**);
145 cd5bae78 2004-04-21 devnull extern void bdtsetup(double, Tim*);
146 cd5bae78 2004-04-21 devnull extern double betcross(double);
147 cd5bae78 2004-04-21 devnull extern double convdate(Tim*);
148 cd5bae78 2004-04-21 devnull extern double cosadd(int, double, ...);
149 cd5bae78 2004-04-21 devnull extern double cosx(double, int, int, int, int, double);
150 cd5bae78 2004-04-21 devnull extern double dist(Obj1*, Obj1*);
151 cd5bae78 2004-04-21 devnull extern double dsrc(double, Tim*, int);
152 cd5bae78 2004-04-21 devnull extern void dtsetup(double, Tim*);
153 cd5bae78 2004-04-21 devnull //extern int evcomp(void*, void*);
154 cd5bae78 2004-04-21 devnull extern void event(char*, char*, char*, double, int);
155 cd5bae78 2004-04-21 devnull extern void evflush(void);
156 cd5bae78 2004-04-21 devnull extern double fmod(double, double);
157 cd5bae78 2004-04-21 devnull extern void fstar(void);
158 cd5bae78 2004-04-21 devnull extern void fsun(void);
159 cd5bae78 2004-04-21 devnull extern void geo(void);
160 cd5bae78 2004-04-21 devnull extern void helio(void);
161 cd5bae78 2004-04-21 devnull extern void icosadd(double*, char*);
162 cd5bae78 2004-04-21 devnull extern void init(void);
163 cd5bae78 2004-04-21 devnull extern void jup(void);
164 cd5bae78 2004-04-21 devnull extern int lastsun(Tim*, int);
165 cd5bae78 2004-04-21 devnull extern int main(int, char**);
166 cd5bae78 2004-04-21 devnull extern void mars(void);
167 cd5bae78 2004-04-21 devnull extern double melong(Obj2*);
168 cd5bae78 2004-04-21 devnull extern void merc(void);
169 cd5bae78 2004-04-21 devnull extern void moon(void);
170 cd5bae78 2004-04-21 devnull extern void numb(int);
171 cd5bae78 2004-04-21 devnull extern void nutate(void);
172 cd5bae78 2004-04-21 devnull extern void occult(Obj2*, Obj2*, double);
173 cd5bae78 2004-04-21 devnull extern void output(char*, Obj1*);
174 cd5bae78 2004-04-21 devnull extern void pdate(double);
175 cd5bae78 2004-04-21 devnull extern double pinorm(double);
176 cd5bae78 2004-04-21 devnull extern void ptime(double);
177 cd5bae78 2004-04-21 devnull extern void pstime(double);
178 cd5bae78 2004-04-21 devnull extern double pyth(double);
179 cd5bae78 2004-04-21 devnull extern double readate(void);
180 cd5bae78 2004-04-21 devnull extern double readdt(void);
181 cd5bae78 2004-04-21 devnull extern void readlat(int);
182 cd5bae78 2004-04-21 devnull extern double rise(Obj2*, double);
183 cd5bae78 2004-04-21 devnull extern int rline(int);
184 cd5bae78 2004-04-21 devnull extern void sat(void);
185 cd5bae78 2004-04-21 devnull extern void uran(void);
186 cd5bae78 2004-04-21 devnull extern void nept(void);
187 cd5bae78 2004-04-21 devnull extern void plut(void);
188 cd5bae78 2004-04-21 devnull extern void satel(double);
189 cd5bae78 2004-04-21 devnull extern void satels(void);
190 cd5bae78 2004-04-21 devnull extern void search(void);
191 cd5bae78 2004-04-21 devnull extern double set(Obj2*, double);
192 cd5bae78 2004-04-21 devnull extern void set3pt(Obj2*, int, Occ*);
193 cd5bae78 2004-04-21 devnull extern void setime(double);
194 cd5bae78 2004-04-21 devnull extern void setobj(Obj1*);
195 cd5bae78 2004-04-21 devnull extern void setpt(Occ*, double);
196 cd5bae78 2004-04-21 devnull extern void shad(void);
197 cd5bae78 2004-04-21 devnull extern double sinadd(int, double, ...);
198 cd5bae78 2004-04-21 devnull extern double sinx(double, int, int, int, int, double);
199 cd5bae78 2004-04-21 devnull extern char* skip(int);
200 cd5bae78 2004-04-21 devnull extern double solstice(int);
201 cd5bae78 2004-04-21 devnull extern void star(void);
202 cd5bae78 2004-04-21 devnull extern void stars(void);
203 13afc7e5 2004-07-03 devnull #undef sun
204 77b3fa7c 2004-04-25 devnull #define sun astrosun /* not the machine! */
205 cd5bae78 2004-04-21 devnull extern void sun(void);
206 cd5bae78 2004-04-21 devnull extern double sunel(double);
207 cd5bae78 2004-04-21 devnull extern void venus(void);
208 cd5bae78 2004-04-21 devnull extern int vis(double, double, double, double);
209 cd5bae78 2004-04-21 devnull extern void comet(void);
210 cd5bae78 2004-04-21 devnull extern int Rconv(Fmt*);
211 cd5bae78 2004-04-21 devnull extern int Dconv(Fmt*);
212 cd5bae78 2004-04-21 devnull extern double etdate(long, int, double);