/* TEMPO Version 1.193, 02/03/98, Copyright (c) IRISA/INRIA-Universite de Rennes */ /* call signature of entry point romberg: binding times of formals: r D, a D, b D */ extern float f(float); extern void romberg_2(float (*)[10], float, float); extern void romberg_2/*0*/(float (*r)[10], float a, float b) /* binding times of formals: r D, a D, b D evaluation time of body: D evaluation times of pairings: D, D, D */ { float h; float s; h = b - a; (r[0])[0] = (double)((f(a) + f(b)) * h) / 2.0; h = (double)h / 2.0; s = 0.0F + f(a + (float)1.000000 * h); (r[1])[0] = (double)(r[0])[0] / 2.0 + (double)(h * s); (r[1])[1] = (r[1])[0] + (float)0.333333 * ((r[1])[0] - (r[0])[0]); h = (double)h / 2.0; s = 0.0F + f(a + (float)1.000000 * h) + f(a + (float)3.000000 * h); (r[2])[0] = (double)(r[1])[0] / 2.0 + (double)(h * s); (r[2])[1] = (r[2])[0] + (float)0.333333 * ((r[2])[0] - (r[1])[0]); (r[2])[2] = (r[2])[1] + (float)0.066667 * ((r[2])[1] - (r[1])[1]); return; }