The continuous fast multipole method