float F(t, y, i) /* the rigid body eqns */ float t, *y ; int i; { switch (i) { case 0 : return(y[1]*y[2]*(I[1]-I[2])/I[0]); break; case 1 : return(y[2]*y[0]*(I[2]-I[0])/I[1]); break; case 2 : return(y[0]*y[1]*(I[0]-I[1])/I[2]); break; case 3 : return(y[4]*y[2] - y[5]*y[1]); break; case 4 : return(y[5]*y[0]-y[3]*y[2]); break; case 5 : return(y[3]*y[1]-y[4]*y[0]); break; case 6 : return(y[7]*y[2]-y[8]*y[1]); break; case 7 : return(y[8]*y[0]-y[6]*y[2]); break; case 8 : return(y[6]*y[1]-y[7]*y[0]); break; case 9 : return(y[10]*y[2]-y[11]*y[1]); break; case 10 : return(y[11]*y[0]-y[9]*y[2]); break; case 11 : return(y[9]*y[1]-y[10]*y[0]); break; } }