13e12c5d1SDavid du Colombier #include "astro.h"
23e12c5d1SDavid du Colombier
33e12c5d1SDavid du Colombier void
output(char * s,Obj1 * p)43e12c5d1SDavid du Colombier output(char *s, Obj1 *p)
53e12c5d1SDavid du Colombier {
63e12c5d1SDavid du Colombier
73e12c5d1SDavid du Colombier if(s == 0)
83e12c5d1SDavid du Colombier print(" SAO %5ld", sao);
93e12c5d1SDavid du Colombier else
103e12c5d1SDavid du Colombier print("%10s", s);
113e12c5d1SDavid du Colombier print(" %R %D %9.4f %9.4f %9.4f",
123e12c5d1SDavid du Colombier p->ra, p->decl2, p->az, p->el, p->semi2);
133e12c5d1SDavid du Colombier if(s == osun.name || s == omoon.name)
143e12c5d1SDavid du Colombier print(" %7.4f", p->mag);
153e12c5d1SDavid du Colombier print("\n");
163e12c5d1SDavid du Colombier }
173e12c5d1SDavid du Colombier
183e12c5d1SDavid du Colombier int
Rconv(Fmt * f)19*9a747e4fSDavid du Colombier Rconv(Fmt *f)
203e12c5d1SDavid du Colombier {
213e12c5d1SDavid du Colombier double v;
223e12c5d1SDavid du Colombier int h, m, c;
233e12c5d1SDavid du Colombier
24*9a747e4fSDavid du Colombier v = va_arg(f->args, double);
253e12c5d1SDavid du Colombier v = fmod(v*12/pi, 24); /* now hours */
263e12c5d1SDavid du Colombier h = floor(v);
273e12c5d1SDavid du Colombier v = fmod((v-h)*60, 60); /* now leftover minutes */
283e12c5d1SDavid du Colombier m = floor(v);
293e12c5d1SDavid du Colombier v = fmod((v-m)*60, 60); /* now leftover seconds */
303e12c5d1SDavid du Colombier c = floor(v);
31*9a747e4fSDavid du Colombier return fmtprint(f, "%2dh%.2dm%.2ds", h, m, c);
323e12c5d1SDavid du Colombier }
333e12c5d1SDavid du Colombier
343e12c5d1SDavid du Colombier int
Dconv(Fmt * f1)35*9a747e4fSDavid du Colombier Dconv(Fmt *f1)
363e12c5d1SDavid du Colombier {
373e12c5d1SDavid du Colombier double v;
383e12c5d1SDavid du Colombier int h, m, c, f;
393e12c5d1SDavid du Colombier
40*9a747e4fSDavid du Colombier v = va_arg(f1->args, double);
413e12c5d1SDavid du Colombier v = fmod(v/radian, 360); /* now degrees */
423e12c5d1SDavid du Colombier f = 0;
433e12c5d1SDavid du Colombier if(v > 180) {
443e12c5d1SDavid du Colombier v = 360 - v;
453e12c5d1SDavid du Colombier f = 1;
463e12c5d1SDavid du Colombier }
473e12c5d1SDavid du Colombier h = floor(v);
483e12c5d1SDavid du Colombier v = fmod((v-h)*60, 60); /* now leftover minutes */
493e12c5d1SDavid du Colombier m = floor(v);
503e12c5d1SDavid du Colombier v = fmod((v-m)*60, 60); /* now leftover seconds */
513e12c5d1SDavid du Colombier c = floor(v);
52*9a747e4fSDavid du Colombier return fmtprint(f1, "%c%.2d°%.2d'%.2d\"", "+-"[f], h, m, c);
533e12c5d1SDavid du Colombier }
54