commit - 372e9667dfd5fcce89be447b5bbc169c8a43322e
commit + 2ce287bb130ff77a6547a582fe7df6a28aefedfb
blob - bfd11dc08ebc50baaa97c9d5fd5e4004a069a7cb
blob + 3d6bc2b2a473ab6d1d610ab699e5a8eed0505c0e
--- src/cmd/astro/comet.c
+++ src/cmd/astro/comet.c
#define MAXE (.999) /* cant do hyperbolas */
+struct elem
+{
+ double t; /* time of perihelion */
+ double q; /* perihelion distance */
+ double e; /* eccentricity */
+ double i; /* inclination */
+ double w; /* argument of perihelion */
+ double o; /* longitude of ascending node */
+};
+
+struct elem
+mkelem(double t, double q, double e, double i, double w, double o)
+{
+ struct elem el;
+
+ el.t = t;
+ el.q = q;
+ el.e = e;
+ el.i = i;
+ el.w = w;
+ el.o = o;
+ return el;
+}
+
void
comet(void)
{
double pturbl, pturbb, pturbr;
double lograd;
double dele, enom, vnom, nd, sl;
+ struct elem elem;
- struct elem
- {
- double t; /* time of perihelion */
- double q; /* perihelion distance */
- double e; /* eccentricity */
- double i; /* inclination */
- double w; /* argument of perihelion */
- double o; /* longitude of ascending node */
- } elem;
-
/* elem = (struct elem)
{
etdate(1990, 5, 19.293),
151.0510,
83.1909,
}; /*C/1999 S4 (Linear) */
- elem=(struct elem)
- {
+ elem = mkelem(
etdate(2002, 3, 18.9784),
0.5070601,
0.990111,
28.12106,
34.6666,
- 93.1206,
- }; /*C/2002 C1 (Ikeya-Zhang) */
+ 93.1206
+ ); /*C/2002 C1 (Ikeya-Zhang) */
ecc = elem.e;
if(ecc > MAXE)