35 #ifndef TEMPLATE_LAPACK_LAGTS_HEADER
36 #define TEMPLATE_LAPACK_LAGTS_HEADER
41 const Treal *b,
const Treal *c__,
const Treal *d__,
const integer *in,
42 Treal *y, Treal *tol,
integer *info)
139 Treal d__1, d__2, d__3, d__4, d__5;
143 Treal absak, sfmin, ak;
155 if (
absMACRO(*job) > 2 || *job == 0) {
184 for (k = 3; k <= i__1; ++k) {
187 d__5), d__5 = (d__2 = b[k - 1],
absMACRO(d__2)), d__4 =
201 for (k = 2; k <= i__1; ++k) {
202 if (in[k - 1] == 0) {
203 y[k] -= c__[k - 1] * y[k - 1];
207 y[k] = temp - c__[k - 1] * y[k];
212 for (k = *n; k >= 1; --k) {
214 temp = y[k] - b[k] * y[k + 1] - d__[k] * y[k + 2];
215 }
else if (k == *n - 1) {
216 temp = y[k] - b[k] * y[k + 1];
224 if (absak == 0. ||
absMACRO(temp) * sfmin > absak) {
231 }
else if (
absMACRO(temp) > absak * bignum) {
240 for (k = *n; k >= 1; --k) {
242 temp = y[k] - b[k] * y[k + 1] - d__[k] * y[k + 2];
243 }
else if (k == *n - 1) {
244 temp = y[k] - b[k] * y[k + 1];
254 if (absak == 0. ||
absMACRO(temp) * sfmin > absak) {
262 }
else if (
absMACRO(temp) > absak * bignum) {
278 for (k = 1; k <= i__1; ++k) {
280 temp = y[k] - b[k - 1] * y[k - 1] - d__[k - 2] * y[k - 2];
282 temp = y[k] - b[k - 1] * y[k - 1];
290 if (absak == 0. ||
absMACRO(temp) * sfmin > absak) {
297 }
else if (
absMACRO(temp) > absak * bignum) {
307 for (k = 1; k <= i__1; ++k) {
309 temp = y[k] - b[k - 1] * y[k - 1] - d__[k - 2] * y[k - 2];
311 temp = y[k] - b[k - 1] * y[k - 1];
321 if (absak == 0. ||
absMACRO(temp) * sfmin > absak) {
329 }
else if (
absMACRO(temp) > absak * bignum) {
340 for (k = *n; k >= 2; --k) {
341 if (in[k - 1] == 0) {
342 y[k - 1] -= c__[k - 1] * y[k];
346 y[k] = temp - c__[k - 1] * y[k];
#define absMACRO(x)
Definition: template_blas_common.h:45
int integer
Definition: template_blas_common.h:38
#define maxMACRO(a, b)
Definition: template_blas_common.h:43
Treal template_lapack_d_sign(const Treal *a, const Treal *b)
Definition: template_lapack_lamch.h:46
int template_blas_erbla(const char *srname, integer *info)
Definition: template_blas_common.cc:144
int template_lapack_lagts(const integer *job, const integer *n, const Treal *a, const Treal *b, const Treal *c__, const Treal *d__, const integer *in, Treal *y, Treal *tol, integer *info)
Definition: template_lapack_lagts.h:40
Treal template_lapack_lamch(const char *cmach, Treal dummyReal)
Definition: template_lapack_lamch.h:199