Multidimensional quadrature algorithms