diff options
| author | wkj <devnull@localhost> | 2004-04-21 02:16:43 +0000 |
|---|---|---|
| committer | wkj <devnull@localhost> | 2004-04-21 02:16:43 +0000 |
| commit | cd5bae7871bc0f0bc68b4d2a84703929a7a3c9d1 (patch) | |
| tree | 336db54785d2b77113a6e570574be715c7eb7d1d /src/cmd/astro/output.c | |
| parent | 95f57b01e21feb457e79eaf52d593422c318024f (diff) | |
| download | plan9port-cd5bae7871bc0f0bc68b4d2a84703929a7a3c9d1.tar.gz plan9port-cd5bae7871bc0f0bc68b4d2a84703929a7a3c9d1.zip | |
Astro with some minor changes to placate Unix.
Diffstat (limited to 'src/cmd/astro/output.c')
| -rw-r--r-- | src/cmd/astro/output.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/cmd/astro/output.c b/src/cmd/astro/output.c new file mode 100644 index 00000000..7c4c2797 --- /dev/null +++ b/src/cmd/astro/output.c @@ -0,0 +1,53 @@ +#include "astro.h" + +void +output(char *s, Obj1 *p) +{ + + if(s == 0) + print(" SAO %5ld", sao); + else + print("%10s", s); + print(" %R %D %9.4f %9.4f %9.4f", + p->ra, p->decl2, p->az, p->el, p->semi2); + if(s == osun.name || s == omoon.name) + print(" %7.4f", p->mag); + print("\n"); +} + +int +Rconv(Fmt *f) +{ + double v; + int h, m, c; + + v = va_arg(f->args, double); + v = fmod(v*12/pi, 24); /* now hours */ + h = floor(v); + v = fmod((v-h)*60, 60); /* now leftover minutes */ + m = floor(v); + v = fmod((v-m)*60, 60); /* now leftover seconds */ + c = floor(v); + return fmtprint(f, "%2dh%.2dm%.2ds", h, m, c); +} + +int +Dconv(Fmt *f1) +{ + double v; + int h, m, c, f; + + v = va_arg(f1->args, double); + v = fmod(v/radian, 360); /* now degrees */ + f = 0; + if(v > 180) { + v = 360 - v; + f = 1; + } + h = floor(v); + v = fmod((v-h)*60, 60); /* now leftover minutes */ + m = floor(v); + v = fmod((v-m)*60, 60); /* now leftover seconds */ + c = floor(v); + return fmtprint(f1, "%c%.2d°%.2d'%.2d\"", "+-"[f], h, m, c); +} |
