Blame


1 cd5bae78 2004-04-21 devnull #include "astro.h"
2 cd5bae78 2004-04-21 devnull
3 cd5bae78 2004-04-21 devnull void
4 cd5bae78 2004-04-21 devnull output(char *s, Obj1 *p)
5 cd5bae78 2004-04-21 devnull {
6 cd5bae78 2004-04-21 devnull
7 cd5bae78 2004-04-21 devnull if(s == 0)
8 cd5bae78 2004-04-21 devnull print(" SAO %5ld", sao);
9 cd5bae78 2004-04-21 devnull else
10 cd5bae78 2004-04-21 devnull print("%10s", s);
11 cd5bae78 2004-04-21 devnull print(" %R %D %9.4f %9.4f %9.4f",
12 cd5bae78 2004-04-21 devnull p->ra, p->decl2, p->az, p->el, p->semi2);
13 cd5bae78 2004-04-21 devnull if(s == osun.name || s == omoon.name)
14 cd5bae78 2004-04-21 devnull print(" %7.4f", p->mag);
15 cd5bae78 2004-04-21 devnull print("\n");
16 cd5bae78 2004-04-21 devnull }
17 cd5bae78 2004-04-21 devnull
18 cd5bae78 2004-04-21 devnull int
19 cd5bae78 2004-04-21 devnull Rconv(Fmt *f)
20 cd5bae78 2004-04-21 devnull {
21 cd5bae78 2004-04-21 devnull double v;
22 cd5bae78 2004-04-21 devnull int h, m, c;
23 cd5bae78 2004-04-21 devnull
24 cd5bae78 2004-04-21 devnull v = va_arg(f->args, double);
25 cd5bae78 2004-04-21 devnull v = fmod(v*12/pi, 24); /* now hours */
26 cd5bae78 2004-04-21 devnull h = floor(v);
27 cd5bae78 2004-04-21 devnull v = fmod((v-h)*60, 60); /* now leftover minutes */
28 cd5bae78 2004-04-21 devnull m = floor(v);
29 cd5bae78 2004-04-21 devnull v = fmod((v-m)*60, 60); /* now leftover seconds */
30 cd5bae78 2004-04-21 devnull c = floor(v);
31 cd5bae78 2004-04-21 devnull return fmtprint(f, "%2dh%.2dm%.2ds", h, m, c);
32 cd5bae78 2004-04-21 devnull }
33 cd5bae78 2004-04-21 devnull
34 cd5bae78 2004-04-21 devnull int
35 cd5bae78 2004-04-21 devnull Dconv(Fmt *f1)
36 cd5bae78 2004-04-21 devnull {
37 cd5bae78 2004-04-21 devnull double v;
38 cd5bae78 2004-04-21 devnull int h, m, c, f;
39 cd5bae78 2004-04-21 devnull
40 cd5bae78 2004-04-21 devnull v = va_arg(f1->args, double);
41 cd5bae78 2004-04-21 devnull v = fmod(v/radian, 360); /* now degrees */
42 cd5bae78 2004-04-21 devnull f = 0;
43 cd5bae78 2004-04-21 devnull if(v > 180) {
44 cd5bae78 2004-04-21 devnull v = 360 - v;
45 cd5bae78 2004-04-21 devnull f = 1;
46 cd5bae78 2004-04-21 devnull }
47 cd5bae78 2004-04-21 devnull h = floor(v);
48 cd5bae78 2004-04-21 devnull v = fmod((v-h)*60, 60); /* now leftover minutes */
49 cd5bae78 2004-04-21 devnull m = floor(v);
50 cd5bae78 2004-04-21 devnull v = fmod((v-m)*60, 60); /* now leftover seconds */
51 cd5bae78 2004-04-21 devnull c = floor(v);
52 cd5bae78 2004-04-21 devnull return fmtprint(f1, "%c%.2d°%.2d'%.2d\"", "+-"[f], h, m, c);
53 cd5bae78 2004-04-21 devnull }