3 * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or (at
8 * your option) any later version.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #include <gsl/gsl_integration.h>
23 /* Gauss quadrature weights and kronrod quadrature abscissae and
24 weights as evaluated with 80 decimal digit arithmetic by
25 L. W. Fullerton, Bell Labs, Nov. 1981. */
27 static const double xgk[8] = /* abscissae of the 15-point kronrod rule */
29 0.991455371120812639206854697526329,
30 0.949107912342758524526189684047851,
31 0.864864423359769072789712788640926,
32 0.741531185599394439863864773280788,
33 0.586087235467691130294144838258730,
34 0.405845151377397166906606412076961,
35 0.207784955007898467600689403773245,
36 0.000000000000000000000000000000000
39 /* xgk[1], xgk[3], ... abscissae of the 7-point gauss rule.
40 xgk[0], xgk[2], ... abscissae to optimally extend the 7-point gauss rule */
42 static const double wg[4] = /* weights of the 7-point gauss rule */
44 0.129484966168869693270611432679082,
45 0.279705391489276667901467771423780,
46 0.381830050505118944950369775488975,
47 0.417959183673469387755102040816327
50 static const double wgk[8] = /* weights of the 15-point kronrod rule */
52 0.022935322010529224963732008058970,
53 0.063092092629978553290700663189204,
54 0.104790010322250183839876322541518,
55 0.140653259715525918745189590510238,
56 0.169004726639267902826583426598550,
57 0.190350578064785409913256402421014,
58 0.204432940075298892414161999234649,
59 0.209482141084727828012999174891714
63 gsl_integration_qk15 (const gsl_function * f, double a, double b,
64 double *result, double *abserr,
65 double *resabs, double *resasc)
67 double fv1[8], fv2[8];
68 gsl_integration_qk (8, xgk, wg, wgk, fv1, fv2, f, a, b, result, abserr, resabs, resasc);