function q = gauss5 ( a, b, f )

  n = 5;

  x = zeros ( n, 1 );
  x(1) = -0.906179845938663992797626878299;
  x(2) = -0.538469310105683091036314420700;
  x(3) = 0.000000000000000000000000000000;
  x(4) = 0.538469310105683091036314420700;
  x(5) = 0.906179845938663992797626878299;

  w = zeros ( n, 1 );
  w(1) = 0.236926885056189087514264040720;
  w(2) = 0.478628670499366468041291514836;
  w(3) = 0.568888888888888888888888888889;
  w(4) = 0.478628670499366468041291514836;
  w(5) = 0.236926885056189087514264040720;
%
%  Transform from [-1,+1] to [a,b].
%
  x = ( ( 1.0 - x ) * a + ( 1.0 + x ) * b ) / 2.0;
  w = w * ( b - a ) / 2.0;

  q = w' * f ( x );

  return
end
