Blame


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