This function computes the Cauchy principal value of the integral of @math{f} over @math{(a,b)}, with a singularity at c,
The adaptive bisection algorithm of QAG is used, with modifications to ensure that subdivisions do not occur at the singular point @math{x = c}. When a subinterval contains the point @math{x = c} or is close to it then a special 25-point modified Clenshaw-Curtis rule is used to control the singularity. Further away from the singularity the algorithm uses an ordinary 15-point Gauss-Kronrod integration rule.