Commit Diff


commit - 372e9667dfd5fcce89be447b5bbc169c8a43322e
commit + 2ce287bb130ff77a6547a582fe7df6a28aefedfb
blob - bfd11dc08ebc50baaa97c9d5fd5e4004a069a7cb
blob + 3d6bc2b2a473ab6d1d610ab699e5a8eed0505c0e
--- src/cmd/astro/comet.c
+++ src/cmd/astro/comet.c
@@ -2,23 +2,38 @@
 
 #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),
@@ -73,15 +88,14 @@ comet(void)
 		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)