I have looked at the quadrature routines: -in gsl: it seems that qags routine is called: this is a sophisticated procedure with step adaptation, and convergence acceleration with the epsilon-algorithm. This should integrate some singular functions and discontinuous functions. -in scipy: things look not so sophisticated, but it's difficult to understand what is really used!
*All* this is from quadpack (you can find quadpack on netlib), transcripted to C for the gsl. The gsl routine is certainly expensive, but robust. This is more or less the most "universal" method (but a universal method of integration cannot exist...), certainly too powerfull in many cases... I would recommend to keep it. t.d.
<<attachment: tdumont.vcf>>
smime.p7s
Description: S/MIME Cryptographic Signature