Blame


1 8a3b2ceb 2004-04-24 devnull #define DIR "#9/sky"
2 8a3b2ceb 2004-04-24 devnull /*
3 8a3b2ceb 2004-04-24 devnull * This code reflects many years of changes. There remain residues
4 8a3b2ceb 2004-04-24 devnull * of prior implementations.
5 8a3b2ceb 2004-04-24 devnull *
6 8a3b2ceb 2004-04-24 devnull * Keys:
7 8a3b2ceb 2004-04-24 devnull * 32 bits long. High 26 bits are encoded as described below.
8 8a3b2ceb 2004-04-24 devnull * Low 6 bits are types:
9 8a3b2ceb 2004-04-24 devnull *
10 8a3b2ceb 2004-04-24 devnull * Patch is ~ one square degree of sky. It points to an otherwise
11 8a3b2ceb 2004-04-24 devnull * anonymous list of Catalog keys. The 0th key is special:
12 8a3b2ceb 2004-04-24 devnull * it contains up to 4 constellation identifiers.
13 8a3b2ceb 2004-04-24 devnull * Catalogs (SAO,NGC,M,...) are:
14 8a3b2ceb 2004-04-24 devnull * 31.........8|76|543210
15 8a3b2ceb 2004-04-24 devnull * catalog # |BB|catalog name
16 8a3b2ceb 2004-04-24 devnull * BB is two bits of brightness:
17 8a3b2ceb 2004-04-24 devnull * 00 -inf < m <= 7
18 8a3b2ceb 2004-04-24 devnull * 01 7 < m <= 10
19 8a3b2ceb 2004-04-24 devnull * 10 10 < m <= 13
20 8a3b2ceb 2004-04-24 devnull * 11 13 < m < inf
21 8a3b2ceb 2004-04-24 devnull * The BB field is a dreg, and correct only for SAO and NGC.
22 8a3b2ceb 2004-04-24 devnull * IC(n) is just NGC(n+7840)
23 8a3b2ceb 2004-04-24 devnull * Others should be self-explanatory.
24 8a3b2ceb 2004-04-24 devnull *
25 8a3b2ceb 2004-04-24 devnull * Records:
26 8a3b2ceb 2004-04-24 devnull *
27 8a3b2ceb 2004-04-24 devnull * Star is an SAOrec
28 8a3b2ceb 2004-04-24 devnull * Galaxy, PlanetaryN, OpenCl, GlobularCl, DiffuseN, etc., are NGCrecs.
29 8a3b2ceb 2004-04-24 devnull * Abell is an Abellrec
30 8a3b2ceb 2004-04-24 devnull * The Namedxxx records hold a name and a catalog entry; they result from
31 8a3b2ceb 2004-04-24 devnull * name lookups.
32 8a3b2ceb 2004-04-24 devnull */
33 8a3b2ceb 2004-04-24 devnull
34 8a3b2ceb 2004-04-24 devnull typedef enum
35 8a3b2ceb 2004-04-24 devnull {
36 8a3b2ceb 2004-04-24 devnull Planet,
37 8a3b2ceb 2004-04-24 devnull Patch,
38 8a3b2ceb 2004-04-24 devnull SAO,
39 8a3b2ceb 2004-04-24 devnull NGC,
40 8a3b2ceb 2004-04-24 devnull M,
41 8a3b2ceb 2004-04-24 devnull Constel_deprecated,
42 8a3b2ceb 2004-04-24 devnull Nonstar_deprecated,
43 8a3b2ceb 2004-04-24 devnull NamedSAO,
44 8a3b2ceb 2004-04-24 devnull NamedNGC,
45 8a3b2ceb 2004-04-24 devnull NamedAbell,
46 8a3b2ceb 2004-04-24 devnull Abell,
47 8a3b2ceb 2004-04-24 devnull /* NGC types */
48 8a3b2ceb 2004-04-24 devnull Galaxy,
49 8a3b2ceb 2004-04-24 devnull PlanetaryN,
50 8a3b2ceb 2004-04-24 devnull OpenCl,
51 8a3b2ceb 2004-04-24 devnull GlobularCl,
52 8a3b2ceb 2004-04-24 devnull DiffuseN,
53 8a3b2ceb 2004-04-24 devnull NebularCl,
54 8a3b2ceb 2004-04-24 devnull Asterism,
55 8a3b2ceb 2004-04-24 devnull Knot,
56 8a3b2ceb 2004-04-24 devnull Triple,
57 8a3b2ceb 2004-04-24 devnull Double,
58 8a3b2ceb 2004-04-24 devnull Single,
59 8a3b2ceb 2004-04-24 devnull Uncertain,
60 8a3b2ceb 2004-04-24 devnull Nonexistent,
61 8a3b2ceb 2004-04-24 devnull Unknown,
62 8a3b2ceb 2004-04-24 devnull PlateDefect,
63 8a3b2ceb 2004-04-24 devnull /* internal */
64 8a3b2ceb 2004-04-24 devnull NGCN,
65 8a3b2ceb 2004-04-24 devnull PatchC,
66 cbeb0b26 2006-04-01 devnull NONGC
67 8a3b2ceb 2004-04-24 devnull }Type;
68 8a3b2ceb 2004-04-24 devnull
69 8a3b2ceb 2004-04-24 devnull enum
70 8a3b2ceb 2004-04-24 devnull {
71 8a3b2ceb 2004-04-24 devnull /*
72 8a3b2ceb 2004-04-24 devnull * parameters for plate
73 8a3b2ceb 2004-04-24 devnull */
74 8a3b2ceb 2004-04-24 devnull Pppo1 = 0,
75 8a3b2ceb 2004-04-24 devnull Pppo2,
76 8a3b2ceb 2004-04-24 devnull Pppo3,
77 8a3b2ceb 2004-04-24 devnull Pppo4,
78 8a3b2ceb 2004-04-24 devnull Pppo5,
79 8a3b2ceb 2004-04-24 devnull Pppo6,
80 8a3b2ceb 2004-04-24 devnull Pamdx1,
81 8a3b2ceb 2004-04-24 devnull Pamdx2,
82 8a3b2ceb 2004-04-24 devnull Pamdx3,
83 8a3b2ceb 2004-04-24 devnull Pamdx4,
84 8a3b2ceb 2004-04-24 devnull Pamdx5,
85 8a3b2ceb 2004-04-24 devnull Pamdx6,
86 8a3b2ceb 2004-04-24 devnull Pamdx7,
87 8a3b2ceb 2004-04-24 devnull Pamdx8,
88 8a3b2ceb 2004-04-24 devnull Pamdx9,
89 8a3b2ceb 2004-04-24 devnull Pamdx10,
90 8a3b2ceb 2004-04-24 devnull Pamdx11,
91 8a3b2ceb 2004-04-24 devnull Pamdx12,
92 8a3b2ceb 2004-04-24 devnull Pamdx13,
93 8a3b2ceb 2004-04-24 devnull Pamdx14,
94 8a3b2ceb 2004-04-24 devnull Pamdx15,
95 8a3b2ceb 2004-04-24 devnull Pamdx16,
96 8a3b2ceb 2004-04-24 devnull Pamdx17,
97 8a3b2ceb 2004-04-24 devnull Pamdx18,
98 8a3b2ceb 2004-04-24 devnull Pamdx19,
99 8a3b2ceb 2004-04-24 devnull Pamdx20,
100 8a3b2ceb 2004-04-24 devnull Pamdy1,
101 8a3b2ceb 2004-04-24 devnull Pamdy2,
102 8a3b2ceb 2004-04-24 devnull Pamdy3,
103 8a3b2ceb 2004-04-24 devnull Pamdy4,
104 8a3b2ceb 2004-04-24 devnull Pamdy5,
105 8a3b2ceb 2004-04-24 devnull Pamdy6,
106 8a3b2ceb 2004-04-24 devnull Pamdy7,
107 8a3b2ceb 2004-04-24 devnull Pamdy8,
108 8a3b2ceb 2004-04-24 devnull Pamdy9,
109 8a3b2ceb 2004-04-24 devnull Pamdy10,
110 8a3b2ceb 2004-04-24 devnull Pamdy11,
111 8a3b2ceb 2004-04-24 devnull Pamdy12,
112 8a3b2ceb 2004-04-24 devnull Pamdy13,
113 8a3b2ceb 2004-04-24 devnull Pamdy14,
114 8a3b2ceb 2004-04-24 devnull Pamdy15,
115 8a3b2ceb 2004-04-24 devnull Pamdy16,
116 8a3b2ceb 2004-04-24 devnull Pamdy17,
117 8a3b2ceb 2004-04-24 devnull Pamdy18,
118 8a3b2ceb 2004-04-24 devnull Pamdy19,
119 8a3b2ceb 2004-04-24 devnull Pamdy20,
120 8a3b2ceb 2004-04-24 devnull Ppltscale,
121 8a3b2ceb 2004-04-24 devnull Pxpixelsz,
122 8a3b2ceb 2004-04-24 devnull Pypixelsz,
123 8a3b2ceb 2004-04-24 devnull Ppltra,
124 8a3b2ceb 2004-04-24 devnull Ppltrah,
125 8a3b2ceb 2004-04-24 devnull Ppltram,
126 8a3b2ceb 2004-04-24 devnull Ppltras,
127 8a3b2ceb 2004-04-24 devnull Ppltdec,
128 8a3b2ceb 2004-04-24 devnull Ppltdecd,
129 8a3b2ceb 2004-04-24 devnull Ppltdecm,
130 8a3b2ceb 2004-04-24 devnull Ppltdecs,
131 cbeb0b26 2006-04-01 devnull Pnparam
132 8a3b2ceb 2004-04-24 devnull };
133 8a3b2ceb 2004-04-24 devnull
134 8a3b2ceb 2004-04-24 devnull #define UNKNOWNMAG 32767
135 8a3b2ceb 2004-04-24 devnull #define NPlanet 20
136 8a3b2ceb 2004-04-24 devnull
137 8a3b2ceb 2004-04-24 devnull typedef float Angle; /* in radians */
138 8a3b2ceb 2004-04-24 devnull typedef long DAngle; /* on disk: in units of milliarcsec */
139 8a3b2ceb 2004-04-24 devnull typedef short Mag; /* multiplied by 10 */
140 8a3b2ceb 2004-04-24 devnull typedef long Key; /* known to be 4 bytes, unfortunately */
141 8a3b2ceb 2004-04-24 devnull
142 8a3b2ceb 2004-04-24 devnull /*
143 8a3b2ceb 2004-04-24 devnull * All integers are stored in little-endian order.
144 8a3b2ceb 2004-04-24 devnull */
145 8a3b2ceb 2004-04-24 devnull typedef struct NGCrec NGCrec;
146 8a3b2ceb 2004-04-24 devnull struct NGCrec{
147 8a3b2ceb 2004-04-24 devnull DAngle ra;
148 8a3b2ceb 2004-04-24 devnull DAngle dec;
149 8a3b2ceb 2004-04-24 devnull DAngle dummy1; /* compatibility with old RNGC version */
150 8a3b2ceb 2004-04-24 devnull DAngle diam;
151 8a3b2ceb 2004-04-24 devnull Mag mag;
152 8a3b2ceb 2004-04-24 devnull short ngc; /* if >NNGC, IC number is ngc-NNGC */
153 8a3b2ceb 2004-04-24 devnull char diamlim;
154 8a3b2ceb 2004-04-24 devnull char type;
155 8a3b2ceb 2004-04-24 devnull char magtype;
156 8a3b2ceb 2004-04-24 devnull char dummy2;
157 8a3b2ceb 2004-04-24 devnull char desc[52]; /* 0-terminated Dreyer description */
158 8a3b2ceb 2004-04-24 devnull };
159 8a3b2ceb 2004-04-24 devnull
160 8a3b2ceb 2004-04-24 devnull typedef struct Abellrec Abellrec;
161 8a3b2ceb 2004-04-24 devnull struct Abellrec{
162 8a3b2ceb 2004-04-24 devnull DAngle ra;
163 8a3b2ceb 2004-04-24 devnull DAngle dec;
164 8a3b2ceb 2004-04-24 devnull DAngle glat;
165 8a3b2ceb 2004-04-24 devnull DAngle glong;
166 8a3b2ceb 2004-04-24 devnull Mag mag10; /* mag of 10th brightest cluster member; in same place as ngc.mag*/
167 8a3b2ceb 2004-04-24 devnull short abell;
168 8a3b2ceb 2004-04-24 devnull DAngle rad;
169 8a3b2ceb 2004-04-24 devnull short pop;
170 8a3b2ceb 2004-04-24 devnull short dist;
171 8a3b2ceb 2004-04-24 devnull char distgrp;
172 8a3b2ceb 2004-04-24 devnull char richgrp;
173 8a3b2ceb 2004-04-24 devnull char flag;
174 8a3b2ceb 2004-04-24 devnull char pad;
175 8a3b2ceb 2004-04-24 devnull };
176 8a3b2ceb 2004-04-24 devnull
177 8a3b2ceb 2004-04-24 devnull typedef struct Planetrec Planetrec;
178 8a3b2ceb 2004-04-24 devnull struct Planetrec{
179 8a3b2ceb 2004-04-24 devnull DAngle ra;
180 8a3b2ceb 2004-04-24 devnull DAngle dec;
181 8a3b2ceb 2004-04-24 devnull DAngle az;
182 8a3b2ceb 2004-04-24 devnull DAngle alt;
183 8a3b2ceb 2004-04-24 devnull DAngle semidiam;
184 8a3b2ceb 2004-04-24 devnull double phase;
185 8a3b2ceb 2004-04-24 devnull char name[16];
186 8a3b2ceb 2004-04-24 devnull };
187 8a3b2ceb 2004-04-24 devnull
188 8a3b2ceb 2004-04-24 devnull /*
189 8a3b2ceb 2004-04-24 devnull * Star names: 0,0==unused. Numbers are name[0]=1,..,99.
190 8a3b2ceb 2004-04-24 devnull * Greek letters are alpha=101, etc.
191 8a3b2ceb 2004-04-24 devnull * Constellations are alphabetical order by abbreviation, and=1, etc.
192 8a3b2ceb 2004-04-24 devnull */
193 8a3b2ceb 2004-04-24 devnull typedef struct SAOrec SAOrec;
194 8a3b2ceb 2004-04-24 devnull struct SAOrec{
195 8a3b2ceb 2004-04-24 devnull DAngle ra;
196 8a3b2ceb 2004-04-24 devnull DAngle dec;
197 8a3b2ceb 2004-04-24 devnull DAngle dra;
198 8a3b2ceb 2004-04-24 devnull DAngle ddec;
199 8a3b2ceb 2004-04-24 devnull Mag mag; /* visual */
200 8a3b2ceb 2004-04-24 devnull Mag mpg;
201 8a3b2ceb 2004-04-24 devnull char spec[3];
202 8a3b2ceb 2004-04-24 devnull char code;
203 8a3b2ceb 2004-04-24 devnull char compid[2];
204 8a3b2ceb 2004-04-24 devnull char hdcode;
205 8a3b2ceb 2004-04-24 devnull char pad1;
206 8a3b2ceb 2004-04-24 devnull long hd; /* HD catalog number */
207 8a3b2ceb 2004-04-24 devnull char name[3]; /* name[0]=alpha name[1]=2 name[3]=ori */
208 8a3b2ceb 2004-04-24 devnull char nname; /* number of prose names */
209 8a3b2ceb 2004-04-24 devnull /* 36 bytes to here */
210 8a3b2ceb 2004-04-24 devnull };
211 8a3b2ceb 2004-04-24 devnull
212 8a3b2ceb 2004-04-24 devnull typedef struct Mindexrec Mindexrec;
213 8a3b2ceb 2004-04-24 devnull struct Mindexrec{ /* code knows the bit patterns in here; this is a long */
214 8a3b2ceb 2004-04-24 devnull char m; /* M number */
215 8a3b2ceb 2004-04-24 devnull char dummy;
216 8a3b2ceb 2004-04-24 devnull short ngc;
217 8a3b2ceb 2004-04-24 devnull };
218 8a3b2ceb 2004-04-24 devnull
219 8a3b2ceb 2004-04-24 devnull typedef struct Bayerec Bayerec;
220 8a3b2ceb 2004-04-24 devnull struct Bayerec{
221 8a3b2ceb 2004-04-24 devnull long sao;
222 8a3b2ceb 2004-04-24 devnull char name[3];
223 8a3b2ceb 2004-04-24 devnull char pad;
224 8a3b2ceb 2004-04-24 devnull };
225 8a3b2ceb 2004-04-24 devnull
226 8a3b2ceb 2004-04-24 devnull /*
227 8a3b2ceb 2004-04-24 devnull * Internal form
228 8a3b2ceb 2004-04-24 devnull */
229 8a3b2ceb 2004-04-24 devnull
230 8a3b2ceb 2004-04-24 devnull typedef struct Namedrec Namedrec;
231 8a3b2ceb 2004-04-24 devnull struct Namedrec{
232 8a3b2ceb 2004-04-24 devnull char name[36];
233 8a3b2ceb 2004-04-24 devnull };
234 8a3b2ceb 2004-04-24 devnull
235 8a3b2ceb 2004-04-24 devnull typedef struct Namerec Namerec;
236 8a3b2ceb 2004-04-24 devnull struct Namerec{
237 8a3b2ceb 2004-04-24 devnull long sao;
238 8a3b2ceb 2004-04-24 devnull long ngc;
239 8a3b2ceb 2004-04-24 devnull long abell;
240 8a3b2ceb 2004-04-24 devnull char name[36]; /* null terminated */
241 8a3b2ceb 2004-04-24 devnull };
242 8a3b2ceb 2004-04-24 devnull
243 8a3b2ceb 2004-04-24 devnull typedef struct Patchrec Patchrec;
244 8a3b2ceb 2004-04-24 devnull struct Patchrec{
245 8a3b2ceb 2004-04-24 devnull int nkey;
246 8a3b2ceb 2004-04-24 devnull long key[60];
247 8a3b2ceb 2004-04-24 devnull };
248 8a3b2ceb 2004-04-24 devnull
249 8a3b2ceb 2004-04-24 devnull typedef struct Record Record;
250 8a3b2ceb 2004-04-24 devnull struct Record{
251 8a3b2ceb 2004-04-24 devnull Type type;
252 8a3b2ceb 2004-04-24 devnull long index;
253 8a3b2ceb 2004-04-24 devnull union{
254 8a3b2ceb 2004-04-24 devnull SAOrec sao;
255 8a3b2ceb 2004-04-24 devnull NGCrec ngc;
256 8a3b2ceb 2004-04-24 devnull Abellrec abell;
257 8a3b2ceb 2004-04-24 devnull Namedrec named;
258 8a3b2ceb 2004-04-24 devnull Patchrec patch;
259 8a3b2ceb 2004-04-24 devnull Planetrec planet;
260 8a3b2ceb 2004-04-24 devnull /* PatchCrec is empty */
261 e9ad8994 2005-05-01 devnull } u;
262 8a3b2ceb 2004-04-24 devnull };
263 8a3b2ceb 2004-04-24 devnull
264 8a3b2ceb 2004-04-24 devnull typedef struct Name Name;
265 8a3b2ceb 2004-04-24 devnull struct Name{
266 8a3b2ceb 2004-04-24 devnull char *name;
267 8a3b2ceb 2004-04-24 devnull int type;
268 8a3b2ceb 2004-04-24 devnull };
269 8a3b2ceb 2004-04-24 devnull
270 8a3b2ceb 2004-04-24 devnull typedef struct Plate Plate;
271 8a3b2ceb 2004-04-24 devnull struct Plate
272 8a3b2ceb 2004-04-24 devnull {
273 8a3b2ceb 2004-04-24 devnull char rgn[7];
274 8a3b2ceb 2004-04-24 devnull char disk;
275 8a3b2ceb 2004-04-24 devnull Angle ra;
276 8a3b2ceb 2004-04-24 devnull Angle dec;
277 8a3b2ceb 2004-04-24 devnull };
278 8a3b2ceb 2004-04-24 devnull
279 8a3b2ceb 2004-04-24 devnull typedef struct Header Header;
280 8a3b2ceb 2004-04-24 devnull struct Header
281 8a3b2ceb 2004-04-24 devnull {
282 8a3b2ceb 2004-04-24 devnull float param[Pnparam];
283 8a3b2ceb 2004-04-24 devnull int amdflag;
284 8a3b2ceb 2004-04-24 devnull
285 8a3b2ceb 2004-04-24 devnull float x;
286 8a3b2ceb 2004-04-24 devnull float y;
287 8a3b2ceb 2004-04-24 devnull float xi;
288 8a3b2ceb 2004-04-24 devnull float eta;
289 8a3b2ceb 2004-04-24 devnull };
290 8a3b2ceb 2004-04-24 devnull typedef long Pix;
291 8a3b2ceb 2004-04-24 devnull
292 8a3b2ceb 2004-04-24 devnull typedef struct Img Img;
293 8a3b2ceb 2004-04-24 devnull struct Img
294 8a3b2ceb 2004-04-24 devnull {
295 8a3b2ceb 2004-04-24 devnull int nx;
296 8a3b2ceb 2004-04-24 devnull int ny; /* ny is the fast-varying dimension */
297 8a3b2ceb 2004-04-24 devnull Pix a[1];
298 8a3b2ceb 2004-04-24 devnull };
299 8a3b2ceb 2004-04-24 devnull
300 8a3b2ceb 2004-04-24 devnull #define RAD(x) ((x)*PI_180)
301 8a3b2ceb 2004-04-24 devnull #define DEG(x) ((x)/PI_180)
302 8a3b2ceb 2004-04-24 devnull #define ARCSECONDS_PER_RADIAN (DEG(1)*3600)
303 8a3b2ceb 2004-04-24 devnull #define MILLIARCSEC (1000*60*60)
304 8a3b2ceb 2004-04-24 devnull
305 8a3b2ceb 2004-04-24 devnull int nplate;
306 8a3b2ceb 2004-04-24 devnull Plate plate[2000]; /* needs to go to 2000 when the north comes */
307 8a3b2ceb 2004-04-24 devnull double PI_180;
308 8a3b2ceb 2004-04-24 devnull double TWOPI;
309 8a3b2ceb 2004-04-24 devnull double LN2;
310 8a3b2ceb 2004-04-24 devnull int debug;
311 8a3b2ceb 2004-04-24 devnull struct
312 8a3b2ceb 2004-04-24 devnull {
313 8a3b2ceb 2004-04-24 devnull float min;
314 8a3b2ceb 2004-04-24 devnull float max;
315 8a3b2ceb 2004-04-24 devnull float gamma;
316 8a3b2ceb 2004-04-24 devnull float absgamma;
317 8a3b2ceb 2004-04-24 devnull float mult1;
318 8a3b2ceb 2004-04-24 devnull float mult2;
319 8a3b2ceb 2004-04-24 devnull int neg;
320 8a3b2ceb 2004-04-24 devnull } gam;
321 8a3b2ceb 2004-04-24 devnull
322 8a3b2ceb 2004-04-24 devnull typedef struct Picture Picture;
323 8a3b2ceb 2004-04-24 devnull struct Picture
324 8a3b2ceb 2004-04-24 devnull {
325 8a3b2ceb 2004-04-24 devnull int minx;
326 8a3b2ceb 2004-04-24 devnull int miny;
327 8a3b2ceb 2004-04-24 devnull int maxx;
328 8a3b2ceb 2004-04-24 devnull int maxy;
329 8a3b2ceb 2004-04-24 devnull char name[16];
330 8a3b2ceb 2004-04-24 devnull uchar *data;
331 8a3b2ceb 2004-04-24 devnull };
332 8a3b2ceb 2004-04-24 devnull
333 8a3b2ceb 2004-04-24 devnull #ifndef _DRAW_H_
334 8a3b2ceb 2004-04-24 devnull typedef struct Image Image;
335 8a3b2ceb 2004-04-24 devnull #endif
336 8a3b2ceb 2004-04-24 devnull
337 8a3b2ceb 2004-04-24 devnull extern double PI_180;
338 8a3b2ceb 2004-04-24 devnull extern double TWOPI;
339 8a3b2ceb 2004-04-24 devnull extern char *progname;
340 8a3b2ceb 2004-04-24 devnull extern char *desctab[][2];
341 8a3b2ceb 2004-04-24 devnull extern Name names[];
342 8a3b2ceb 2004-04-24 devnull extern Record *rec;
343 8a3b2ceb 2004-04-24 devnull extern long nrec;
344 8a3b2ceb 2004-04-24 devnull extern Planetrec *planet;
345 8a3b2ceb 2004-04-24 devnull /* for bbox: */
346 8a3b2ceb 2004-04-24 devnull extern int folded;
347 8a3b2ceb 2004-04-24 devnull extern DAngle ramin;
348 8a3b2ceb 2004-04-24 devnull extern DAngle ramax;
349 8a3b2ceb 2004-04-24 devnull extern DAngle decmin;
350 8a3b2ceb 2004-04-24 devnull extern DAngle decmax;
351 8a3b2ceb 2004-04-24 devnull extern Biobuf bout;
352 8a3b2ceb 2004-04-24 devnull
353 8a3b2ceb 2004-04-24 devnull extern void saoopen(void);
354 8a3b2ceb 2004-04-24 devnull extern void ngcopen(void);
355 8a3b2ceb 2004-04-24 devnull extern void patchopen(void);
356 8a3b2ceb 2004-04-24 devnull extern void mopen(void);
357 8a3b2ceb 2004-04-24 devnull extern void constelopen(void);
358 8a3b2ceb 2004-04-24 devnull extern void lowercase(char*);
359 8a3b2ceb 2004-04-24 devnull extern void lookup(char*, int);
360 8a3b2ceb 2004-04-24 devnull extern int typetab(int);
361 8a3b2ceb 2004-04-24 devnull extern char*ngcstring(int);
362 8a3b2ceb 2004-04-24 devnull extern char*skip(int, char*);
363 8a3b2ceb 2004-04-24 devnull extern void prrec(Record*);
364 8a3b2ceb 2004-04-24 devnull extern int equal(char*, char*);
365 8a3b2ceb 2004-04-24 devnull extern int parsename(char*);
366 8a3b2ceb 2004-04-24 devnull extern void radec(int, int*, int*, int*);
367 8a3b2ceb 2004-04-24 devnull extern int btag(short);
368 8a3b2ceb 2004-04-24 devnull extern long patcha(Angle, Angle);
369 8a3b2ceb 2004-04-24 devnull extern long patch(int, int, int);
370 8a3b2ceb 2004-04-24 devnull extern char*hms(Angle);
371 8a3b2ceb 2004-04-24 devnull extern char*dms(Angle);
372 8a3b2ceb 2004-04-24 devnull extern char*ms(Angle);
373 8a3b2ceb 2004-04-24 devnull extern char*hm(Angle);
374 8a3b2ceb 2004-04-24 devnull extern char*dm(Angle);
375 8a3b2ceb 2004-04-24 devnull extern char*deg(Angle);
376 8a3b2ceb 2004-04-24 devnull extern char*hm5(Angle);
377 8a3b2ceb 2004-04-24 devnull extern long dangle(Angle);
378 8a3b2ceb 2004-04-24 devnull extern Angle angle(DAngle);
379 8a3b2ceb 2004-04-24 devnull extern void prdesc(char*, char*(*)[2], short*);
380 8a3b2ceb 2004-04-24 devnull extern double xsqrt(double);
381 8a3b2ceb 2004-04-24 devnull extern Angle dist(Angle, Angle, Angle, Angle);
382 8a3b2ceb 2004-04-24 devnull extern Header* getheader(char*);
383 8a3b2ceb 2004-04-24 devnull extern char* getword(char*, char*);
384 8a3b2ceb 2004-04-24 devnull extern void amdinv(Header*, Angle, Angle, float, float);
385 8a3b2ceb 2004-04-24 devnull extern void ppoinv(Header*, Angle, Angle);
386 8a3b2ceb 2004-04-24 devnull extern void xypos(Header*, Angle, Angle, float, float);
387 8a3b2ceb 2004-04-24 devnull extern void traneqstd(Header*, Angle, Angle);
388 8a3b2ceb 2004-04-24 devnull extern Angle getra(char*);
389 8a3b2ceb 2004-04-24 devnull extern Angle getdec(char*);
390 8a3b2ceb 2004-04-24 devnull extern void getplates(void);
391 8a3b2ceb 2004-04-24 devnull extern Img* dssread(char*);
392 8a3b2ceb 2004-04-24 devnull extern void hinv(Pix*, int, int);
393 8a3b2ceb 2004-04-24 devnull extern int input_bit(Biobuf*);
394 8a3b2ceb 2004-04-24 devnull extern int input_nbits(Biobuf*, int);
395 8a3b2ceb 2004-04-24 devnull extern int input_huffman(Biobuf*);
396 8a3b2ceb 2004-04-24 devnull extern int input_nybble(Biobuf*);
397 8a3b2ceb 2004-04-24 devnull extern void qtree_decode(Biobuf*, Pix*, int, int, int, int);
398 8a3b2ceb 2004-04-24 devnull extern void start_inputing_bits(void);
399 8a3b2ceb 2004-04-24 devnull extern Picture* image(Angle, Angle, Angle, Angle);
400 8a3b2ceb 2004-04-24 devnull extern char* dssmount(int);
401 8a3b2ceb 2004-04-24 devnull extern int dogamma(Pix);
402 8a3b2ceb 2004-04-24 devnull extern void displaypic(Picture*);
403 8a3b2ceb 2004-04-24 devnull extern void displayimage(Image*);
404 8a3b2ceb 2004-04-24 devnull extern void plot(char*);
405 8a3b2ceb 2004-04-24 devnull extern void astro(char*, int);
406 8a3b2ceb 2004-04-24 devnull extern char* alpha(char*, char*);
407 8a3b2ceb 2004-04-24 devnull extern char* skipbl(char*);
408 8a3b2ceb 2004-04-24 devnull extern void flatten(void);
409 8a3b2ceb 2004-04-24 devnull extern int bbox(long, long, int);
410 8a3b2ceb 2004-04-24 devnull extern int inbbox(DAngle, DAngle);
411 8a3b2ceb 2004-04-24 devnull extern char* nameof(Record*);
412 8a3b2ceb 2004-04-24 devnull
413 8a3b2ceb 2004-04-24 devnull #define NINDEX 400