static int obj_binary (Now *np, Obj *op) { /* always compute circumstances of primary */ if (obj_fixed (np, op) < 0) return (0); /* compute secondary only if requested, and always reset request flag */ if (!op->b_2compute) return (0); op->b_2compute = 0; return (obj_2binary (np, op)); }
/* given a Now and an Obj, fill in the approprirate s_* fields within Obj. * return 0 if all ok, else -1. */ int obj_cir (Now *np, Obj *op) { op->o_flags &= ~NOCIRCUM; switch (op->o_type) { case FIXED: return (obj_fixed (np, op)); ; default: printf ("obj_cir() called with type %d %s\n", op->o_type, op->o_name); abort(); return (-1); /* just for lint */ } }
/* given a Now and an Obj, fill in the approprirate s_* fields within Obj. * return 0 if all ok, else -1. */ int obj_cir (Now *np, Obj *op) { op->o_flags &= ~NOCIRCUM; switch (op->o_type) { case BINARYSTAR: return (obj_binary (np, op)); case FIXED: return (obj_fixed (np, op)); case ELLIPTICAL: return (obj_elliptical (np, op)); case HYPERBOLIC: return (obj_hyperbolic (np, op)); case PARABOLIC: return (obj_parabolic (np, op)); case EARTHSAT: return (obj_earthsat (np, op)); case PLANET: return (obj_planet (np, op)); default: printf ("obj_cir() called with type %d %s\n", op->o_type, op->o_name); abort(); return (-1); /* just for lint */ } }