Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

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