Added script front-end for primer-design code
[htsworkflow.git] / htswanalysis / MACS / lib / gsl / gsl-1.11 / linalg / tridiag.h
1 /* linalg/tridiag.h
2  * 
3  * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002 Gerard Jungman,
4  * Brian Gough, David Necas
5  * 
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or (at
9  * your option) any later version.
10  * 
11  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  */
20
21 /* Author:  G. Jungman
22  */
23 /* Low level tridiagonal solvers.
24  * Used internally in other areas of GSL.
25  */
26 #ifndef __GSL_TRIDIAG_H__
27 #define __GSL_TRIDIAG_H__
28
29 #include <stdlib.h>
30
31 static
32 int solve_tridiag_nonsym(
33   const double diag[], size_t d_stride,
34   const double abovediag[], size_t a_stride,
35   const double belowdiag[], size_t b_stride,
36   const double rhs[], size_t r_stride,
37   double x[], size_t x_stride,
38   size_t N
39   );
40
41 static
42 int solve_tridiag(
43   const double diag[], size_t d_stride,
44   const double offdiag[], size_t o_stride,
45   const double b[], size_t b_stride,
46   double x[], size_t x_stride,
47   size_t N);
48
49 static
50 int solve_cyc_tridiag(
51   const double diag[], size_t d_stride,
52   const double offdiag[], size_t o_stride,
53   const double b[], size_t b_stride,
54   double x[], size_t x_stride,
55   size_t N
56   );
57
58 static
59 int solve_cyc_tridiag_nonsym(
60   const double diag[], size_t d_stride,
61   const double abovediag[], size_t a_stride,
62   const double belowdiag[], size_t b_stride,
63   const double rhs[], size_t r_stride,
64   double x[], size_t x_stride,
65   size_t N);
66
67 #endif /* __GSL_TRIDIAG_H__ */