% Numerical Integration Toolbox 
%
% MATLAB Toolbox for 1-D, 2-D, and n-D Numerical Integration
% 
% The original 1-D routines were obtained from NETLIB and were 
% written by
%          Howard Wilson
%          Department of Engineering Mechanics
%          University of Alabama
%          Box 870278
%          Tuscaloosa, Alabama 35487-0278
%          Phone 205 348-1617
%          Email address: HWILSON @ UA1VM.UA.EDU
% 
% The rest of the routines were written by
%          Bryce Gardner
%          Ray W. Herrick Laboratories
%          Purdue University
%          West Lafayette, IN 47906
%          Phone: 317-494-0231
%          Fax:  317-494-0787
%          Email:  gardner@ecn.purdue.edu
%
% Easy to use routines:  (these routines iteratively integrate with 
%			  higher order quadratures until the integral has
%			  converged--use these routine unless you want to
%			  specify the order of integration quadrature that
%			  is to be used)
%	   quadg.m	-- High accuracy replacement for QUAD and QUAD8 (1-D)
%	   quad2dg.m	-- 2-D integration over a rectangular region
%	   quad2dggen.m	-- 2-D integration over a general region
%	   quadndg.m	-- n-D integration over a n-D hyper-rectangular region
%          README.nit	-- introductory readme file
%
% The 1-D routines:
%          README	-- The original readme file by Howard Wilson
%          gquad.m	-- Integrates a 1-D function with input Gauss 
%			   points and weights (modified by Bryce Gardner to
%			   handle an optional parameter in the function to be
%			   integrated and also to calculate the Gauss points
%			   and weights on the fly)
%          gquad6.m	-- Integrates a 1-D function with a 6-point quadrature
%          grule.m	-- Calculates the Gauss points and weights
%          run.log	-- File with examples
%
%    New 1-D routines:
%	   quadg.m	-- High accuracy replacement for QUAD and QUAD8
%	   quadc.m	-- 1-D Gauss-Chebyshev integration routine
%          crule.m	-- Calculates the Gauss-Chebyshev points and weights
%          ncrule.m	-- Calculates the Newton-Coates points and weights
%
% The 2-D routines:
%	   quad2dg.m	-- 2-D integration over a rectangular region
%	   quad2dc.m	-- 2-D integration over a rectangular region with
%			   a 1/sqrt(1-x.^2)/sqrt(1-y.^2) sinqularity
%          gquad2d.m	-- Integrates a 2-D function over a square region
%          gquad2d6.m	-- Integrates a 2-D function over a square region with
%			   a 6-point quadrature
%	   quad2dggen.m	-- 2-D integration over a general region
%	   quad2dcgen.m	-- 2-D integration over a general region with
%			   a 1/sqrt(1-x.^2)/sqrt(1-y.^2) sinqularity
%          gquad2dgen.m -- Integrates a 2-D function over a variable region
%			   (That is the limits on the inner integration are
%			   defined by a function of the variable of integration
%			   of the outer integral.)
%          grule2d.m	-- Calculates the Gauss points and weights for gquad2d.m
%          grule2dgen.m -- Calculates the Gauss points and weights for 
%			   gquad2dgen.m
%          crule2d.m	-- Calculates the Gauss-Chebyshev points and weights 
%			   for gquad2d.m
%          crule2dgen.m -- Calculates the Gauss-Chebyshev points and weights 
%			   for gquad2dgen.m
%
% The n-D routines:
%          quadndg.m	-- n-D integration over an n-D hyper-rectangular region
%          gquadnd.m    -- Integrates a n-D function over 
%                          an n-D hyper-rectangular 
%			   region using a Gauss quadrature
%          cquadnd.m    -- Integrates a n-D function over 
%                          an n-D hyper-rectangular 
%			   region using a Gauss-Chebyshev quadrature
%          innerfun.m   -- used internally to gquadnd.m and cquadnd.m
%
% Utility routines:
%	   count.m	-- routine to count the number of function calls
%	   zero_count.m	-- routine to report the number of function calls and
%			   then to reset the counter
%
% Test scripts:
%          run2dtests.m	-- 2-D examples and 1-D Gauss-Chebyshev examples
%	   tests2d.log  -- output of run2dtests.m -- Matlab 4.1 on a Sparc 10
%	   test_ncrule.m-- m-file to check the Newton-Coates quadrature
%	   testsnc.log  -- output of test_ncrule.m -- Matlab 4.1 on a Sparc 10
%	   test_quadg.m -- m-file to check the quadg routine
%	   testsqg.log  -- output of test_quadg.m -- Matlab 4.1 on a Sparc 10
%
% Test functions:
%          xsquar.m	-- xsquar(x)=x.^2
%          xcubed.m	-- xcubed(x)=x.^3
%          x25.m	-- x25(x)=x.^25
%	   fxpow.m	-- fxpow(x,y)=x.^y
%          hx.m         -- hx(x)=sum(x.^2)
%          gxy.m	-- gxy(x,y)=x.^2+y.^2
%          gxy1.m	-- gxy1(x,y)=ones(size(x))
%          gxy2.m	-- gxy2(x,y)=sqrt(x.^2+y.^2)
%          glimh.m	-- glimh(y)=3
%          glimh2.m	-- glimh(y)=y
%          gliml.m	-- gliml(y)=0
%          lcrcl.m	-- lcrcl(y)=-sqrt(4-y.^2)
%          lcrcu.m	-- lcrcu(y)=sqrt(4-y.^2)
%
