public double getValueLegdGauss(double a, double b, double eps) {
		int m, i, j;
		double s, p, ep, h, aa, bb, w, x, g = 0;

		// 勒让德－高斯求积系数
		double[] t = { -0.9061798459, -0.5384693101, 0.0, 0.5384693101,
				0.9061798459 };
		double[] c = { 0.2369268851, 0.4786286705, 0.5688888889, 0.4786286705,
				0.2369268851 };

		// 迭代初值
		m = 1;
		h = b - a;
		s = Math.abs(0.001 * h);
		p = 1.0e+35;
		ep = eps + 1.0;

		// 迭代计算
		while ((ep >= eps) && (Math.abs(h) > s)) {
			g = 0.0;
			for (i = 1; i <= m; i++) {
				aa = a + (i - 1.0) * h;
				bb = a + i * h;
				w = 0.0;

				for (j = 0; j <= 4; j++) {
					x = ((bb - aa) * t[j] + (bb + aa)) * 0.5;
					w = w + func(x) * c[j];
				}

				g = g + w;
			}

			g = g * h * 0.5;
			ep = Math.abs(g - p) / (1.0 + Math.abs(g));
			p = g;
			m = m + 1;
			h = (b - a) / m;
		}

		return (g);
	}