DEFINITION MODULE IntMult;

   (* EXPORT QUALIFIED Quad3D; *)

   FROM NRMath IMPORT RealFunction,  RealFunction2D,   RealFunction3D;

   PROCEDURE Quad3D(    x1, x2: REAL; 
                        func:   RealFunction3D;
                        y1, y2: RealFunction;
                        z1, z2: RealFunction2D;
                    VAR ss:     REAL); 
   (*
     Returns the integral of the function func over a three-dimensional 
     region specified by the limits x1, x2, and by the user-supplied functions 
     y1, y2, z1, and z2, as defined in (4.6.2). Integration is performed by 
     recursively calling a customized version of QGaus, here called QGaus3. 
     The parameter n in the routine labels the level of recursion. n=1 for the 
     x integration, n=2 for the y integration, while n=3 for the z integration.
   *)

END IntMult.
