protected static float Dot(int[] g, float x, float y, float z, float t) { return g[0]*x + g[1]*y + g[2]*z + g[3]*t; }